Table 1 QuantiFish workflow and programming.

From: Analysis tools to quantify dissemination of pathology in zebrafish larvae

Workflow

Steps

Measurement Name

Package Functions Used

Load Image

Open image

 

PIL Image Class

 

Convert to array

 

numpy.array

Basic Statistics

Fetch minimum and maximum intensity values

Minimum, Maximum

numpy.min, numpy.max

 

Apply user-defined threshold, set pixels below threshold to 0

  
 

Count positive pixels

Positive Pixels

numpy.count_nonzero

 

Calculate integrated intensity

Integrated Intensity

numpy.sum

Find Foci

Quantify local maxima (points of peak intensity)

Total Peaks

skimage.feature.peak_local_max

 

Assign ID labels to confluent objects

 

skimage.measure.label

 

Quantify the number of pixels associated with each object

Total Foci

numpy.unique

 

Filter foci list based on minimum size set by user

  
 

Count objects larger than the size filter

Large Foci

numpy.sum

 

Exclude staining in foci below size limit

  
 

Quantify pixels in positive foci

Positive Pixels in Large Foci

numpy.count_nonzero

 

Quantify integrated intensity within positive foci

Integrated Intensity in Large Foci

numpy.sum

 

Count local maxima in filtered foci

Peaks in Large Foci

skimage.feature.peak_local_max

Foci Statistics

Construct an array of statistics for each focus

Foci Area, Average, Max, Min and Integ. Intensity

skimage.measure.regionprops

 

Record stats for each focus larger than the minimum size

  
 

Generate list of centroid coordinates for large foci

  

Fluor50

Sort the focus statistics list by integrated intensity

  
 

Calculate percent fluorescence contributed by each object

Foci Percent Intensity

 
 

Calculate cumulative percent fluorescence

Foci Cumulative Percent Intensity

numpy.cumsum

 

Determine fluor50 by linear interpolation

Fluor50

scipy.interpolate.interp1d

Spatial Statistics

Create blank array the size of the original image

 

numpy.zeros

 

Plot foci centroid coordinates on blank array

  
 

Split array into grid segments of user-defined size

 

numpy.array_split

 

Consider segment positive if any centroids are present

 

numpy.max

 

Count positive and total segments

Total Grid Boxes, Positive Grid Boxes

 
 

Generate convex polygon using centroid coordinates

Foci Polygon Area

scipy.spatial.ConvexHull

 

Select centroids which generate the polygon

 

scipy.spatial.ConvexHull.vertices

 

Construct a distance matrix between selected points

 

scipy.spatial.distance_matrix

 

Find maximum distance between foci from matrix

IFDmax

scipy.spatial.distance.euclidean

  1. The workflow and package functions used to generate the measurements produced by QuantiFish.