1.2.0 Sparkfinder Application Documentation

Application Name

Sparkfinder

Version

1.2.0

Documentation Version

20.09.2023 - 1

Input Image(s)

Multichannel Images (standard and/or WSI); max. 10 channels; 8 Bit or 16 Bit

Input Parameter(s)

  • Channel properties

    • channel name

    • channel color

    • channel type (cell nuclei / intensity)

      • for channel type cell nuclei: max. outgrowth of virtual cytoplasm in the range of 0 - 99 pixels.

  • Regions of interest (optional)

Keywords

fluorescence, multichannel, DAPI, Hoechst, immunofluorescence, multiplex, phenotype, microscopy

Short Description

Measurement of channel intensities in images from fluorescence microscopy, including an optional segmentation, extraction of morphometric parameters, and intensity/distance/density measures of cell nuclei (DAPI/Hoechst staining) and corresponding (virtual) cells/cytoplasm.

References / Literature

-

Table of contents

IKOSA Prisma Sparkfinder

You can use this image analysis application or any of our other applications in your account on the IKOSA platform. If it is not on the list of available applications, please contact your organization's administrator or our team at support@ikosa.ai.

Application description

This application automatically measures individual channel intensities of multichannel fluorescence microscopy images. Optionally, cell nuclei stained with DAPI, Hoechst or similar dyes are automatically segmented in one or multiple channels. Intensities of individual channels at the cell nuclei and virtual cytoplasm areas, morphometric features of the objects as well as measures for densities and distances are provided.

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 and format

Color channels

Color depth (per channel)

Size (px)

Resolution (μm/px)

Image type and format

Color channels

Color depth (per channel)

Size (px)

Resolution (μm/px)

Multichannel (standard and/or WSI)

 

Check image format File formats

max.10

8 Bit or 16 Bit

WSI (CZI) formats: arbitrary

Standard images: max. 6,144 x 6,144

Typically: 0.1 -1.1

Image content

Fluorescence microscopy image

Additional requirements

  • Up to 5 channels can be of type cell nuclei.

  • Cell nuclei size (diameter) should be in the range of 4-260 pixels.

  • Cell nuclei size (area) has to be larger than 7 pixels in order to be detected.

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)

Required input parameters:

  • channel name (e.g. “channel-DAPI”)

  • channel color (e.g. “00FF00”)

  • channel type (cell nuclei / intensity)

    • For channel type cell nuclei, the maximum outgrowth of a virtual cytoplasm can be defined in pixels. Supported value range: 0 to 99 pixels.

As an optional parameter, single or multiple regions of interest (ROIs) can be defined in which the analysis should be performed (‘inclusion ROIs’).

Description of output files and their content

Files

File format

Description

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_cell_nuclei.csv

A csv file containing the analysis results for all detected objects (cell nuclei) in the optionally selected channels of the input image or inclusion ROIs.

Please note: This file is only created if the type of at least one channel was set to cell nuclei.

3

jpg

results_vis/cell_nuclei_<cc>_<channel-name>_vis.jpg (multichannel; no ROI), or

results_vis/cell_nuclei_<cc>_<channel-name>_t<time-step>_z<z-layer>.jpg (for time series, or z-stack; no ROI), or 

results_vis/cell_nuclei_<cc>_<channel-name>_<roi-id>.jpg (multichannel; ROI <roi-id>), or

results_vis/cell_nuclei_<cc>_<channel-name>_t<time-step>_z<z-layer>_<roi-id>.jpg (for time series, or z-stack; ROI <roi-id>)

A visualization of the analysis result for each channel <cc> with channel name <channel-name> for which the channel type was set to cell nuclei, for a specific time step (of a time series), or z-layer (of a z-stack), for either the whole image (if no inclusion ROIs selected for analysis) or each individual inclusion ROI.

