2016-06-23 51 views
3

我遇到了一個問題,可以計算和可視化沿3D表面法線方向的最大強度投影(MIP)。如何獲得沿3D表面法線方向的最大強度投影

這個問題似乎很容易,如果我們只是想獲得沿軸線之一,比如一些簡單的Matlab的代碼,

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

不過,我感興趣的相處表面法線的MIP,例如,我已經得到了一些表面和表面正常的情節是這樣的:

enter image description here

如果我們想象,表面有一些厚度與分配一些強度,我想沿着表面法線的MIP(NO T沿x,y或z軸)。

我在網上找到另一個例子是這樣的

enter image description here

在(a)是一些3D渲染的表面,和(b)表示的表面法線。 (c)顯示了計算的MIP,因爲3D表面有一定的厚度。

我不確定我們是否可以在Matlab中實現這一點,或者某些第三方軟件可以做到這一點。請給我一些提示。非常感謝。

A.

+0

我認爲(a)和(c)可以用'patch'來實現。看看[這裏](https://fr.mathworks.com/matlabcentral/answers/134922-how-to-colour-a-3d-image-with-a-continuous-spectrum-of-colours) – shamalaia

+0

@A_C感謝您的回覆。是的,我想我知道如何在Matlab中繪製(a)和(c)。其實我對繪圖(c)感興趣,因爲我們首先需要計算MIP。乾杯。 –

回答

1

以表面法線和從表面點到攝像機位置去的位移矢量,併除以它們的量值的乘積之間的點積,以獲得角的餘弦(θ) 。如果這小於零,則忽略(背面剔除);如果在0和1之間,則使用此參數在藍色和紅色之間進行插值。

enter image description here

+0

非常感謝您的回覆。我相信你所說的話有道理,但我無法理解這一點。您是否有詳細的參考資料(如紙質或在線資料)讓我查看或使用一些僞代碼來更好地理解這一點? –

+0

@SamoJerom見圖 –