How to find local sub-pixel maxima in image?

17 visualizaciones (últimos 30 días)
Jonathan Cheng
Jonathan Cheng el 18 de Mzo. de 2016
Comentada: Jonathan Cheng el 19 de Mzo. de 2016
I need to find the x- and y- coordinates of local maxima of objects in a microscope image (in this case, balls of fluorescent DNA that manifests as a dots of a few pixels in the image). Please see example image below. Note that these were not taken with any kind of super-resolution localization method. I can find the centroid and brightest pixel for each image, but I would like to find the sub-pixel location of maxima. I am aware of Gaussian fitting methods (maximum likelihood estimation, etc.) where one would upsample and find peaks, but I am not sure what is best/most appropriate algorithm. Any helpful hints would be appreciated.

Respuestas (2)

Image Analyst
Image Analyst el 18 de Mzo. de 2016
I'm thinking that it might be
GMModel = fitgmdist(XYZ, 3);
but I'm not sure. I'd need data to try it out with. It requires the Statistics and Machine Learning Toolbox. I guess I could try it with fspecial() which can generate a Gaussian, but I don't have time right now. Hopefully it's a start. If you run into trouble, then post your array. Hopefully you can at least get a single spot by itself and we don't have to find those in an image of hundreds of them - I hope you've done that part already.

Walter Roberson
Walter Roberson el 19 de Mzo. de 2016
Your images are normal lossy JPEG images. You cannot meaningfully find sub-pixel locations in them. You are not working with original data; you are working on the reconstruction of the JPEG model of the data.
  1 comentario
Jonathan Cheng
Jonathan Cheng el 19 de Mzo. de 2016
Originally, I couldn't attach a .tif image. I've attached original .tif in the link. Thanks.

Iniciar sesión para comentar.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by