Soru sorDICOM görüntüde boyut sorunu
senna tarafından 5 yıl önce soruldu

clc;clear;
n=0;
img=zeros(512,581,52);
n=0;
for i=670:691; 
n=n+1;
dosya=strcat('1.3.12.2.1107.5.1.4.95454.30000016040505322227500040',num2str(i),'.dcm');
img(:,:,n)=dicomread(dosya)
end
Bu kod ile birden fazla DICOM görüntü okutmaya çalışıyorum.Ancak şöyle bir hata veriyor:
Unable to perform assignment because the size of the left side is 512-by-512 and
the size of the right side is 512-by-513.
nasıl çözebilirim?

2 Cevap
hakkans Yönetici tarafından 5 yıl önce cevaplandı

Verilen hatada img(:,:,n)'in 512×512 olduğu veriliyor ama tanımlamanıza bakılırsa 512×581 çıkması lazım. Dosyanızın boyutu 512×513, img ı img=zeros(512,513,52) şeklinde tanımlayıp tekrar deneyebilir misiniz? Sorununuz çözülmezse for döngüsünü bir adım çalışacak şekilde yapıp (for i=670 diyerek mesela), img'yi tanımladığınız satırı silip, komut penceresinden clearvars yapıp, for döngüsü içine sadece img=dicomread(dosya) yazarak deneme yapar mısınız? Bu img dosyasının boyutları ne olarak çıkıyor?

senna tarafından 5 yıl önce cevaplandı

zeros kısmını düzeltince çalıştı gözümden kaçmış.teşekkür ederim.