Spot Segmenter

General principle

The spot segmenter 3D is based on the 3D Spot Segmentation plugin. The idea is to first detect seeds of the spots and then compute a local threshold around each seed.

Seeds detection

Basically the seeds are detected in the raw image as local maxima in a given radius. However the raw image can be filtered in order to help detect seeds. Suggested filters are :
  • standard smoothing like 3D median or 3D Gaussian (see Fast Filters3D and Misc 3D Filters)
  • band-pass filtering to enhance spots of a given size (see Misc 3D Filters)
  • determinant of the hessian to detect local homogeneity (see Image Features)
A threshold is then necessary to detect only the brightest seeds, we suggest to use the percentage of bright pixels thresholder with values around 1-10 % depending on the density of your spots. A watershed is performed in order not to merge close spots in further steps.

Spots segmentation

Around each seeds a local threshold is computed, three methods are available :
  • Constant value, a fixed value is used for all spots
  • Local mean, the mean value mean_spot is computed inside the spot, a first 3D layer is created around the inside of the spot, a second 3D layer is created after the first one, in the background, and the mean_background value is computed. The local threshold is then the average of mean_spot and mean_background.
red is central area, and blue background area.
  • Gaussian fit, a 3D radial profile is computed around the seed and a Gaussian fit is performed on that profile (usually values are higher a the centre of the spots, and decrease towards periphery). The standard deviation of the Gaussian is computed, and the local threshold is this sd multiplied by a coefficient; the higher the coefficient value, the biggest the segmented spot.
Then pixels with values higher than the local threshold are aggregated to the seed. Note that thnaks to the watershed procedure, two close spots will not be merged. Three modes of aggregation are proposed :
  • classical, all pixels connected to the seed with a value higher than the local threshold are part of the final segmented spot
  • maximum, only pixels higher than the local threshold and lower than the seed are aggregated
  • block, if all pixels of surroundings are lower than the central pixel, they are aggregated