1.0.0 CD31 IHC Vessel Quantification
Application Name | CD31 IHC Vessel Quantification |
Version | 1.0.0 |
Documentation Version | 29.02.2024 - 1 |
Input Image(s) | 2D (standard and/or WSI) / Time Series / z-Stack / Multichannel Images; RGB (8 bit) |
Input Parameter(s) |
|
Keywords | CD31, vessel detection, morphometry, immunohistochemistry, brightfield, vascular density |
Short Description | Quantification of CD31 stained blood vessels in IHC brightfield images. The app calculates individual morphology, count, and density of the vessels. |
References / Literature | Blond McIndoe Lab, University of Manchester |
Table of contents
Application description
Quantification of CD31 stained blood vessels in IHC brightfield images. The application calculates individual morphology, count, and density of the vessels.
This analysis can also be performed on time-lapse recordings (Time Series), z-stacks or multichannel images.
In the following, the prerequisites for an accurate analysis are outlined and the output of the application is described.
Input data requirements
Input image(s)
Input for this application is the following image data:
Image type | Color channels | Color depth (per channel) | Size (px) | Resolution (μm/px) |
---|---|---|---|---|
2D (standard and/or WSI), Time Series, Multichannel, Z-stack*
Check image format | 3 (RGB) | 8 Bit | WSI formats: arbitrary Standard images: max. 25,000 x 25,000 |
|
Image content Brightfield microscopy image of CD31 stained tissue. Additional requirements None |
*Please note: Z-stack images cannot be uploaded into IKOSA but still can be analyzed via IKOSA Prisma API.
Important:
For all images, the following requirements apply:
The illumination must be constant throughout the image(s).
The sample must be in focus, i.e. no blurry regions in image(s).
Input parameter(s)
No additional input parameters are required for this application.
As an optional parameter, a single or multiple regions of interest (ROIs) can be defined in which the analysis should be performed (‘inclusion ROIs’).
Please note: Parameters that were set during training may affect also prediction with the deployed application. More information can be found under How to set custom training parameter values?.
Description of output files and their content
Files
File format | Description | |
---|---|---|
1 | csv | results.csv A csv file containing the overall analysis results for the input image or all inclusion ROIs. |
2 | csv | results_01_vessels.csv A csv file containing the analysis results for all detected blood vessels in the input image or inclusion ROIs. |
3 | jpg | results_vis/01_vessels_vis.jpg (2D image, no ROI), or results_vis/01_vessels_t<time-step>_z<z-layer>_c<channel>.jpg (for time series, z-stack, or multichannel image, no ROI), or results_vis/01_vessels_<roi-id>.jpg (2D image, ROI <roi-id>), or results_vis/01_vessels_t<time-step>_z<z-layer>_c<channel>_<roi-id>.jpg for time series, z-stack, or multichannel image, ROI <roi-id>): A visualization of the analysis result for a specific time step (of a time series), z-layer (of a z-stack), or channel (of a multichannel image) for either the whole image (if no inclusion ROIs selected for analysis) or each individual inclusion ROI, for each class number <xx> with class name <class-name> (in training data). Each visualization includes two parts:
|
4 | json | annotation_results.json A json file that includes geometries of the objects detected in the input image or inclusion ROIs. |
5 | json | roiMeta.json A json file containing all information regarding the ROIs defined for the analysis job to ensure reproducibility. Also, information regarding image and analysis dimensions is provided. |
6 | jpg | rois_visualization.jpg or t<time-step>_z<z-layer>_c<channel>_rois_visualization.jpg An overview visualization to show locations of all analyzed ROIs for the 2D image or time step <time-step> of a time series, z-layer <z-layer> of a z-stack, or channel <channel> of a multichannel image. |
7 | json | jobResultBundleMeta.json A json file containing all information regarding the analysis job (application name and version, project, etc.) to ensure reproducibility. |
Content
results.csv
Single csv-file
If one or more time steps (of a Time Series), z-layers (of a z-Stack), or channels (of a multichannel image) were specified, the results in a specific row refer to the time step/z-layer/channel specified in the corresponding column.
If one or more ROIs were specified, the results in a specific row refer to the ROI specified in the corresponding columns, otherwise (empty ROI columns) the results refer to the whole image.
Column NO. | Column name | Examples | Value range | Description |
---|---|---|---|---|
1 | t | 3 | 1 - | Time step, i.e. the position of the image in the time series. |
2 | z | 5 | 1 - | z-layer, i.e. the position of the layer in the z-stack. |
3 | c | 2 | 1 - | Channel, i.e. the position of the channel in the multichannel image. |
4 | roi_id | ROI-03 | ROI-01 - | <roi-id> starting from “ROI1”. Empty, if no inclusion ROI is specified and the whole image was analyzed. |
5 | roi_name | “central” | text | Custom text to identify the ROI. Empty, if no inclusion ROI is specified and the whole image was analyzed. |
6 | roi_size [Px^2] | 1212212 | 1 - | Size of the ROI that was analyzed in pixels^2. The size of the whole image is given if no inclusion ROI is specified and the whole image was analyzed. |
7 | vessels_total_num_objects | 788 | 1 - | Total number of objects which are detected in the image/ROI. |
8 | vessels_on_border_num_objects | 12 | 0 - total_num_objects | Number of objects which are detected in the image/ROI and touch the border of the image/ROI. |
9 | vessels_holes_num_objects | 3 | 0 - total_num_objects | Number of objects which are detected in the image/ROI and have holes (>=1 pixel). |
10 | vessels_recombined_num_objects | 4 | 0 - total_num_objects | Number of objects which are detected at tile borders of image (tile size: 2048x2048 pixels) and are recombined. |
11 | vessels_density_num_objects [1/Px^2] | 0.0007514953 | 0 - 1 | Total number of objects divided by area of image/ROI. |
12 | vessels_total_area_objects [Px^2] | 101863 | 8 - #pixels | Total area of objects which are detected in the image/ROI. |
13 | vessels_density_area_objects | 0.0971441268 | 0 - 1 | Total area of objects divided by area of image/ROI. |
14 | vessels_mean_area_objects [Px^2] | 14.324523 | 8 - #pixels | Mean area of detected objects in Pixels^2. |
15 | vessels_stddev_area_objects [Px^2] | 1.213133 | 0 - #pixels | Standard deviation of area of detected objects in Pixels^2. |
16 | vessels_median_area_objects [Px^2] | 13.983252 | 8 - # pixels | Median area of detected objects in Pixels^2. |
17 | vessels_mean_distance [Px] | 13.5016475693 | 0 - | Mean distance (center-to-center) between detected objects in Pixels. The distance is calculated by the nearest-neighbor distance to other objects of the same type. |
18 | vessels_stddev_distance [Px] | 5.5485792042 | 0 - | Standard deviation of distances between detected objects in Pixels. The distance is calculated by the nearest-neighbor distance to other objects of the same type. |
19 | vessels_median_distance [Px] | 12.529964086 | 0 - | Median distance between detected objects in Pixels. The distance is calculated by the nearest-neighbor distance to other objects of the same type. |
20 | vessels_mean_bbox_area [Px^2] | 202.03426395 | 8 - | Mean area of bounding box of detected objects in Pixels^2. |
21 | vessels_mean_area_ratio [%] | 0.0124492385 | 0 - 100 | Mean area of detected object as percentage of overall image area or ROI area inside the image. |
22 | vessels_mean_perimeter [Px] | 40.434010152 | 8 - | Mean perimeter of detected objects in Pixels. |
23 | vessels_mean_circularity | 0.92114213197 | 0 - ~1 | Mean circularity factor of detected objects. Circularity = 4*pi*area/(perimeter^2). The circularity of a circle is 1. Note: Detected objects with a circularity of infinity are ignored when calculating mean_circularity. |
24 | vessels_mean_circularity_ISO | 0.85114213197 | 0 - ~1 | Mean circularity factor of detected objects calculated by ISO defintion. |
25 | vessels_mean_solidity | 0.9310659898 | 0 - 1 | Mean solidity value of all detected objects. Solidity is calculated out of the ratio of an object’s area to the area of its convex hull. |
26 | vessels_mean_eccentricity | 0.7109644670 | 0 - 1 | Mean eccentricity of all detected objects. Eccentricity of the ellipse that has the same second-moments as the object area. The eccentricity is the ratio of the focal distance (distance between focal points) over the major axis length. When it is 0, the ellipse becomes a circle. |
27 | vessels_mean_equivalent_diameter [Px] | 11.737309644 | 1 - | Mean equivalent diameter of all detected objects. The equivalent diameter is the diameter of a circle having the same area as the detected object. |
28 | vessels_mean_extent | 0.709022842 | 0 - 1 | Mean extent of all detected objects. The extent value is the ratio of the object area to the total bounding box area. |
29 | vessels_mean_minor_axis_length [Px] | 9.4835025380 | 1 - | Mean minor axis length of all detected objects. The minor axis length is the length of the minor axis of the ellipse that has the same normalized second central moments as the object. |
30 | vessels_mean_major_axis_length [Px] | 15.843908629 | 1 - | Mean major axis length of all detected objects. The major axis length is the length of the major axis of the ellipse that has the same normalized second central moments as the object. |
results_01_vessels.csv
Single csv-file
If one or more time steps (of a Time Series), z-layers (of a z-Stack), or channels (of a multichannel image) were specified, the results in a specific row refer to the time step/z-layer/channel specified in the corresponding column.
If one or more ROIs were specified, the results in a specific row refer to the ROI specified in the corresponding columns, otherwise (empty ROI columns) the results refer to the whole image.
Column NO. | Column name | Examples | Value range | Description |
---|---|---|---|---|
1 | t | 3 | 1 - | Time step, i.e. the position of the image in the time series. |
2 | z | 5 | 1 - | z-layer, i.e. the position of the layer in the z-stack. |
3 | c | 2 | 1 - | Channel, i.e. the position of the channel in the multichannel image. |
4 | roi_id | ROI-03 | ROI-01 - | <roi-id> starting from “ROI1”. Empty, if no inclusion ROI is specified and the whole image was analyzed. |
5 | roi_name | “central” | text | Custom text to identify the ROI. Empty if no inclusion ROI is specified and the whole image was analyzed. |
6 | roi_size [Px^2] | 1212212 | 1 - | Size of the ROI that was analyzed in pixels^2. The size of the whole image is given if no inclusion ROI is specified and the whole image was analyzed. |
7 | bit depth [Bit] | 8 | 8, 16 | Bit/color depth of each channel of the image |
9 | object_id | 5 | 1 - | ID of detected object. More information regarding numbering can be found in Numbering (IDs) of objects in analysis results. |
10 | object_center_x | 741 | 1 - image/ROI width | x-coordinate of object center (centroid, starting from upper left corner, along image/ROI width). |
11 | object_center_y | 26 | 1 - image/ROI height | y-coordinate of object center (centroid, starting from upper left corner, along image/ROI height). |
12 | is_on_border | “True” | “True” or “False” | Boolean indicator to show if object is touching the border of the image/ROI. |
13 | has_holes | “False” | “True” or “False” | Boolean indicator to show if object has holes (>=1 pixel). |
14 | is_recombined | “False” | “True” or “False” | Boolean indicator to show if object was recombined because it was detected at tile borders of image (tile size: 2048x2048 pixels). |
15 | object_area [Px^2] | 174 | 8 - | Area of object in pixels^2. |
18 | distance_nearest_neighbor [Px] | 22.090722034 | 0 - | Distance (center-to-center) to the nearest other object of the same class in pixels. |
19 | bbox_area [Px^2] | 304 | 8 - | Area of bounding box of detected object in pixels^2. |
20 | area_ratio [%] | 0.02 | 0 - 100 | Area of detected object as percentage of overall image area or ROI area inside the image. |
21 | perimeter [Px] | 53 | 8 - | Perimeter of detected object in Pixels. |
22 | circularity | 0.78 | 0 - ~1 | Circularity of detected object. Circularity = 4*pi*area/(perimeter^2). The circularity of a circle is 1. |
23 | circularity_ISO | 0.65 | 0 - ~1 | Circularity of detected object calculated by ISO definition. |
24 | solidity | 0.97 | 0 - 1 | Solidity of detected object. Solidity is calculated out of the ratio of an object’s area to the area of its convex hull. |
25 | eccentricity | 0.92 | 0 - 1 | Eccentricity of detected object. Eccentricity of the ellipse that has the same second-moments as the object area. The eccentricity is the ratio of the focal distance (distance between focal points) over the major axis length. When it is 0, the ellipse becomes a circle. |
26 | equivalent_diameter [Px] | 14 | 1 - | Equivalent diameter of detected object. The equivalent diameter is the diameter of a circle having the same area as the detected object. |
27 | extent | 0.57 | 0 - 1 | Extent of detected object. The extent value is the ratio of the object area to the total bounding box area. |
28 | minor_axis_length [Px] | 9 | 1 - | Minor axis length of detected object. The minor axis length is the length of the minor axis of the ellipse that has the same normalized second central moments as the object. |
29 | major_axis_length [Px] | 23 | 1 - | Major axis length of detected object. The major axis length is the length of the major axis of the ellipse that has the same normalized second central moments as the object. |
Error information
More information about errors can be found in the Application Error Documentation.
Contact
If you have any questions about this app, as well as suggestions or ideas for new ones, email us at support@ikosa.ai.
Feel free to book a 30-minute meeting to speak with us about IKOSA and the apps!
Copyright 2024 KOLAIDO GmbH. IKOSA® is a registered EU trademark.