How to display DICOM RT structure

Hello everyone,
I have some DICOM files with RS structure such as GTV and PTV from radiation therapy planning.
Then, I want to display it as a volume. First, I have done with 'dicominfo' to take any information and looking at GTV contour already.
I have seen the data with how many slice and others, but I don't know how to display. Just only one slice with coordinate is OK.
please help
Sandra

4 commentaires

If you just
data = dicomread('TheFile.dcm'); %use appropriate file name
then what shows up for
class(data)
size(data)
Bualookkaew Sakchatchawan
Bualookkaew Sakchatchawan le 28 Sep 2018
Modifié(e) : Bualookkaew Sakchatchawan le 28 Sep 2018
Thank you for your help, but this does not work for RS structure which is the boundary line add-on for identifying the region of interest. Now, I have a dot with 3 coordinates (x,y,z), then I will try to plot in each dot until it covers the ROI per slice.
A lot of thank

Connectez-vous pour commenter.

Réponses (1)

Jesper Brovall
Jesper Brovall le 14 Mar 2019
In my current project I'm reading RT-structures, transforming them into a nwe fram of reference and distort them. Here's some of my code for reading the RT-structures and displaying them using the plot3 command.
matlabFolder = pwd;
MyDirInfo=dir(pathway to your file); % Ex. 'C:\username\documents\....\rtstructure.dcm'
cd('C:\username\documents\....\rtstructurefolder')
info=dicominfo(MyDirInfo(1).name);
cd(matlabFolder)
structures=fieldnames(info.ROIContourSequence); %Lists all the structures
num_cont=size(structures,1); %Says how many it is
for n=1:num_cont %Loops through all structures
curr_struct=structures{n};
%Lists all the ROI-layers within a structure
ROIlayers=fieldnames(info.ROIContourSequence.(curr_struct).ContourSequence);
num_layers=size(ROIlayers,1);
for i=1:num_layers %Går igenom alla lager och hämtar deras positioner
currROIlayer=ROIlayers{i};
item_pos=info.ROIContourSequence.(curr_struct).ContourSequence.(currROIlayer).ContourData;
item_pos=reshape(item_pos, [3 length(item_pos)/3]);
item_pos_all=[item_pos_all, item_pos];
end
figure(n)
hold on
plot3(item_pos_all(1,:), item_pos_all(2,:), item_pos_all(3,:))
end

1 commentaire

alinck wang
alinck wang le 17 Nov 2019
Maybe you should add the codes "item_pos_all=[]";

Connectez-vous pour commenter.

Catégories

En savoir plus sur DICOM Format dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by