General principleThe 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 detectionBasically 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)
Spots segmentationAround 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.
- 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