我有一个nifti.nii
格式的掩码文件。其中具有一个boolean
3d数组,其中包含相连的组件。邮件头中还带有affine
转换矩阵,其中包含一些附加信息。
我还有另一个dicom
格式的蒙版。这也是一个3D阵列。
我想做的是通过将nifti
掩码重叠到dicom
掩码上来计算骰子得分。
但是,由于nifti
蒙版和dicom
蒙版处于不同的坐标系中,并且像素间距也不同,因此在计算骰子得分之前必须对齐它们。为此,我正在使用simpleITK。贝娄是我的代码
transform = sitk.CenteredTransformInitializer(ref_dicom_series,
nifti_mask,
sitk.Euler3DTransform(),
sitk.CenteredTransformInitializerFilter.GEOMETRY)
resampledMask = sitk.Resample(nifti_mask,
ref_dicom_series,
transform,
sitk.sitkNearestNeighbor,
0.0, #out of bounds pixel color
nifti_mask.GetPixelID())
重新采样后,重新采样的蒙版具有相同的原点和间距。 但是,当我通过覆盖重采样和dicom蒙版绘制冠状,轴向和矢状切片时,可见它们没有重叠。
所以我的问题是如何实现目标。代码示例将不胜感激。 谢谢