FindObjects - lucadellasantina/ObjectFinder GitHub Wiki
The detection algorithm performs segmentation of candidate objects from background using the following logic approach:
- Divide the entire volume into smaller blocks to enable parallel computation. Processing blocks are overlapping by 1.5x the size of smaller object to be detected. Local background is calculated for each block as the most common intensity different than zero.
- Calculate the 6-point 3D connectivity within the processed image stack marching iteratively through all intensity levels from the brightest intensity to the local background intensity
- Verify that volume of detected objects fall within (including limit values) user-defined range of acceptable object sizes
- If a detected objects has more than one intensity peak, split into multiple sub-objects using watershed segmentation, verifying that watershed objects are still within the acceptable object size.
- Resolve duplicate objects in the overlapping regions between search blocks
- Accumulate objects properties such as volume, intensity, shape into a searchable data structure