怎么只有边缘和透明立方体叠加的脸吗

5视图(30天)
你好,
我已经创建了一个多维数据集和dicom图像的叠加。我现在需要做的是使透明立方体的面孔,因此,只有边缘的多维数据集。我创建多维数据集和dicom图像叠加:
[M, N, L] =大小(图像放大);
多维数据集= 0 (info_imag。宽度,info_imag。高度,L);
多维数据集(位置(1)-10:(位置(1,1)+ 9(位置(2,1)-10:(位置(2,1)+ 9(位置(3,1)-10:(位置(3,1)+ 9)= 0.3;
我= (int16(1000 *立方体))+图像放大;
有人建议一个想法如何做呢?
2的评论
伊莎贝尔
伊莎贝尔 2015年6月15日
编辑:伊莎贝尔 2015年6月15日
嗨Sreeja,
我将试图解释更好的自己。我添加了一个例子,dropbox所以你可以下载数据 https://www.dropbox.com/sh/h6zgec40ctsevog/AAAz7YaQ1uwlZwVCwPsDhCp3a?dl=0 。一旦你读,我叫变量“图像放大”体积数据(512 x512x511)。加载数据后,我应用我写的代码在我的第一个元素。可视化我使用这个查看器,通过使用SliceBrowser(我) //www.tianjin-qmedu.com/matlabcentral/fileexchange/20604-3d-slice-viewer 不过,您可以使用任何其他观众。
位置可以使用例如:
位置= [190;370;210);
多维数据集将出现在轴向视图中片180年和199年之间(你也可以看到其他视图,saggital日冕,在给定的位置)。到目前为止我控制透明度与第三行代码从我的第一个元素,因此,如果我做= 0立方体将完全透明,如果我做= 1将完全不透明。
问题是,如果我不做完全透明,用户看不到是什么在多维数据集。然而,当多维数据集是完全透明的,立方体的边缘也,然后用户看不到了立方体所在地。所以,我想做的是立方体的脸完全透明但边缘仍可见。
我希望现在是更清楚,你可以帮助我。
提前谢谢你

登录置评。

接受的答案

伊莎贝尔
伊莎贝尔 2015年6月16日
好吧,最后我解决了我的问题通过应用shapeInserter每个片。我离开这里的代码,它可以对别人有用。
shapeInserter = vision.ShapeInserter;
矩形= int32([位置(我,2)位置(我,1)20 20]);
r = 1:尺寸(图像放大,3)
如果r = =位置(我,3)
i =(位置(我,3)-10):(位置(我,3)+ 9)
我=(图像放大(:,:我));
J (:,:, i) = (shapeInserter,矩形)步;
结束
其他的
J (:,:, r) =图像放大(:,:,r);
结束
结束
Sreeja和沃尔特感谢您的评论。

答案(1)

沃尔特·罗伯森
沃尔特·罗伯森 2015年6月15日
你表明你SliceBrowser(测试),但你没有定义测试显示,只有多维数据集。
使用显示亮度图像SliceBrowser()()做的切片工作。SliceBrowser不操作的透明度。如果我读源正确唯一边缘吸引明确十字准线。我认为没有理由说分配0或1影响透明度当使用SliceBrowser:它只是控制的数据值通过colormap处理。
如果你想继续使用SliceBrowser然后您将需要设置一个薄壳的外面周围的像素区域要指出。
但是如果你想谈论面孔和边缘和透明度你应该使用补丁等其他显示机制()或()。
1评论
伊莎贝尔
伊莎贝尔 2015年6月15日
编辑:伊莎贝尔 2015年6月15日
你好沃尔特,
对不起,当我写“测试”我想说“我”从我这里发布的代码。我将编辑,避免混淆。
我只是使用SliceBrowser作为观众,然而多维数据集添加到容积图像之前手(I = (int16(1000 *立方体))+图像放大,)。我的意思是,我不假装SliceBrowser修改立方体的透明度。我想,当我将多维数据集添加到容积图像,这个立方体已经面临着透明的,只有边缘清晰可见。
我设法做成衣的2 d但我不知道如何推断3 d。我在这里添加2 d中的示例,希望这有助于澄清我假装什么。
shapeInserter = vision.ShapeInserter;
我=(图像放大(:,:,210));
矩形= int32 ([370 190 20 20]);
J =步骤(shapeInserter,矩形);
imshow (J);
谢谢你!

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!