How to compute 3D surface area from 2D CT images
3 次查看(过去 30 天)
显示 更早的评论
Hi, I work with 2D slices of CT images (Dicom images). I segmented tumor from all these 20 slices using some segmentation algorithms.
Now, I have 20 slices of segmented CT scans lets say slice1, slice2, ...slice20
Now I have to combine this 20 slices somehow and extract surface area.
I found this link:
I don't understand how is x-cord,y-cord, and z-cord computed here.
And I think some of this code is repeated and wrong.
Can someone please help me compute the 3D surface area by combing all the individual 2D slices.
Any help is greatly appreciated.
Thanks,
Gopi
0 个评论
回答(2 个)
Image Analyst
2016-9-1
编辑:Image Analyst
2016-9-1
Simply call bwperim() on your segmented tumor images, which you say you already have. Then sum up the image
totalSurfaceArea = 0;
for slice = 1 : numSlices
thisBinaryImage = .......whatever, your segmented image.
thisPerimeter = bwperim(thisBinaryImage)
voxelsInThisSlice = sum(thisPerimeter(:));
totalSurfaceArea = totalSurfaceArea + voxelsInThisSlice;
end
Essentially you're counting up all voxels that are on the outer edge of your tumor and touch other tissue or air or whatever is not tumor.
2 个评论
Koray Ertan
2022-8-21
I think the above approach may be wrong because you do not account for the slope of the surface when you just sum the voxelized area.
boundary function may be a better fit for this task.
https://www.mathworks.com/help/matlab/ref/boundary.html
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Lighting, Transparency, and Shading 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!