hi plz help me in this probleme i wont to créate a montage of dicom image with 26 images
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
mima zebouchi
il 10 Apr 2016
Modificato: mima zebouchi
il 10 Apr 2016
s = dicomread('SE000005\IM00000.dcm'); [r c] = size(s);
X = repmat(int16(0), [256 256 0 25])
for i=1:26
filename = sprintf('SE000005\\IM0000%d.dcm', i);
X(:,:,1,i) = dicomread(filename);
end
montage(X,'displayrange',[]);
but
error in X(:,:,1,i) = dicomread(filename);(Subscripted assignment dimension mismatch.)
)
0 Commenti
Risposta accettata
Image Analyst
il 10 Apr 2016
Do you have the right dimensions? Looks like it must be a 4-D array. From the help:
montage(I) displays all the frames of a multiframe image array I in a single image object. I can be a sequence of binary, grayscale, or truecolor images. A binary or grayscale image sequence must be an M-by-N-by-1-by-K array. A truecolor image sequence must be an M-by-N-by-3-by-K array.
What does this say:
whos X
3 Commenti
Image Analyst
il 10 Apr 2016
Well, there you go -- X is empty. You need to step through with the debugger to figure out why you're not reading in the files. Like, try using exist(). And try using the folder, even if it's pwd, and fullfile, like I did below:
filename = fullfile(pwd, sprintf('SE000005\\IM0000%d.dcm', i))
if ~exist(filename, 'file')
message = sprintf('Error: file does not exist:\n%s', filename);
uiwait(warndlg(message));
continue;
end
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Medical Physics in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!