SimpleITK:应用逆变换

sch*_*cat 2 python registration image-processing transformation-matrix simpleitk

我最近开始使用 SimpleITK 进行图像配准。对于我当前的项目,我需要配准 X 射线图像和 CT 图像,然后在 X 射线图像上跟踪的 ROI 掩模上应用逆矩阵。

我得到了这一行的逆矩阵:

inverse_transform = final_transform.GetInverse()
Run Code Online (Sandbox Code Playgroud)

如何将变换应用于 ROI 蒙版?

ziv*_*ivy 6

欢迎来到 SimpleITK!

假设您的 X 射线是配准中的固定图像(CT 是移动的),那么配准的结果是从 X 射线到 CT 的变换映射点。您需要做的就是使用逆变换将 ROI 掩模图像重新采样到 CT 上。

transformed_labels = sitk.Resample(xray_roi_mask, ct_image, inverse_transform, sitk.sitkNearestNeighbor, 0.0, #out of bounds pixel color xray_roi_mask.GetPixelID())

这个 Jupyter notebook的最后一个单元就是这样做的。

补充两点意见:

  1. 不确定 X 射线到 CT 配准是什么意思。这是目前 SimpleITK 不支持的 2D/3D 配准,因此我假设您正在进行 2D/2D 或 3D/3D 配准。
  2. 由于您是 SimpleITK 的新手,我建议您查看我们的主要 Jupyter 笔记本存储库或更简洁的IEEE ISBI'18 教程,以熟悉该工具包。