centroid for each slice along one axis in a .nrrd file
1 view (last 30 days)
Show older comments
Hi All
I have some medical images, saved as .nrrd files. (segmented)
I would like to calculate the centroid for each slice along a single axis.
Then create a line of best fit for this.
Any suggestions for this please,(I am very much a beginner in matlab and not of engineering background.)
Thanks heaps
0 Comments
Accepted Answer
Ergin Sezgin
on 28 Mar 2023
Hey,
You can isolate the layers, binarize them with imbinarize function, manipulate the regions by morphology if necessary, and then get the region properties by regionprops function. This will yield the centroid data for each region. Then you can extract centroids into an array and fit a line in 3D space using these values.
Good luck.
6 Comments
Ergin Sezgin
on 30 Mar 2023
Hey Mel,
I'm glad that it worked.
Normally, I use calibration plates and tools such as a checkerboard plates to compute intrinsic parameters which enable me to get distortion free images. Knowing the real size of checkerboard squares and getting an image of the board, it is possible to get an analytical relation between real world dimensions and pixels. This is useful for 2D data. For the third dimension along Z axis, you need some kind of encoder. You can assume every layer has an equal distance between each other or you can get real, precise distances between layers from the hardware you use to get .nrrd data.
I hope this helps
Good luck
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!