Each visualization includes three parts:

  • input, all channels

    • input image/ROI, channels blended with set channel colors to RGB image

  • instance contours, all channels

    • blended RGB image (same as first part)

    • instance contours of detected cell nuclei and virtual cytoplasm contours calculated by outgrowth from nuclei are indicated by white solid lines

  • instance contours on <channel-name>

    • image showing intensity of channel that was set to type cell nuclei (i.e. used for nuclei instance segmentation)

    • instance contours of detected cell nuclei and virtual cytoplasm contours calculated by outgrowth from nuclei are indicated by white solid lines

Input image
Results visualization for all channels

Reference: FFG-BRIDGE Precision Histology Project, Ao.Univ.Prof. DI Dr. Johannes Schmid and PhD Bernhard Hochreiter, Center for Physiology and Pharmacology, the Institute of Vascular Biology and Thrombosis Research in Vienna, Austria.

Please note: These files are only created if the type of at least one channel was set to cell nuclei and qualitative result visualization was requested when submitting the analysis job.

4

json

annotation_results.json:

JSON file containing positions of detected nuclei. The position is measured from the left upper corner (1,1) of the image.

5

json

roiMeta.json

A json file containing all information regarding the ROIs defined for the analysis job to ensure reproducibility.

6

jpg

rois_visualization.jpg, or

t<time-step>_z<z-layer>_rois_visualization.jpg:

An overview visualization to show locations of all analyzed ROIs for the time step <time-step> of a time series or z-layer <z-layer> of a z-stack.

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.

A row is generated for the whole image or for each inclusion ROI,  displaying the total intensity of each channel  (columns 41+). In addition, for each channel having its  channel type set as cell nuclei, a row including all results with descriptions is provided.

If one or more time steps (of a time series image) or z-layers (of a z-stack image) have been selected, the results in a specific row refer to the time step or z-layer specified in the corresponding column.

If one or more ROIs have been selected, the results in a specific row refer to the ROI specified in the corresponding column. Otherwise , i.e. in cases of empty ROI columns, the results refer to the whole image.

Column NO.

Column name

Examples

Value range

Description

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

roi_id

ROI-03

ROI-01 - 

<roi-id> starting from “ROI-01”. Empty, if no inclusion ROI is specified and the whole image was analyzed.

4

roi_name

“central”

any text

Custom text to identify the ROI. Empty, if no inclusion ROI is specified and the whole image was analyzed.

5

roi_size [Px^2]

1212212

1 - #pixels

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.

6

object_channel_index

2

1 - #channels

Index of selected channel for object detection

7

object_channel_name

“my_channel”

any text

Name of selected channel for object detection

8

object_type

“cell nuclei”

“cell nuclei”, or

“image/ROI”

Type of “object” analysis (basis for intensity results calculation) . Can either be “cell nuclei” or “image/ROI”.

9

outgrowth_type

“virtual cytoplasm”

“virtual cytoplasm”, or

““ (empty)

If an outgrowth is defined, it shows the outgrowth type.

10

object_max_outgrowth [Px]

2

0 - 99

Maximum outgrowth in pixels.

11

total_num_objects

788

1 -

Total number of objects which are detected in the image/ROI.

12

density_num_objects [1/Px^2]

0.0007514953

0 - 1

Total number of objects divided by area of image/ROI.

13

total_area_objects [Px^2]

101863

8 - #pixels

Total area of objects which are detected in the image/ROI.

14

density_area_objects

0.0971441268

0 - 1

Total area of objects divided by area of image/ROI.

15

total_area_outgrowth [Px^2]

125326

0 - #pixels

Total area of object’s outgrowth which are detected in the image/ROI.

16

density_area_outgrowth

0.11952018737

0 - 1

Total area of outgrowth divided by area of image/ROI.

17

total_area_objects_incl_outgrowth [Px^2]

227189

8 - #pixels

Total area of objects including outgrowth which are detected in the image/ROI.

18

density_area_objects_incl_outgrowth

0.2166643142

0 - 1

Total area of objects including outgrowth divided by area of image/ROI

19

mean_area_objects [Px^2]

14.324523

8 - #pixels

Mean area of detected objects in Pixels^2.

20

stddev_area_objects [Px^2]

1.213133

0 - #pixels

Standard deviation of area of detected objects in Pixels^2.

