'horzcat' error when using dicomread() within a for-loop
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Roman Hochuli
le 21 Fév 2011
Modifié(e) : Walter Roberson
le 22 Jan 2017
Hi
I have a set of 460 DICOM files that I would like to read in one-by-one, subtract 1000 from each pixel, and write them out as DICOM files. I have tried the following code, but continue to get an errror saying "CAT arguments dimensions are not consistent":
I=zeros(512,512);
for i=0:459
I=dicomread(['IMG (' int2str(i) ').dcm']);
I=im2double(I);
I=I-(1000*ones(size(I)));
I=int16(I);
dicomwrite([I,'IMG (' int2str(i) '.dcm'])
end;
I assume this problem comes from a line in dicomwrite(), but I can't work out how to change this.
Any suggestions would be much appreciated.
Thanks,
Roman
0 commentaires
Réponse acceptée
Richard
le 21 Fév 2011
In the call to dicomwrite you have tried to concatenate the matrix of pixel data (I) with the name of the file - basically, you put the "I," in the wrong place. Also, I noticed that you've removed a ")" in the output filename that you probably meant to keep? Try this to write back to the same file:
dicomwrite(I, ['IMG (' int2str(i) ').dcm'])
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur 3-D Volumetric Image Processing dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!