matlab – 从3D阵列中提取任意旋转的数据平面作为2D数组

我在matlab中有一个3D数据矩阵,但是我想从该矩阵中提取一个任意旋转的数据切片并将其存储为我可以访问的2D矩阵.类似于slice()函数如何显示以任何角度切片的数据,除了我还希望能够像查看数组一样查看和修改数据.

我有平面枢轴点的坐标以及旋转角度(在x,y和z轴上),我还计算了以下形式的平面方程:

Ax + By + Cz = D

并且可以提取仅包含落在该平面上的数据的3D矩阵,但我不知道如何将其转换为简单的2D阵列.

另一种方法是以某种方式在与平面角度相反的方向上旋转源矩阵,以便将数据平面与XY轴对齐,并简单地提取矩阵的那部分,但我这样做不知道是否可以旋转这样的矩阵.

我希望在其他地方没有得到解答,我一整天都在谷歌搜索,但似乎没有任何问题与我的完全匹配.

谢谢

最佳答案
您可以查看the code here.我认为该功能类似于您要解决的问题.
给定平面尺寸,平面中心点和平面法线,即[A,B,C].它还输出平面上每个像素的体积指数和坐标.

转载注明原文:matlab – 从3D阵列中提取任意旋转的数据平面作为2D数组 - 代码日志