Finding Centroids in 3D using Regionprops

8 views (last 30 days)
kishore
kishore on 1 Apr 2014
Answered: CJR on 11 Aug 2016
I have a 3d binary segmentation result (logical array) in which there are a bunch of spheres (24 in number). I want to find their centroids. I used regionprops to find the centroids of these spheres as shown below
regionprops(image3D,'Centroid')
I do get a output which is a structure containing 3000 centroids which are all (NaN,NaN,NaN). I also tried to typecast image3D into double & uint8. Didnt work. Any suggestions welcome :-) Thanks. PS: Some of my slices have multiple spheres making it a little harder.

Answers (1)

CJR
CJR on 11 Aug 2016
Are you using the bwconncomp function before regionprops? Do you have any noise in the images?
This is what I do:
cc=bwconncomp(image3D); centers=cell2mat(struct2cell(regionprops(cc,'Centroid')))

Community Treasure Hunt

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

Start Hunting!