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.rhkb.cn/news/462922.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

清华双臂机器人扩散大模型RDT:先预训练后微调,支持语言、图像、动作多种输入

前言 通过上文介绍的GR2,我们看到了视频生成模型在机器人训练中的应用,无独有偶,和GR2差不多一个时期出来的清华RDT,其模型架构便基于视频生成架构DiT改造而成(当然,该清华团队其实也在DiT之前推出了U-ViT&#xff0c…

远程连接服务

目录 一、远程连接服务器简介 二、连接加密技术简介 三、认证阶段 四、ssh实验 1.修改ssh服务器的端口号 2.拒绝root账户远程登录 3.允许特定用户ssh登录,其他用户无法登录 4.ssh-keygen 一、远程连接服务器简介 概念: 远程连接服务器通过文字或…

YOLOv5之Common.py

文章目录 1.学习目的2.网络模型![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/67b8dbd00c9b4034ba370fc8b8a6031a.jpeg)3.common.py分析 1.学习目的 YOLOv5中最关键一个模型类 2.网络模型 3.common.py分析 # Ultralytics YOLOv5 🚀, AGPL-3.0 license…

获取Windows计算机信息的一些常用命令

一、获取Windoiws计算机基本信息 1.1、获取系统详细信息 # systeminfo的详细用法帮助命令 systeminfo /? 通过获取系统信息可以了解系统版本内容、硬件信息、域信息和补丁情况。 systeminfo 1.2、获取系统已经启动的服务 # net的详细用法帮助命令 net /? 1.2.1、获取系…

通过 codespaces + ipad 来进行算法训练

目录 零、前言 一、环境搭建 二、DockerFile 2.1 主要流程 2.2 个人模板 零、前言 最近遇到了翘不了的水课,想在课上写题,但是游戏本一个是太重,一个是续航不行,然后想到了在Ipad 上通过云IDE来码题。 一开始用的腾讯云的 C…

部署Prometheus、Grafana、Zipkin、Kiali监控度量Istio

1. 模块简介 Prometheus 是一个开源的监控系统和时间序列数据库。Istio 使用 Prometheus 来记录指标,跟踪 Istio 和网格中的应用程序的健康状况。Grafana 是一个用于分析和监控的开放平台。Grafana 可以连接到各种数据源,并使用图形、表格、热图等将数据…

深入理解Redis的四种模式

Redis是一个内存数据存储系统,支持多种不同的部署模式。以下是Redis的四种主要部署模式。 1、单机模式 单机模式是最简单的部署模式,Redis将数据存储在单个节点上。这个节点包括一个Redis进程和一个持久化存储。单机模式非常适合小型应用程序或者开发和…

uln2003驱动28BYJ-48步进电机

欢迎入群共同学习交流 时间记录:2024/11/2 一、模块解析 1.uln2003 E脚:接GND COM脚:接VCC外部电源 1-7B:输入引脚 1-7C:输出引脚,输入与输出反向 无法输出高电平,外围电路需要接上拉电路…

使用 PyCharm 构建 FastAPI 项目:零基础入门 Web API 开发

使用 PyCharm 构建 FastAPI 项目:零基础入门 Web API 开发 本文提供了一份完整的 FastAPI 入门指南,涵盖从环境搭建、依赖安装到创建并运行一个简单的 FastAPI 应用的各个步骤。通过 FastAPI 和 Uvicorn,开发者可以快速构建现代化的 Web API…

SAP ABAP开发学习——BAPI

目录 业务对象 概念 ​编辑业务对象浏览 BAPI BAPI的浏览 BAPI的调用 BAPI的确认和返回 BAPI的创建 MM/SD常用BAPI 附加:长文本修改 业务对象 概念 业务对象浏览 进入SWO3查看 双击BUS2012 双击下图上方红色位置可以看到BAPI方法的内容 BAPI BAPI(Busines…

《高频电子线路》 —— 电感三端LC振荡器

文章内容来源于【中国大学MOOC 华中科技大学通信(高频)电子线路精品公开课】,此篇文章仅作为笔记分享。 电感三端LC振荡器 基本原理(哈特莱电路) 在高频下直流电阻对交流电相阻抗无穷大,相当于开路。谐振回…

它真能替代Express?tinyhttp用速度和轻量征服开发者

它真能替代Express?tinyhttp用速度和轻量征服开发者 如果你是个 Express 粉丝,又经常为它的历史遗留问题头疼,那么有个好消息要告诉你:tinyhttp 来啦!这款专注于轻量、快速的 Web 框架正在以一种更现代的方式挑战 Expr…

【时间之外】IT人求职和创业应知【25】

目录 新闻一:AI流量变现财富峰会在深圳举办 新闻二:江苏省加快释放数据要素价值,推动数据产业发展 新闻三:全国大中城市巡回招聘温州站(民营企业专场)举办 认知决定你的赚钱能力。以下是今天可能影响你求…

qt QGroupBox详解

1、概述 QGroupBox是Qt框架中的一个容器控件,主要用于组织和管理一组相关的控件(如按钮、复选框、文本框等),并为这些控件提供一个框架和标题。通过使用QGroupBox,可以创建具有逻辑分组和视觉层次结构的用户界面&…

从 vue 源码看问题 — vue 初始化都做了什么事?

前言 最近想要对 Vue2 源码进行学习,主要目的就是为了后面在学习 Vue3 源码时,可以有一个更好的对比和理解,所以这个系列暂时不会涉及到 Vue3 的内容,但是 Vue3 的核心模块和 Vue2 是一致的,只是在实现上改变了方式、…

nginx系列--(一)--调试环境搭建

辅助脚本: #!/bin/bash mkdir -p $(pwd)/nginxhome # 生成 Makefile,--prefix need a absolute path --with-stream表示要包括stream模块 auto/configure --prefix$(pwd)/nginxhome --with-stream # lsof -i tcp:10086 && fuser -k 10086/tcp ||true # 定…

Qt/C++地图导航app/支持qml/手机运行/输入起点终点规划路径/模拟轨迹移动

一、前言说明 搞Qt地图开发这块,随着研究的深入,用户的需求变化,最近又需要在手机上运行,由于本地图组件依赖浏览器控件,而手机安卓上的Qt并没有带qwebengine控件,怎么办呢,不断的努力验证下&a…

使用VS Code 安装VUE.js开发环境的搭建并创建第一个项目

初步掌握VUE.js开发环境的搭建并创建第一个项目的操作方法和实验步骤 题目 安装Visual Studio Code。安装VS Code汉化插件。安装Vue官方支持插件。使用VS Code运行第一个HTML页面。安装Node.js并验证其版本。验证npm版本。配置npm的下载镜像源。配置Yarn的下载镜像源。使用Vi…

记本地第一次运行seatunnel示例项目

前置 静态源码编译通过:https://blog.csdn.net/u011924665/article/details/143372464 参考 seatunnel官方的开发环境搭建文档:https://seatunnel.incubator.apache.org/zh-CN/docs/2.3.5/contribution/setup 安装scala 下载scala 去官网下载&…

Maven下载安装配置(环境、本地仓库、阿里云、jdk、idea)(Win11)

目录 Maven3.9.9工具参考下载安装配置环境变量配置验证是否安装完成本地仓库位置存放配置阿里云镜像加速配置jdk版本 配置 idea Maven3.9.9 工具 系统:Windows 11 环境:JDK-8 软件:IDEA-2024.2.1 参考 本人写的《JDK安装与环境配置&#…