MATLAB: How to calculate diameter of object

centroiddiameterimage processingImage Processing Toolboxmaskregionsegmentation

I have the following code to find the centroids of the particles within this image <- Hyperlink:-
I would like to calculate the diameter of each of the particles so to generate the diameter distribution of the entire image.
X=Image;
template = fspecial('LoG',[51,51],3); % produces a laplacian of Gaussian curve as a template mask use to compare all the intensities in the image
y = conv2(double(X),-template,'same'); % convolves the image with the template to find all the points which correspond to the template mask
FoVY = y(500:700,730:940);
Peaks = imregionalmax(FoVY); % finds all the local maxima
imagesc(Peaks)
LPeaks = bwlabel(Peaks);
R = regionprops(LPeaks);
FoVY = X(500:700,730:940);
imagesc(FoVY);
hold on;
for i = 1:length(R)
plot(R(i).Centroid(1),R(i).Centroid(2),'r.');
centroid = cat(1, R.Centroid);
end
no_of_collagen=length(centroid);

Best Answer

You can call regionprops() and then ask for EquivDiameter. You might get batter, more comprehensive answers if you put as much effort into your question here on the Mathworks MATLAB Central as you did for some other forum.