我正在尝试将 SimpleITK 中的 N4ITKBiasFieldCorrectionImageFilter 应用于 MRI 扫描作为预处理步骤。根据我收集到的信息,这可以在 3D 中执行,并且我一直在使用以下代码应用它:
corrector = sitk.N4BiasFieldCorrectionImageFilter()
maskImage=sitk.OtsuThreshold(Original_scan, 0, 1, 200)
I = sitk.Cast( Original_scan, sitk.sitkFloat32 )
BiasCorrected_scan=corrector.Execute(I,maskImage)
我最终在执行函数时不断收到相同的错误:
RuntimeError: Exception thrown in SimpleITK N4BiasFieldCorrectionImageFilter_Execute: c:\d\vs14-win64-pkg\simpleitk-build\itk-prefix\include\itk-4.11\itkImageToImageFilter.hxx:250:
itk::ERROR: SubtractImageFilter(0000021C00CCEEA0): Inputs do not occupy the same physical space!
InputImage Origin: [1.2708700e+02, -1.5783400e+02, 9.0149000e+01], InputImage_1 Origin: [6.5250000e+01, -5.4894173e+01, 5.4894173e+01]
Tolerance: 4.2969999e-05
InputImage Spacing: [4.2969999e-01, 4.2969999e-01, 3.0000000e+00], InputImage_1 Spacing: [5.4894173e+01, 5.4894173e+01, 6.5250000e+01]
Tolerance: 4.2969999e-05
有人有执行此过滤器的经验吗?
PS。即使我在执行过滤器之前设置了原点和间距,也会发生错误。
提前谢谢