21

median_area_objects [Px^2]

13.983252

8 - # pixels

Median area of detected objects in Pixels^2.

22

mean_area_outgrowth [Px^2]

21.363824

0 - #pixels

Mean area of outgrowth in Pixels^2.

23

stddev_area_outgrowth [Px^2]

2.573912

0 - #pixels

Standard deviation of areas of outgrowth in Pixels^2.

24

median_area_outgrowth [Px^2]

20.874623

0 - #pixels

Median area of outgrowth in Pixels^2.

25

mean_area_objects_incl_outgrowth [Px^2]

35.836274

8 - #pixels

Mean area of detected objects including outgrowth in Pixels^2.

26

stddev_area_objects_incl_outgrowth [Px^2]

2.309003

0 - #pixels

Standard deviation of area of detected objects including outgrowth in Pixels^2.

27

median_area_objects_incl_outgrowth [Px^2]

35.473222

8 - #pixels

Median area of detected objects including outgrowth in Pixels^2.

28

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.

29

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.

30

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.

31

mean_bbox_area [Px^2]

202.03426395

8 -

Mean area of bounding box of detected objects in Pixels^2.

32

mean_area_ratio [%]*

0.0124492385

0 - 100

Mean area of detected object as percentage of overall  image area or ROI area inside the image.

33

mean_perimeter [Px]*

40.434010152

8 -

Mean perimeter of detected objects in Pixels.

34

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.

35

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.

36

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.

37

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.

38

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.

39

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.

40

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.

For each channel [CC] of the multichannel image:

41/ 54/ …

channel_#[CC]_index

2

1 - #channels

Channel index of this channel CC, on which the next values are based on.

42/ 55/ …

channel_#[CC]_name

“my_ch_name”

any text

Channel name of this channel CC, on which the next values are based on.

43/ 56/ …

channel_#[CC]_total_intensity

170486667

0 - 65535 x #pixels

Total intensity (sum) of this channel CC in the image/ROI.

44/ 57/ …

channel_#[CC]_type

“intensity”

“object” or

“intensity”

Type of this channel CC.

If the type is “object”, this channel is selected for object instance segmentation (e.g. cell nuclei instance segmentation) and intensity extraction.

If the type is “intensity”, this channel is used for intensity extraction.

45/ 58/ …

channel_#[CC]_objects_mean_intensity

272.93074030

0 - 65535

Mean intensity of this channel CC over the areas of all detected objects.

46/ 59/ …

channel_#[CC]_objects_stddev_intensity

130.84258715

0 - 65535

Standard deviation of intensity of this channel CC over the areas of all detected objects.

47/ 60/ …

channel_#[CC]_objects_intensity_dominant

265

0 - total_num_objects, or

“nan”

Number of objects for which mean intensity is highest (=dominant) in this channel CC, compared to all other channels (mean intensity larger than in other channels of type “intensity”).

If this channel CC is of type “object”, this field is “nan”.

48/ 61/ …

channel_#[CC]_outgrowth_mean_intensity

273.26551765

0 - 65535, or

”” (empty)

Mean intensity of this channel CC over the areas of the outgrowths of all detected objects.

Is empty ““ if no outgrowth was set (max. outgrowth was set to 0 pixels).

49/ 62/ …

channel_#[CC]_outgrowth_stddev_intensity

203.15327249

0 - 65535, or

”” (empty)

Standard deviation of intensity of this channel CC over the areas of the outgrowths of all detected objects.

Is empty ““ if no outgrowth was set (max. outgrowth was set to 0 pixels).

50/ 63/ …

channel_#[CC]_outgrowth_intensity_dominant

724

0 - total_num_objects, or

“nan”

Number of objects for which mean intensity of outgrowth areas is highest (=dominant) in this channel CC, compared to all other channels (mean intensity larger than in other channels of type “intensity”).

If this channel CC is of type “object”, this field is “nan”.

51/ 64/ …

channel_#[CC]_objects_incl_outgrowth_mean_intensity

273.115521066

0 - 65535

