How to find local sub-pixel maxima in image?

10 次查看(过去 30 天)
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.

回答(2 个)

Image Analyst
Image Analyst 2016-3-18
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 2016-3-19
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 个评论
Jonathan Cheng
Jonathan Cheng 2016-3-19
Originally, I couldn't attach a .tif image. I've attached original .tif in the link. Thanks.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Feature Detection and Extraction 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by