医学图像配准工具SimpleElastix的配置和入门

医学图像配准工具常见有ITKSimpleITKANTsElastixSimpleElastix
其中SimpleElastix综合了SimpleITK和Elastix,并且能够实现Python命令行调用,较为方便,本篇博客主要介绍了SimpleElastix在linux上的配置,对于Windows和Mac系统可以参考官方介绍

注意:SimpleElastix虽然会调用SimpleITK,但是这里的SimpleITK并不是简单的标准库SimpleITK,而是SimpleElastix的Gtihub代码里自定义的SimpleITK文件。
即SimpleElastix的SimpleITK包含了标准库SimpleITK和其他自定义函数,必须先区分好这两者的区别否则会出错。

安装环境配置

1.SimpleElastix包含一个脚本,该脚本会自动下载并安装所有依赖项。这在CMake术语中称为“ SuperBuild”。我们只需要CMake,git和一个编译器工具链来编译SuperBuild。
安装CMake和git,在终端输入:

sudo apt install cmake git build-essential

2.安装完这些文件后,我们使用以下命令下载代码并开始构建:

git clone https://github.com/SuperElastix/SimpleElastix
mkdir build
cd build
cmake ../SimpleElastix/SuperBuild
make -j4

注:注意在构建过程中不要耗尽内存。根据经验,每个内核需要4GB的内存。例如,如果我们使用4个内核(例如make -j4)编译SimpleElastix,则我们需要一台至少具有16GB RAM的计算机。整个项目大约需要一个小时才能在四核计算机上进行编译。

3.SimpleElastix将针对可以自动检测的语言进行编译。开始编译SuperBuild之前,需要安装目标语言依赖项。首先安装相关的Python包,在Linux终端安装:

sudo apt-get install python python-dev monodevelop r-base r-base-dev ruby ruby-dev tcl tcl-dev tk tk-dev

4.语言包将构建在…/SimpleITK-build/Wrapping目录中。然后,我们必须运行特定于语言的安装脚本。
在此之前要先把更改一个文件_SimpleITK.so,可以选择复制后重命名或者直接对原文件重命名,我选择的是直接复制后重命名为SimpleITK.so
在这里插入图片描述
若不进行此操作将会报错:

error: can’t copy ‘/home/yqs/bulid/SimpleITK-build/Wrapping/Python/Packaging/_SimpleITK.so’: doesn’t exist or not a regular file

接着运行以下代码进行安装:

cd ./SimpleITK-build/Wrapping/Python/Packaging
sudo python setup.py install

这将安装SimpleElastix,然后我们可以将其导入我们自己的脚本中。

用Python进行配准

import sys
sys.path.insert(0, '../build/SimpleITK-build/Wrapping/Python')    #定位到SimpleElastix安装路径
import SimpleITK as sitk   #导入SimpleElastix自定义的SimpleITK而不是标准库SimpleITK

fixedImage = sitk.ReadImage('fixedImage.nii')    #导入fixed图
movingImage = sitk.ReadImage('movingImage.nii')  #导入moving图
parameterMap = sitk.ReadParameterMap('Parameter.txt') #读取配准参数文件
resultImage = sitk.Elastix(fixedImage, movingImage, parameterMap)  #得到moving形变图
sitk.WriteImage(resultImage, save_path)  #保存结果

以上便是配准工具SimpleElastix的配置和入门实现过程,对于用Elastix通过命令行实现配准可以参考这篇博客:Elastix配准工具配置和入门

  • 3
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值