如何在三维空间中获取沿着表面法线方向的最大强度投影

3

我在计算和可视化三维表面法线方向上的最大强度投影(MIP)时遇到了问题。

如果我们只是想沿一个轴获取MIP,问题似乎非常简单,例如一些简单的Matlab代码:

% Generate sample 3D matrix
A = rand(2,2,2)
% Get maximum intensity projection.
mip = max(A, [], 3)

然而,我对获取沿表面法线的MIP感兴趣,例如,我有一些表面,表面法线图看起来像这样:enter image description here。如果我们想象一下表面有一定的厚度,并且分配了一些强度,我想要得到沿表面法线(而不仅仅是沿x、y或z轴)的MIP。
我在网上找到的另一个例子如下:(a)是一些3D渲染表面,(b)显示了表面法线。(c)显示了计算出的MIP,因为3D表面有一定的厚度。enter image description here 我不确定是否可以在Matlab中实现此目标,或者是否有第三方软件可以完成此操作。请给我一些提示。非常感谢。A.

我认为(a)和(c)可以通过使用patch实现。请在这里查看。 - shamalaia
@A_C 感谢您的回复。是的,我想我知道如何在Matlab中绘制(a)和(c)。实际上,我对绘制(c)很感兴趣,因为我们需要先计算MIP。干杯。 - Samo Jerom
1个回答

1
取表面法线和从表面点到相机位置的位移向量的点积,并将其除以它们大小的乘积,以得到角度(θ)的余弦值。如果小于零,则忽略(背面剔除);如果在0到1之间,则使用此参数在蓝色和红色之间插值。

enter image description here


非常感谢您的回复。我相信您所说的是有道理的,但我还无法理解。您是否有详细的参考资料(如论文或在线手册)供我查阅,或者一些伪代码以便我更好地理解? - Samo Jerom
@SamoJerom 请查看图表。 - user3235832

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