【SimpleElastix】配准工具入门
写在前面
Elastix
是一种常用的配准软件,而SimpleElastix
则综合了Elastix
工具和SimpleITK
库,它是一个功能强大的Python版配准工具包。然而,我们不能通过pip、conda等命令直接获取这个工具包,而是需要自己动手进行编译与安装。
本文将以Windows系统为例,对SimpleElastix
的安装流程进行总结,最后将给出该工具包的一个Demo。
Python | 生成工具 | 编译器 | 操作系统 |
---|---|---|---|
3.6.15 | CMake 3.x.x | Visual Studio 2015 | Win10 / Win11 |
注:此处中给出的只是笔者所用的环境配置,仅供参考
1. 编译安装
1.1. 准备各种环境
(1)准备较低版本的Python环境
- 建议用Anaconda专门为其创建一个新环境:
1 | conda create -n py36 python=3.6.15 |
- 请不要提前安装
SimpleITK
1 | pip uninstall SimpleITK |
- 请记得更新
virtualenv
1 | pip install --upgrade virtualenv |
(3)准备好Visual Studio,建议使用VS2015:
- 从此处下载VS2015 U3安装包:
- 进入安装程序,勾选“Win10 SDK”以及“ATL/MFC SDK”并安装:
1.2. 使用CMake构建项目
(1)使用Git工具下载SimpleElastix项目
1 | git clone https://github.com/kaspermarstal/SimpleElastix |
注意:直接从Github网站下载Zip包进行编译可能会出错
(2)在第一个框内输入SimpleElastix/SuperBuild
所在路径,在第二个框内输入自定义的输出路径
(3)在搜索框内输入“python”,并勾选“Advanced”;在搜索结果中找到PYTHON_EXECUTABLE
、PYTHON_INCLUDE_DIR
、PYTHON_LIBRARY
,并根据环境安装位置修改常量的值:
(4)点击“Generate”生成项目文件,生成的文件可在第2步的输出路径中可找到:
1.3. 使用VS编译项目
(1)以管理员身份运行Visual Studio的“Native Tools Command Prompt”,并进入到生成文件所在路径
(2)运行下面的命令并等待执行完成,整个过程大约需要2h
1 | msbuild ALL_BUILD.vcxproj /p:Configuration=Release |
1.4. 安装SimpleElastix
(1)以管理员身份运行cmd,进入到生成的SimpleITK-build/Wrapping/Python
路径下(如果你有多个Python环境,请一定记得切换Python环境)
(2)运行下面的命令并等待执行完成,整个过程大约需要几分钟:
1 | python Packaging\setup.py install |
(3)检查安装是否成功(如果它没报错,就说明安装成功了):
1 | import SimpleITK as sitk |
1.5. 可能遇到的问题
(1)因访问Github超时而导致的编译错误
因为VS编译此项目需要从Github上下载文件,这个过程可能会出现访问超时现象。如果出现这类报错,可以多编译几次试试
(2)error C2169: “lrintf”: 内部函数,不能定义
当我们使用比VS2015更新的编译器进行编译时,编译器会提示这个错误,这是因为我们下载的ITK包中的“OpenJPEG”太旧了,我们可以自行从Github中下载相应文件并替换上去,然后重新编译
(3)TypeError: expected str, bytes or os.PathLike object, not int
请记得将
virtualenv
更新,并且不要提前安装SimpleITK
2. 使用案例
1 | import SimpleITK as sitk # SimpleElastix |
写在最后
- 如果您发现项目存在问题,或者如果您有更好的建议,欢迎在下方评论区中留言讨论~