ADNI的MRI数据处理学习过程 (HD-BET去脑壳,FSL模板配准等)

FSL学习过程

下载及安装

​ FSL只能在Linux下运行,这里选择在WSL(windows的Linux子系统)中配置FSL。

  1. 下载:从官网FSL - FslWiki (ox.ac.uk)下载安装FSL的python文件“fslinstaller.py”。

  2. 安装:在WSL中输入 python3 fslinstaller.py,然后输入yes,等待脚本自动下载安装,完成后结果如下图。

在这里插入图片描述

使用

​ FSL除了使用bash命令和可视化UI进行使用以外,也可以用Python和R语言进行调用。这里记录Python调用的方法,用到的库为fslpy,由于网上基本没有这个库的教程,这里就安装官方文档的内容进行记录,可能会有些地方有理解错误。

fslpy的安装

参考链接 ——> { PyPI:fslpy · PyPI GitHub:GitHub - pauldmccarthy/fslpy: This is a mirror. }**

1. 库的安装: 通过pip安装,pip install fslpy;或是conda,conda install -c conda-forge fslpy
2. 依赖库的安装: wxPython;indexed_gzip;trimesh;Pillow (直接用conda或者pip就行)
3. API文档: https://open.win.ox.ac.uk/pages/fsl/fslpy/


配准到MNI152模板

​ 1. 按照官方文档的建议,首先应该先把图像的方向和模板进行统一,使用fslreorient2std进行处理。

在这里插入图片描述

​ 结果参考如下:

在这里插入图片描述

​ Python代码,直接在对应目录下打开powershell然后运行wsl,切换conda环境就可以运行Python脚本:

import os
from tqdm import tqdm
from fsl.wrappers import misc

path = 'OUT_SEG'  #文件路径
savePath = 'OUT_SEG_FR'  #保存路径
files = os.listdir(path)
bars = tqdm(files)  #进度条
for stop, file in enumerate(bars):
    filePath = os.path.join(path, file)
    fileSavePath = os.path.join(savePath, file)
    misc.fslreorient2std(filePath, fileSavePath)  #函数调用
    # if stop==10:                               #调试用的停止标志
    #     break
  1. 线性变化进行影像配准,类似的方式,调用的是fsl.wrappers.flirt.flirt方法。

在这里插入图片描述

  • src:输入图像
  • ref:参考图像
  • out:输出图像
    (还有一些其他的参数,例如空间变化方式,代价函数,插值方法可以参考命令行版本的参数设置)

​ 参考结果:

在这里插入图片描述

​ 同样的给出Python代码:

import os
from tqdm import tqdm
from fsl.wrappers.flirt import flirt

inputPath = 'OUT_SEG'  #文件路径
refPath = 'ref/MNI152_T1_1mm_brain.nii.gz'  #参考文件路径
savePath = 'OUT_SEG_FR'  #保存路径
files = os.listdir(inputPath)
bars = tqdm(files)  #进度条
for stop, file in enumerate(bars):
    filePath = os.path.join(inputPath, file)
    fileSavePath = os.path.join(savePath, file)
    flirt(src=filePath,
          ref=refPath,
          out=fileSavePath,
          cost='corratio',
          dof=12,
          interp='trilinear')  #函数调用
    if stop == 10:  #调试用的停止标志
        break

补充

1. 空间变换
当我们进行配准时,必须要选择配准的空间变换方式,不同的方式,对大脑的形状和大小改变不一样。常用的有:

  • 刚体变换(Rigid-Body Transformations): 6个自由度(3转动,3平动)
  • 仿射变换(Affine Transformations): 12个自由度(3转动,3平动,3缩放, 3偏斜/剪切)
  • 非线性变换(Non-Linear Transformations):多于12个自由度

这里的3是指有3个方向(x, y, z)

2.cost functions
cost functions,即代价函数用于评判配准的好坏。

  • correlation ratio(相关比):默认,常用于MRI模态之间
  • mutual information(互信息):常用于不同影像模态之间,如CT和MRI
  • least squares(最小二乘法):用于相同模态
  • normalized correlation(标准化相关):用于相同模态,改变亮度,对比度
  • normalized mutual information(标准化互信息):用于不同模态插值

3.fsl flirt 中的插值方法

  • trilinear(三线性插值):默认,快速

  • nearest neighbour(最近邻插值):用于离散化标签影像

  • spline(样条法):较慢,会产生范围外的值

  • sinc函数法

4.配准模板

fsl安装目录下,默认在/usr/local/fsl/data/standard文件夹中,常用的MNI152的有这些(0.5mm,1mm,2mm代表精度,带有brain的是去脑壳的。):

在这里插入图片描述

5.有关FSL的其他参考资料

6.有关分割脑壳的说明

​ 在这里所用到的影像已经是去了脑壳的,用的是一个深度学习模型HD-BET,相较于CAT12或是FSL,效果都要更加精确一些。框架是pytorch,调试起来也并不复杂,如果是tensorflow的可以使用另一个模型deepbrain,链接都放在下面了。

HD-BET链接:GitHub - MIC-DKFZ/HD-BET: MRI brain extraction tool
deepbrain链接:GitHub - iitzco/deepbrain: Deep Learning tools for brain medical images

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值