How to plot a 3D DICOM image in millimetre (mm) knowing the voxel size?

2 次查看(过去 30 天)
How can I change the axis to physical units when I plot a 3D dicom image? for example, the DICOM image has dimensions of 200x200x100 where 100 is the number of 2D slices size 200x200. I already know that the voxel size is 3.6458mm x 3.6458mm x 3.27mm.
I am using the following code to plot e.g. a segmented part of the DICOM image, but the axis are 200x200x100. How should I change the axis to mm having the voxel size?
figure;
w = smooth3(Segmented_area,'gaussian', [11 11 11]);
isosurface(w,.1);
view(3)
axis equal
"Segmented_area" is a 3D binary matrix. I would like to plot both DICOM image and segmented area in mm.

采纳的回答

Walter Roberson
Walter Roberson 2016-6-27
You can pass X, Y, and Z coordinates to isosurface() . You would probably construct those as
[X, Y, Z] = meshgrid( (0 : size(Segmented_area,1)-1) * 3.6458, (0 : size(Segmented_area,2)-1) * 3.6458, (0 : size(Segmented_area,3)-1) * 3.27 );
  11 个评论
Walter Roberson
Walter Roberson 2019-2-1
I do not appear to be eligible to get the MCNP source code, and the user manual itself is considered to be Export Controlled.
When you read in a 3D array from DICOM, the result is already voxels.
Perhaps you are trying to segment a transcranial DICOM image? Transcranial would tend to be MRI modality, but your reference to MCNP suggests to me that you might be working with either CT or with radiation therapy ?

请先登录,再进行评论。

更多回答(1 个)

abdey munaf
abdey munaf 2018-12-3
thanks in advance to all of you. can you tell me how you come to know ''the voxel size is 3.6458mm x 3.6458mm x 3.27mm .'' ?

类别

Help CenterFile Exchange 中查找有关 DICOM Format 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by