我正在使用 Scipy 从 3D 数据(矢量 200x200x200)渲染平面。我可以通过 2 个向量或向量和一个角度来指定想要的平面。我想从这个 3D 体积中提取这样一个任意切片。我在 Matlab 中找到了如何做到这一点: http: //www.mathworks.com/help/techdoc/ref/slice.html 如何在 Scipy 中做到这一点?
问问题
3205 次
2 回答
4
您可以使用scipy.ndimage.interpolation.rotate将 3d 数组旋转到您想要的任何角度(它使用样条插值),然后您可以从中取出切片。
于 2012-07-01T15:18:23.013 回答
3
def extract_slice(data, triplet):
"""
算法:
1. 找到平面与数据框边缘的交点
2. 对于这些点,找到面向轴的 b-box
3. 找到“后” trans (A,T ) 从 R2 到 R3,例如 X' = AX + T
使用 (0,0), (0,h), (w,0) 很容易计算
4. 对每个值使用 trans (使用三线性插值)在 2D (w,h) 图像中
"""
我相信作为这个项目的一部分,我会在几个月内正确发布代码。
于 2012-07-25T11:02:37.157 回答