MATLAB Answers

0

how to form the volume from the single dicom image using isosurface in matlab

Asked by andhavarapu lokesh on 30 Nov 2016
Latest activity Commented on by Walter Roberson
on 1 Dec 2016
want to do volume rendering for the data containing dicom images . Each dicom contains again 72 frames can any one help me how to get the volume from the below code
rojectdir = 'E:\SHIVA BACKUP\THYROID\P1\newcodes\data1\13002';
% y = length(projectdir);
y=72;
X = zeros(128, 128, 1, 72, y, 'uint8');
% Read the series of images.
for p=1:1:y
thisfile = sprintf('IM_%d.dcm', p);
filename = fullfile( projectdir, thisfile );
imdata = dicomread(filename);
imsize = size(imdata);
if ~isequal( imsize, [128 128 1 72] )
fprintf('file is unexpected size %s instead of [128 128 1 72], skipping "%s"\n', mat2str(imsize), filename);
else
X(:, :, :, :, p) = imdata;
end
end
isoval=0.5;
hiso=patch(isosurface(X,isoval),...
'FaceColor',[1,0.75,0.65],'EdgeColor','none');%this is for volume display
set(hiso,'FaceAlpha',0.74);
lighting phong;
lightangle(45,30);
rotate3d on;

  0 Comments

Sign in to comment.

2 Answers

Answer by Walter Roberson
on 30 Nov 2016
Edited by Walter Roberson
on 30 Nov 2016

volumes_of_objects = squeeze( sum(sum(sum(X,1),2),3) );
Note: this assumes, though, that voxels are cubic. If your distance between z slices is different than the size of the pixels in the x and y directions, then you should multiply the above by the ratio of the z slice distance compared to the x distance. Or multiply by the physical X pixel width, physical Y pixel width, and physical Z distance: you can extract those parameters from the DICOM information structure.

  14 Comments

Which MATLAB version are you using?
There definitely is an EdgeColor property for patch
https://www.mathworks.com/help/releases/R2015a/matlab/ref/patch-properties.html

Sign in to comment.


Answer by andhavarapu lokesh on 1 Dec 2016
Edited by andhavarapu lokesh on 1 Dec 2016

i wanted to display like this image by forming a volume with those images

  0 Comments

Sign in to comment.