MRI图像N4偏置场校正原理及代码实现

本文介绍了如何使用SimpleITK库在Python中实现N4偏置场校正算法,以减少MRI扫描中的信号强度不均匀性。作者展示了具体代码并分享了处理前后图像的对比,结果显示处理后图像像素趋于均匀。
摘要由CSDN通过智能技术生成

原理引入

由于扫描仪本身以及扫描过程中的偏差等因素,磁场出现变化,MRI扫描显示出强度不均匀,图像的某一部分在可视化时会显得更亮或更暗。这些信号强度的变化并不是由于解剖学差异导致,所以偏置场效应可能会对图像分析造成影响。
N3和N4偏置场校正算法是广泛采用的避免信号强度不均匀性的技术。
在这里插入图片描述

实现

#2024/01/23
#author:看星河的兔子-CSDN
#N4BiasFieldCorrection

import SimpleITK as sitk
import os

path='待转换数据'
path1='已转换数据'
for i in os.listdir(path):
# 进行偏置场校正
    one_img = os.path.join(path,i,'img.nii.gz')
    one_mask = os.path.join(path,i,'mask.nii.gz')
    # 获取数据类型
    image = sitk.ReadImage(one_img)
    mask = sitk.ReadImage(one_mask)
    input_image = sitk.Cast(image, sitk.sitkFloat32)
    input_mask = sitk.Cast(mask, sitk.sitkUInt8)
    corrector = sitk.N4BiasFieldCorrectionImageFilter()
    output_image = corrector.Execute(input_image,input_mask)
    output_image = sitk.Cast(output_image, sitk.sitkUInt16)
    folder_path = os.path.join(path1 , i)
    if not os.path.exists(folder_path):
        os.makedirs(folder_path)
    savepath = os.path.join(folder_path ,'img.nii.gz')
# 保存校正后的数据
    sitk.WriteImage(output_image, savepath)

结果

我处理的是MRI图像数据,原格式是nii.gz
因为我的数据偏置场效应不是很严重,处理之后效果不是很明显,左图为原图像,右图为偏置场效应处理后图像,可以看出像素均匀了。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

看星河的兔子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值