Azzera filtri
Azzera filtri

Converting Mat file to Dicom file

24 visualizzazioni (ultimi 30 giorni)
Hany
Hany il 23 Gen 2017
Hi , I have a mat file including 320 slices of CT image and I am trying to convert them to dicom file using the codes below:
load Reconimg.mat;
size(img) % e.g. if size dimensions = 125x125x320
for image_num = 1:320
dicomwrite(img(1:512,1:512,image_num));
sprintf('Reconimg%s.dcm',num2str(image_num));
end
but I get the following error
Error using dicomwrite (line 178)
At least two input arguments required.
could u please advise
Thanks

Risposte (2)

Jorge Mario Guerra González
Modificato: Jorge Mario Guerra González il 23 Gen 2017
for image_num = 1:320
dicomwrite(img(1:512,1:512,image_num),FILENAME);
sprintf('Reconimg%s.dcm',num2str(image_num));
end
you forgot to put the filename argument.
use
help dicomwrite
for more information
  5 Commenti
Jorge Mario Guerra González
sorry I didn't write it well it's
filename=strcat('reconimg',num2str(image_num),'.dcm');
dicomwrite(img(1:512,1:512,image_num),filename);
the whole code should be
for image_num = 1:320
filename=strcat('reconimg',num2str(image_num),'.dcm');
dicomwrite(img(1:512,1:512,image_num),filename);
sprintf('Reconimg%s.dcm',num2str(image_num)); %you can delete this if you want
end
Hany
Hany il 25 Gen 2017
Thanks , so turned out the mat file should be the int16 in order for the dicomwrite to work , so here is how it works:
for image_num = 1:320 filename=strcat('Reconimg',num2str(image_num),'.dcm'); B=int16(Reconimg(:,:,image_num)); %dicomwrite(Reconimg(1:512,1:512,image_num),filename); dicomwrite(B,filename); sprintf('Reconimg%s.dcm',num2str(image_num)); %you can delete this if you want end

Accedi per commentare.


Hany
Hany il 25 Gen 2017
Thanks , so turned out the mat file should be the int16 in order for the dicomwrite to work , so here is how it works:
for image_num = 1:320 filename=strcat('Reconimg',num2str(image_num),'.dcm'); B=int16(Reconimg(:,:,image_num)); %dicomwrite(Reconimg(1:512,1:512,image_num),filename); dicomwrite(B,filename); sprintf('Reconimg%s.dcm',num2str(image_num)); %you can delete this if you want end
  1 Commento
Santiago Romaniolli
Santiago Romaniolli il 24 Lug 2018
Hi Hany, where do you define the variable Reconimg? Because I am having trouble with these sentence: B=int16(Reconimg(:,:,image_num)); Undefined function or variable 'Reconimg'.

Accedi per commentare.

Categorie

Scopri di più su DICOM Format in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by