当前位置: 首页 > news >正文

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的源码技术了,开源项目是伟大的,值得我们尊敬。

       如果文章帮助到你了,可以点个赞让我知道,我会很快乐~加油!


http://www.mrgr.cn/news/64242.html

相关文章:

  • 面向对象 -面向过程
  • 统信UOS开发环境支持php
  • 森利威尔SL2516D 耐压60V内置5V功率MOS 支持PWM LED恒流驱动器芯片
  • 【php常用公共函数】php获取指定时间段相差几小时,几分钟,几秒
  • 推荐一款音乐制作软件:Ableton Live Suite
  • Three.js 快速入门构建你的第一个 3D 应用
  • Java中对象的转移(1)——序列化与反序列化
  • 初探Flink的序列化
  • 手撕快排的三种方法:让面试官对你刮目相看
  • 到底要不要用SAP Screen Personas
  • Unity中的屏幕坐标系
  • Matlab车牌识别课程设计报告模板(附源代码)
  • 【OJ题解】C++实现反转字符串中的每个单词
  • Excel函数CUnique连接合并指定区域的唯一值
  • 远程控制时频繁掉线的原因
  • [每周一更]-(第121期):模拟面试|微服务架构面试思路解析
  • 使用 Faster Whisper 和 Gradio 实现实时语音转文字
  • 2024系统架构师---综合题考试真题答案
  • cangjie仓颉程序设计-程序结构(二)
  • 【含文档】基于ssm+jsp的超市订单后台理系统(含源码+数据库+lw)
  • Mac OS 配置Docker+Mysql
  • 2024 Rust现代实用教程 Trait特质
  • Docker:namespace隔离实战
  • 模板注入代码执行漏洞
  • 前端三件套(HTML + CSS + JS)
  • 为什么大家都在学数字孪生呢?