gpt4 book ai didi

Matlab 3D 体积可视化 - dicom 文件

转载 作者:行者123 更新时间:2023-12-04 05:27:04 25 4
gpt4 key购买 nike

我期待将 3D 矩阵从 dicom 文件可视化到 matlab 中。由于我对 matlab 不太熟悉,我设法从 this post 获得帮助:

不同之处在于我的矩阵不是由 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])

谢谢你的帮助。

最佳答案

解决您的问题的两种选择:

  • 天真,你为什么不设置 v=v+min(v(:))所以图像将从零缩放到不同的最大值?
  • 为什么不isosurface(V,isovalue)使用负等值线为您解决这个问题?
    或者,如果您想循环 (-n:step_size:m) 中的等值以获得您想要的动态范围(使用一些 alpha(0.2) 来查看您想要的层)
  • 关于Matlab 3D 体积可视化 - dicom 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13084377/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com