SimpleElastix模块安装方法
文章目录
安装方法
1 下载CMake,git还有代码
git clone https://github.com/kaspermarstal/SimpleElastix
打开cmake操作界面如图所示source code 选择下载下来的代码里的SuperBuild文件夹,生成文件夹可以自定。(路径里不要含有中文且长度不要过长)
点击configure按钮选择vs版本,这里使用的是vs2019社区版。点击Generate进行cmake生成,初始勾选如下。
可以勾选Advanced修改python库路径,可以选择性修改为自己创建的conda库路径。
可以在cmd里转到对应环境后输入conda list查看库目录。对应修改CMake里的PYTHON_EXECUTABLE
PYTHON_INCLUDE_DIR
PYTHON_LIBRARY
修改完所有配置后再次点击Generate,没有任何异常后点击Open Project。
2 vs生成代码
模式调为release,生成->配置管理器 勾选如图。
右击解决方案的ALL_BUILD点击生成即开始生成。
整个生成过程大概需要两个小时
vs生成时可能遇到的问题
SimpleElastix在生成时会用到各种依赖库,vs自动下载的库版本可能不兼容,需要自己手动下载覆盖。
openjpeg错误(MSB806)
从github上下载ITK库,覆盖生成文件夹下的ITK文件夹,删除原来生成错误的ITK-build和ITK-prefix
右键ALL_BUILD选择生成,无需重新生成。
elastix库生成错误(C2679)
与之前的错误解决方法相同,从github上下载elastix库,覆盖Elastix文件夹,删除Elastix-build和Elastix-prefix文件夹,右键All-build继续生成。
无法打开elastix-5.0.lib(LNK1181)
转到该生成路径,有elastix5.0.lib文件,该错误产生原因是不同版本的elastix生成的依赖库命名规则不同,直接将该文件重命名为elastix-5.0.lib,然后右键ALL-BUILD继续生成。
3 python库导入
${BUILD_DIRECTORY}/SimpleITK-build/Wrapping/Python
目录下的**_SimpleITK.pyd**拷贝到
${BUILD_DIRECTORY}/SimpleITK-build/Wrapping/Python/Packaging
使用命令 python setup.py install
运行setup.py
运行完毕后在CMake里设置的python库路径下会新增一个SimpleITK的库,记得将原有的SimpleITK删除,否则会优先调用没有长后缀的那个SimpleITK库。
4 测试
安装官网示例https://simpleelastix.readthedocs.io/
import SimpleITK as sitk
resultImage = sitk.Elastix(sitk.ReadImage("fixedImage.nii"), sitk.ReadImage("movingImage.nii"))
可以正确调用sitk.Elastix()
函数即为配置成功。