Elastix-基于ITK的医学图像配准库
作者:翟天保Steven
版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处
Elastix是什么?
Elastix是一个广泛使用的医学图像配准库,旨在帮助研究人员和临床医生处理和分析医学影像数据。它基于强大的变形模型,支持多种配准算法,包括刚性、非刚性和图像特征配准等,能够应对不同类型的医学图像,如CT、MRI和超声等。
Elastix的核心优势在于其灵活性和可扩展性,用户可以通过配置文件自定义配准过程,选择适合的损失函数和优化算法。此外,Elastix与ITK(Insight Segmentation and Registration Toolkit)紧密集成,提供了强大的工具链,方便用户进行更复杂的图像处理任务。
该库支持多线程计算,能够有效利用现代计算机的多核处理能力,加快配准速度。其开源特性使得社区能够不断贡献新算法和功能,使Elastix在医学图像处理领域保持领先地位。无论是在基础研究还是临床应用中,Elastix都是医学图像配准的理想选择。
Elastix&ITK下载
Elastix的版本与ITK的版本强相关,要想顺利编译最好阅读下Elastix的日志,确保版本是匹配的。
我在写此博客时所用版本是Elastix5.2和ITK5.4.4,如果不追求最新版本,可从下方百度网盘下载。(建议不熟悉编译操作的读者先下载网盘版本,先跑起来再说)
Elastix-github地址:
https://github.com/SuperElastix/elastix
Elastix-百度网盘链接:
链接:https://pan.baidu.com/s/1BnrsNxGPXhlQB1ic50envg
提取码:emz4
ITK下载地址:
Download ITK - ITK's documentation
ITK-百度网盘链接:
链接:https://pan.baidu.com/s/1jCtxOcWFhma3cUI2GpzA_g
提取码:jxaa
VS下载
没有VS是没法编译的,安装2019。
详情参考:Visual Studio 2019 再分发 | Microsoft Learn
ITK编译
下载完成后,先编译ITK,再编译Elastix,ITK具体编译流程可参考下文。
Windows下用CMake编译ITK及配置测试_itk配置-CSDN博客
注意编译的时候用MSVC2019,2017不太适配Elastix5.2。
Elastix编译
1)解压。 Elastix包解压不要使路径太长,编译时候会报错,这是VS的机制。
2)在路径框输入cmake-gui,打开CMake进行编译。在路径下创建一个build文件夹。
3)点击下方configure,用2019编译。64位输入x64。
4)CMAKE_INSTALL_PREFIX改一下,放在同级目录下的bin文件夹里,这是后面编译的库所在位置。
5)ITK_DIR提示not found,是因为没配置ITK的路径,这里输入ITK编译的build路径。
6)一直点击configure,直到没有红色,点击generate生成。出现如下字样就ok了。
7)去elastix的build中打开项目elastix.sln。
8)要编译release版本,就改为Release,点击生成ALL_BUILD,等待完成,如果全部成功就可以了。
Elastix应用
Elastix本身可以以库形式调用,也可以用exe形式调用,也可以把源码融会贯通使用。演示我采用exe的方式,比较简单方便。
1)根目录下dox中存放了测试用图,我们将exampleinput和example.bat复制到build-bin-Release中,点击example.bat,即可运行Elastix。
2)很多人会提示缺少ITKXXXX.dll,这是因为ITK没有配置环境变量,我们为了方便可以直接把ITKbin中所有的dll复制到elastix测试的bin目录中。再次点击example.bat即可。
3)此时弹出一个黑窗运行程序执行代码,运行结束,exampleoutput中存放的就是配准结果。
4)result0是刚性配准结果,result1是非刚性配准结果。
5)很多人看到这里可能懵懵的,打开example.bat看看里面的内容就会清楚许多。这个脚本是通过调用elastix.exe实现配准,输入的fixed数据是固定图像,moving数据是待配准图像,后面的txt存放的是elastix配准相关的配置信息。后面transformix同理,完成了变换操作。
接下来,就可以慢慢去学习elastix的源码技术了,开源项目是伟大的,值得我们尊敬。
如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!