如何在Matlab中读取DICOM文件?

3

我有一个256*256*3大小的dicom文件。但是,当我使用matlab中的dicomread命令读取该文件时,dicom文件的大小变成了256*256。如何解决这个问题?

`close all;
clear all;
clear all;
%here we are reading the image and adding noise into that image.
sigma = 25;% standard deviation
P ='C:\Users\kitty\Dropbox\denoise_ksvd\ADNI';
D=dir(fullfile(P,'*.dcm'));
C=cell(size(D));
for k=1:numel(D)
    C=dicomread(fullfile(P,D(k).name));
   IMin0(:,k)=C(:);
end `
1个回答

6
我不是Matlab专家。然而,您显然正在尝试读取由多个单帧图像组成的体积。为了做到这一点,Matlab文档说您需要使用dicomreadVolumedicomreadVolume接受目录作为输入,读取目录中的所有文件并从中构建4D体积数据集。
再次强调,我对matlab不太熟悉,但我认为您读取文件的代码应该如下:
P ='C:\Users\kitty\Dropbox\denoise_ksvd\ADNI';
X=dicomreadVolume(P);

1
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。- 来自审查 - Michał Turczyn
@MichałTurczyn:谢谢,已相应地编辑了答案。 - Markus Sabin
1
稍微多解释一点会更好。 :) - VividD
1
@VividD:就我所看到的,这个答案非常完整。其余的都在问题中了。DICOM文件是一个体积(一个文件中有多个切片),因此dicomreadvolume是读取文件的推荐方法。你还缺少什么? - Markus Sabin
2
我没有漏掉任何东西,我正在尝试帮助您组织一个更好的答案。例如,想象一下,您的答案中的链接已经失效了,编写答案使其可以“独立运行”。即使引用文档也会好得多。问题是,在三年内,这些链接很可能无法使用。 - VividD
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接