如何分别对每个切片执行转换?

时间:2019-05-23 11:15:02

标签: vtk itk

我有一系列圆柱部分的X射线图像。这样,我可以创建 并可视化该体积,但数据看起来像是-Z切片的堆栈 到预期的Z。 我想要的是以增量角度旋转每个切片图像 Y轴以使整个体积为圆柱形。类似于以下内容 C ++代码。

我尝试了 vtkImageReslice ,但是它不会转换整个体积数据 每个切片以增量方式。如何分别对每个切片执行这种转换? VTK或ITK有什么解决方案吗?

谢谢

void RotateEachSliceImage(VtkSliceImages& images) 
{ 
        int countImages = images.size(); 

        double incrementalAngle = 360.0 / countImages;  // incremental angle for 
each image 

        double angle = incrementalAngle; 

        for (int i = 1; i < countImages; i++) 
        { 
                images[i].rotate(angle, 1); // along Y axis 

                angle = angle + incrementalAngle; 
        } 
} 

int main() 
{ 
        VtkSliceImages slices(2400); 
        RotateEachSliceImage(slices); 
        RenderToVtk(slices); 

        return 0; 
} 

1 个答案:

答案 0 :(得分:0)

尝试逐个切片对卷进行重新采样。而不是使用Reslice Mapper,请尝试使用重采样过滤器,例如ITK's ResampleImageFilter