Detecting local variations in brightness



I am trying to detect some objects (spindles) in a set of images. Unfortunately, the spindles are not brighter than other parts of the image that have nothing to do with spindles. On the other hand, they are locally brighter respect to their surrounding area. Is it possible to take advantage of this “local” information?

Thank you


In the latest release, you might be able to take advantage of the MaskImage module. If your spindles are located within some other object which you can identify (nuclei), you can add the MaskImage module and mask your spindle image by the nuclei. Then when you use IdentifyPrimAutomatic, it will look for objects only within the nuclei area and disregard everything else.



Another suggestion:
If your spindles are small and sharply contrasting and the areas you want to ignore are large and rather smooth, you might try running a CorrectIlluminationCalculate, using the Background intensity option with a neighborhood and smoothing size a bit bigger than your typical objects of interest (don’t rescale the illumination function), and CorrectIlluminationApply using the subtract option. This is a bit of a trick, where you find the local “background”, which in your case is actually the fairly large objects of interest and subtract that “background” from the image, leaving just the smaller, more distinct objects of interest intact. If this seems an appropriate thing based on your images, give it a try and post an image if it’s not helping and we might be able to improve the settings.

You might also make use of an adaptive thresholding option in the IdentifyPrim module if you have not tried that already.