# How do you calculate the volume of tumor from a series of MRI slices contaning tumor

6 Ansichten (letzte 30 Tage)
Sayali Lopez am 25 Aug. 2014
Bearbeitet: Walter Roberson am 21 Dez. 2016
Hie, i am a PG student working on a project detection of tumor from a sequence of MRI slices. After detecting the tumor from the slices, i calculate the volume of tumor. can any one help me out with the code for calculating the volume. i have this code for calculating the volume could u help me understand this code. i didnt understand what does "level" mean.
function [tumorvolume,flag] = volumetumor(handles)
% % % handles % % % pause
delxx = handles.delxx;
delyy = handles.delyy;
delzz = handles.delzz;
imagedata = handles.onlytumor;
[nx,ny,nz] = size(imagedata);
level = 3;
tumorvolume = 0.0;
%%imagedata(:,:,1)
for k=1:nz
BW =(imagedata(:,:,k)>level);
total = bwarea(BW);
tumorvolume =tumorvolume+total*delxx*delyy*delzz;
end
tumorvolume; flag =1;
##### 0 Kommentare-1 ältere Kommentare anzeigen-1 ältere Kommentare ausblenden

Melden Sie sich an, um zu kommentieren.

### Akzeptierte Antwort

David Sanchez am 25 Aug. 2014
You have to know the scale of the images.
Once you know the scale (equivalence between pixel-size and mm, for example), you just measure the length and width of the tumor within each slice.
Add up the product of length*width from each slice.
Finally, the volume of the tumor will be the previous summation times the distance between each slice.
Volume = slice_distance*(sum(length*width));
##### 1 KommentarKeine anzeigenKeine ausblenden
Sayali Lopez am 25 Aug. 2014
Bearbeitet: Sayali Lopez am 25 Aug. 2014
Thanks a lot. This will surely help me. i have this code for calculating the volume could u help me understand this code. i didnt understand what does "level" mean.
function [tumorvolume,flag] = volumetumor(handles)
% % % handles % % % pause
delxx = handles.delxx;
delyy = handles.delyy;
delzz = handles.delzz;
imagedata = handles.onlytumor;
[nx,ny,nz] = size(imagedata);
level = 3;
tumorvolume = 0.0;
%%imagedata(:,:,1)
for k=1:nz
BW =(imagedata(:,:,k)>level);
total = bwarea(BW);
tumorvolume =tumorvolume+total*delxx*delyy*delzz;
end
tumorvolume; flag =1;

Melden Sie sich an, um zu kommentieren.

### Kategorien

Find more on Biomedical Imaging 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!