Mean intensity of this channel CC over the areas of the objects including outgrowths of all detected objects.

52/ 65/ …

channel_#[CC]_objects_incl_outgrowth_stddev_intensity

174.47822028

0 - 65535

Standard deviation of intensity of this channel CC over the areas of the objects including outgrowths of all detected objects.

53/ 66/ …

channel_#[CC]_objects_incl_outgrowth_intensity_dominant

530

0 - total_num_objects, or

“nan”

Number of objects for which mean intensity of areas of detected objects incl. outgrowths is highest (=dominant) in this channel CC, compared to all other channels (mean intensity larger than in other channels of type “intensity”).

If this channel CC is of type “object”, this field is “nan”.

results_cell_nuclei.csv

Single CSV file.

A csv file is generated containing the analysis results for all detected objects (cell nuclei) in the optionally selected channels of the input image or inclusion ROIs.

If one or more time steps (of a time series image) or z-layers (of a z-stack image) have been selected, the results in a specific row refer to the time step or z-layer specified in the corresponding column.

If one or more ROIs have been selected, the results in a specific row refer to the ROI specified in the corresponding column. Otherwise,  i.e. in cases of empty ROI columns, the results refer to the whole image.

Column NO.

Column name

Examples

Value range

Description

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

roi_id

ROI-03

ROI-01 - 

<roi-id> starting from “ROI-01”. Empty, if no inclusion ROI is specified and the whole image was analyzed.

4

roi_name

“central”

any text

Custom text to identify the ROI. Empty, if no inclusion ROI is specified and the whole image was analyzed.

5

roi_size [Px^2]

1212212

1 - #pixels

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.

6

object_channel_index

2

1 - #channels

Index of selected channel for object detection

7

object_channel_name

“my_channel”

any text

Name of selected channel for object detection

8

object_type

“cell nuclei”

“cell nuclei”

Type of “object” analysis (basis for intensity results calculation) .

In this version, the app supports “cell nuclei” detection.

9

outgrowth_type

“virtual cytoplasm”

“virtual cytoplasm”

Outgrowth type.

In this version, the app supports “virtual cytoplasm”.

10

virtual_cytoplasm_max_outgrowth [Px]

2

0 - 99

Maximum outgrowth in pixels.

11

object_id

5

1 -

ID of detected object (cell nucleus).

12

nucleus_center_x

741

1 - image/ROI width

x-coordinate of cell nuclei center (starting from upper left corner, along image/ROI width).

13

nucleus_center_y

26

1 - image/ROI height

y-coordinate of cell nuclei center (starting from upper left corner, along image/ROI height).

14

nucleus_area [Px^2]

174

8 -

Area of cell nucleus in pixels^2.

15

virtual_cytoplasm_area [Px^2]

310

0 -

or ““ (empty)

Area of virtual cytoplasm (outgrown) in pixels^2.

Is empty ““ if no outgrowth was set (max. outgrowth was set to 0 pixels).

16

virtual_cell_area [Px^2]

484

8 -

Area of virtual cell (nucleus + virtual cytoplasm) in pixels^2.

17

distance_nearest_neighbor [Px]

22.090722034

0 -

Distance (center-to-center)  to the nearest other cell in pixels.

18

bbox_area [Px^2]

304

8 -

Area of bounding box of detected cell nucleus in pixels^2.

19

area_ratio [%]

0.02

0 - 100

Area of detected cell nucleus as percentage of overall image area or ROI area inside the image.

20

perimeter [Px]

53

8 -

Perimeter of detected cell nucleus in Pixels.

21

circularity

0.78

0 - ~1

Circularity of detected cell nucleus.

Circularity = 4*pi*area/(perimeter^2).

The circularity of a circle is 1.

22

solidity

0.97

0 - 1

Solidity of detected cell nucleus.

Solidity is calculated out of the ratio of an object’s area to the area of its convex hull.

23

eccentricity

0.92

0 - 1

Eccentricity of detected cell nucleus.

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.

24

equivalent_diameter [Px]

14

1 -

Equivalent diameter of detected cell nucleus.

