centroid for each slice along one axis in a .nrrd file

2 views (last 30 days)
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

Accepted Answer

Ergin Sezgin
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
Mel A
Mel A on 30 Mar 2023
Thanks so much,
This worked,
Now my problem is converting this to mm/ world coordinates rather than pixels.
I get the line I want but I cant align it on my STL model created with the same exact .nrrd file. I think the problem is that the numbers in the centroid array are in pixels/voxels.
Please let me know if you a way for this
I am currently reading and trying, will update if I can work this out.
Ergin Sezgin
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

Sign in to comment.

More Answers (0)

Categories

Find more on Visual Exploration in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!