2

我正在尝试使用 sitk 库来清除有偏见的 Mr 图像(MRI)。

我能够获得校正后的图像,但无法获得偏差图像。

设置以下参数:

shrink_factor=1,
mask_image=mask, 
number_of_iterations=100, 
number_of_fitting_levels=4

这是我试过的代码

corrected_image = corrector.Execute(image, maskImage)

log_bias_field = corrector.GetLogBiasFieldAsImage(inputImage)
bias_exp = sitk.Cast(sitk.Exp(log_bias_field), sitk.sitkFloat64)
bias = inputImage / bias_exp
bias = sitk.GetArrayFromImage(bias)
bias = bias / bias.max()

但我得到了这张图片:

偏见^^

你知道如何获得偏见吗?

4

1 回答 1

2

要获得偏置场函数,您需要决定全分辨率图像的分辨率:

bias_field_full_resolution = sitk.Exp(corrector.GetLogBiasFieldAsImage(biased_image_full_resolution))

当调用该Execute方法时,偏置场被估计并且校正后的图像具有与输入相同的分辨率,这通常是原始偏置图像的重新采样版本。

如果我们真的想以原始分辨率校正图像:

bias_field_full_resolution = sitk.Exp(corrector.GetLogBiasFieldAsImage(biased_image_full_resolution))
corrected_image_full_resolution = biased_image_full_resolution / bias_field_full_resolution
于 2022-02-03T20:15:13.457 回答