2
我期待从dicom文件中将3D矩阵可视化为matlab。因为我不是很熟悉MATLAB,我设法从this post获得帮助:Matlab 3D体积可视化 - dicom文件
不同的是,我的矩阵不是由1个0,但负数是正确红色imshow(dicomeread(dicomFile))
我怎样才能获得相同的对比度,但使用3D渲染?
我的代码:
dicomFilesZm = dir(fullfile(myDcmFolder, 'SLZ-*.dcm')); %Get files name
dicomFilesZp = dir(fullfile(myDcmFolder, 'SLZ+*.dcm')); %~
Z = dicomFilesZm(end:-1:1); % sort
dicomFilesZ = [Z ; dicomFilesZp]; % recompose final array with files name
Iz1 = fullfile(myDcmFolder, dicomFilesZ(1).name);
v = NaN([size(dicomread(Iz1)) numel(dicomFilesZ)]); % creation of empty matrix with the good size
for i = 1 : numel(dicomFilesZ)
Iz = fullfile(myDcmFolder, dicomFilesZ(i).name);
v(:,:,i) = dicomread(Iz); % fill the matrix with each image
end
p = patch(isosurface(v,0));
isonormals(v, p)
set(p, 'FaceColor','r', 'EdgeColor','none')
daspect([1 1 1])
谢谢您的帮助。
谢谢你回来: –
1:我刚开始使用matlab,但我很难理解你的线条究竟做了什么,尽管我得到了它应该做的事情,谢谢,我从现在开始知道。 2:我试图把-1作为iso等值的等值面,但仍然是我的结果是黑色和白色:/ 我在想,如果imshow可以有一个很好的对比,为什么不是isosurface? 我可以提供更多信息,如矩阵的一部分诉 谢谢你的帮助。 –
isonormals(v,p)是颜色的问题。我只是删除它,如果它有帮助... –