MATLAB Answers

How to compute cross sectional area and volume from a stack of segmented images?

2 views (last 30 days)
Tri Rowstenkowski
Tri Rowstenkowski on 22 Jul 2021
Edited: Yazan on 22 Jul 2021
I have a stack of segmented images. How do i compute the cross sectional area of these images and volume if xvoxel=0.01(mm/pixel) and zvoxel=0.20(mm/pixel)? Attached images are 256*256.

Answers (1)

Yazan on 22 Jul 2021
Edited: Yazan on 22 Jul 2021
Binarize the image, then use region properties to compute the area (number of pixels). Once you know the number of pixels, you can get the area by multiplying by the area of one pixel.
Im = imread('29_predict.bmp');
mask = Im>188; % binarize the image
area = regionprops(mask, 'Area');
areaReal = area.Area*0.01^2; % real-world area
If you have a 3d image (stack of 2d binary images), you can also call regionprops to compute the number of voxels. To get the real-world volume, multiply the number of voxels by the volume of one voxel.

Community Treasure Hunt

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

Start Hunting!