matlab的使用"overlayVolume"显示
Use of matlab "overlayVolume" display
我正在研究卷,我有一个面具和一个 CTMEP。面罩可以定位肿瘤。
起初,我想找到一种方法来叠加我的两本书,以便我发现:
http://www.mathworks.com/matlabcentral/fileexchange/39460-overlayvolume/content/overlayVolume.m。
我试过了,但我对出现的 3 个数字不满意。
事实上,显示器太暗了,我无法区分器官的不同部分。我不知道我必须修改哪个参数才能看到我的器官。一开始我以为是因为我在 HU 中,但即使在灰度中我也看不到任何东西。我加一张我看到的图片。
感谢您的帮助。
这里是link。
这完全取决于如何在 overlayVolume
中调用绘图函数。
当您使用 imshow(I)
时,它针对不同类型的数据表现不同。
如果您的数据是 uint8
,imshow
将假定它在 0-255 范围内。如果您的数据是 uint16
,它将假定它是 0-65535。这意味着它将为 65535 绘制白色,为 0 绘制黑色。
如果您的数据是双精度的,imshow(I)
将假定它在 0-1 范围内(因此将图像转换为双精度并除以其最大值将正确绘制它)。
在您的案例中,您正在处理 X 射线图像。通常,在这种类型的数据中,由于您需要的分辨率,您需要存储在 uint16
类型中的值,但您通常不会使用整个范围,因为图像是由数学算法创建的。您的最大值是 4071
,它更接近黑色 (0) 而不是白色 (65535),因此几乎所有内容都以黑色或深灰色绘制。将其转换为 double 并将其置于 0-1 范围内即可解决问题。
如果函数 imshow()
不在其他人创建的 class 中,但您将其放入代码中,我的建议会有所不同。 imshow
接受范围作为输入,因此您可以 imshow(I,[0 4071])
强制 4071 为 "white"。更一般地说,你可以做imshow(I,[min(I(:) max(I(:)])
,或者等效的调用(更简洁)imshow(I,[])
。
我正在研究卷,我有一个面具和一个 CTMEP。面罩可以定位肿瘤。 起初,我想找到一种方法来叠加我的两本书,以便我发现: http://www.mathworks.com/matlabcentral/fileexchange/39460-overlayvolume/content/overlayVolume.m。
我试过了,但我对出现的 3 个数字不满意。 事实上,显示器太暗了,我无法区分器官的不同部分。我不知道我必须修改哪个参数才能看到我的器官。一开始我以为是因为我在 HU 中,但即使在灰度中我也看不到任何东西。我加一张我看到的图片。
感谢您的帮助。
这里是link。
这完全取决于如何在 overlayVolume
中调用绘图函数。
当您使用 imshow(I)
时,它针对不同类型的数据表现不同。
如果您的数据是 uint8
,imshow
将假定它在 0-255 范围内。如果您的数据是 uint16
,它将假定它是 0-65535。这意味着它将为 65535 绘制白色,为 0 绘制黑色。
如果您的数据是双精度的,imshow(I)
将假定它在 0-1 范围内(因此将图像转换为双精度并除以其最大值将正确绘制它)。
在您的案例中,您正在处理 X 射线图像。通常,在这种类型的数据中,由于您需要的分辨率,您需要存储在 uint16
类型中的值,但您通常不会使用整个范围,因为图像是由数学算法创建的。您的最大值是 4071
,它更接近黑色 (0) 而不是白色 (65535),因此几乎所有内容都以黑色或深灰色绘制。将其转换为 double 并将其置于 0-1 范围内即可解决问题。
如果函数 imshow()
不在其他人创建的 class 中,但您将其放入代码中,我的建议会有所不同。 imshow
接受范围作为输入,因此您可以 imshow(I,[0 4071])
强制 4071 为 "white"。更一般地说,你可以做imshow(I,[min(I(:) max(I(:)])
,或者等效的调用(更简洁)imshow(I,[])
。