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

4 visualizzazioni (ultimi 30 giorni)
Hi,
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.

Risposte (1)

Yazan
Yazan il 22 Lug 2021
Modificato: Yazan il 22 Lug 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!

Translated by