The equivalent diameter is the diameter of a circle having the same area as the detected object.

25

extent

0.57

0 - 1

Extent of detected cell nucleus.

The extent value is the ratio of the object area to the total bounding box area.

26

minor_axis_length [Px]

9

1 -

Minor axis length of detected cell nucleus.

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.

27

major_axis_length [Px]

23

1 -

Major axis length of detected cell nucleus.

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.

For each channel [CC] of the multichannel image:

28/ 40/ …

channel_#[CC]_index

2

1 - #channels

Channel index of this channel CC, on which the next values are based on.

29/ 41/ …

channel_#[CC]_name

“tissue”

any text

Channel name of this channel CC, on which the next values are based on.

30/ 42/ …

channel_#[CC]_type

“intensity”

“object”, or

“intensity”

Type of this channel CC.

If the type is “object”, this channel is selected for object instance segmentation (e.g. cell nuclei instance segmentation) and intensity extraction.

If the type is “intensity”, this channel is used for intensity extraction.

31/ 43/ …

channel_#[CC]_nucleus_mean_intensity

153.5574712643

0 - 65535

Mean intensity of this channel CC over the area of the detected cell nucleus.

32/ 44/ …

channel_#[CC]_nucleus_stddev_intensity

36.5853533038

0 - 65535

Standard deviation of intensity of this channel CC over the area of the detected cell nucleus.

33/ 45/ …

channel_#[CC]_nucleus_intensity_dominant

“True”

“True”, or

”False”, or

”nan”

Boolean indicator to show if the mean intensity of this channel CC over the area of the cell nucleus is the highest (=dominant), compared to all other channels (mean intensity larger than in other channels of type “intensity”).

If this channel CC is of type “object”, this field is “nan”.

34/ 46/ …

channel_#[CC]_virtual_cytoplasm_mean_intensity

172.1645161290

0 - 65535, or

““ (empty)

Mean intensity of this channel CC over the area of the virtual cytoplasm for the detected cell nucleus.

Is empty ““ if no outgrowth was set (max. outgrowth was set to 0 pixels).

35/ 47/ …

channel_#[CC]_virtual_cytoplasm_stddev_intensity

52.8368337332

0 - 65535, or

““ (empty)

Standard deviation of the intensity of this channel CC over the area of the virtual cytoplasm for the detected cell nucleus.

Is empty ““ if no outgrowth was set (max. outgrowth was set to 0 pixels).

36/ 48/ …

channel_#[CC]_virtual_cytoplasm_intensity_dominant

“False”

“True”, or

”False”, or

”nan”

Boolean indicator to show if the mean intensity of this channel CC over the area of the virtual cytoplasm for the detected cell nucleus  is the highest (=dominant), compared to all other channels (mean intensity larger than in other channels of type “intensity”).

If this channel CC is of type “object”, this field is “nan”.

Is “False“ if no outgrowth is set (max. outgrowth is 0 pixels).

37/ 49/ …

channel_#[CC]_virtual_cell_mean_intensity

165.4752066115

0 - 65535

Mean intensity of this channel CC over the area of the virtual cell (nucleus + virtual cytoplasm) for the detected cell nucleus.

38/ 50/ …

channel_#[CC]_virtual_cell_stddev_intensity

48.466540867

0 - 65535

Standard deviation of intensity of this channel CC over the area of the virtual cell (nucleus + virtual cytoplasm) for the detected cell nucleus.

39/ 51/ …

channel_#[CC]_virtual_cell_intensity_dominant

“True”

“True”, or

”False”, or

”nan”

Boolean indicator to show if the mean intensity of this channel CC over the area of the virtual cell (nucleus + virtual cytoplasm) for the detected cell nucleus  is the highest (=dominant), compared to all other channels (mean intensity larger than in other channels of type “intensity”).

If this channel CC is of type “object”, this field is “nan”.

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!

https://calendly.com/kolaido/book-the-ikosa-platform-demo

 

Copyright 2024 KOLAIDO GmbH. IKOSA® is a registered EU trademark.