本文是关于医学图像配准软件 ANTs(Advanced Normalization Tools)的安装和使用说明。
ANTs
ANTs 是 Advanced Normalization Tools 的缩写,是基于 C 语言的一个医学图像处理的软件,速度比较快。
ANTs 支持 2D 和 3D 的图片,包括以下格式的文件:
• Nifti (.nii, .nii.gz)
• Analyze (.hdr + .img / .img.gz)
• MetaImage (.mha)
• Other formats through itk::ImageFileWriter / itk::ImageFileWriter such as jpg, tiff, etc. See ITK documentation.
ANTs 的安装
ANTs 的安装主要有两种形式,一种是基于源码的安装,安装完毕后可以直接在命令行调用相应的功能,另一个种是基于 python 的安装,安装完毕后可以在 python 中直接调用相应的包进行使用。两种方式暂时只支持 Linux 和 Mac 系统。
(1) 基于源码安装 ANTs
首先要安装 git , cmak 和 c++ 编译器;
在命令行里运行:
1
2
3
4
5git clone git://github.com/ANTsX/ANTs.git #从github上克隆相应的仓库,保存在当前目录下的ANTs文件夹下
mkdir antsbin #创建antsbin文件夹
cd antsbin #进入antsbin文件夹
ccmake ../ANTs #进入cmake界面,然后依次按下'C'键,稍作等待,再按下'C'键和'G'键,分别完成设置和生成后回到命令行
make -j 4 #进行编译,需要运行较长时间如果遇到 cmake 或 ccmake 版本不匹配的问题需要将其卸载重装,并更新环境变量。
编译完之后如果在 antsbin 目录下出现 bin 目录,则可以进行下一步了,若没有 bin 目录,需要自己建立 bin 目录,并把三个地方的文件拷贝进去,具体做法如下:
1 | # 在 antsbin 目录下 |
- 设置环境变量,更改.bashrc或.profile文件
1 | cd ~ #回到home文件夹下 |
ANTs 的使用
在 ANTs/Scripts 路径下有各种各样的 .sh 文件,较为常用的有antsRegistrationSyN.sh 等,为了方便调用可以将 .sh 文件的路径添加到环境变量中去:
1 | vi ~/.bashrc #打开.bashrc文件并在末尾添加以下内容 |
然后直接在命令行使用 antsRegistrationSyN.sh ,如果给出该命令的使用方法,则配置成功,如果给出报错信息则配置失败。
因为我手中没有 .nii 格式的配准数据,就用 .jpg 格式的图像做的实验,使用的 fixed image(上图)和 moving image(下图)如下:
配准命令为:
1 | antsRegistrationSyN.sh -d 2 -f fixed_img.jpg -m moving_img.jpg -o output |
其中 -d 2 表示数据是 2 维图像,-f fixed_img.jpg 是 fixed image 对应的图像名称,-m moving_img.jpg 是 moving image 对饮的图像名称,-o output 是输出结果的前缀名。输出的数据如下:
output0GenericAffine.mat , output1Warp.nii.gz 分别表示线性变换和非线性变换估计出的映射关系,outputWarped.nii.gz 表示将 moving_img.jpg 配准到 fixed_img.jpg 后的图像,outputInverseWarped.nii.gz 表示将 fixed_img.jpg 配准到 moving_img.jpg 后的图像。outputWarped.nii 和 outputInverseWarped.nii 的图片如下:
(2) 基于 python 安装 antspy
安装方法请参考github。
antspy现在应该只支持macos和linux系统,windows暂不支持,我ubuntu下是用以下命令安装的:
1 | git clone https://github.com/ANTsX/ANTsPy |
antspy的使用方法可以见官方使用手册,如果是做配准相关的,只需要看Core和Registration对应的内容,下面我也对配准中常用的函数做了下整理:
1 | import os |
- 本文作者: 俎志昂
- 本文链接: zuzhiang.cn/2020/02/14/ANTs/
- 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!