医学图像包——DCMTK、VTK、ITK、RTK、SimpleITK

news2024/11/24 18:26:07

1.ITK-医学图像处理软件包

ITK( Insight Segmentation and Registration Toolkit)是美国国家卫生院下属的国立医学图书馆开发的一款医学图像处理软件包,是一个开源的、跨平台的影像分析扩展软件工具。

ITK的开发过程中采用了先进的多模态数据分割配准算法,用于处理图像配准和分割的问题。 ITK是用C++实现的,能够跨平台,并用CMake来管理编译过程来保证编译过程独立于平台。除此以外,它还使用一种叫做卷的处理过程,来产生C++和 其他其他解释程序之间的接口,从而使得开发者能用各种不同的程序语言来开发。

ITK的C++执行风格是基于泛型(generic programming)编程,也就是说他使用的是模板来保证相同的代码能广泛的应用于任何类或者类型。这种C++模板的方式使得编码过程很高效,并且使 很多软件的问题在编译的时候就发现了,而不是在运行的时候。

备注:医学图像处理的话建议用ITK+VTK,ITK做底层图像处理算法,VTK做可视化显示,ITK和VTK中间用itkImageToVTKImageFilter

2.SimpleITK-ITK的简化接口

SimpleITK是ITK的简化接口,使用起来更加方便,有多种语言接口。(python版,安装比较简单,pip install SimpleITK)

SimpleITK是美国国家医学图书馆Insight Segmentation and Registration Toolkit (ITK)的一个简化的开源接口,这是一个c++开源图像分析工具包,在学术界和工业界得到了广泛的应用。SimpleITK支持8种编程语言,包括c++、Python、R、Java、c#、Lua、Ruby和TCL。SimpleITK的二进制发行版目前可用于所有三种主要操作系统(Linux、OS X和Windows)。

SimpleITK是专门处理医学影像的软件,在SimpleITK中,图像的概念与我们在计算机视觉中常用的RGB图像差异很大,后者只是一个多维矩阵,是一个数学上的概念,而在SimpleITK中图像是一种物理实体,图像中的每一个像素都是物理空间中的一个点,不光有着像素值,还有着坐标,间距,方向等概念。

在这里插入图片描述

size:图像在各维度的像素个数
spacing:图像各维度上像素之间的距离(物理层面的,有单位,一般为mm)
physical extent:图像在物理空间中的大小
Origin:图像原点的坐标(物理层面的,有单位,一般为mm,与spacing保持一致)
direction:采用方向余弦矩阵,也就是图像自身坐标系相对于世界坐标系(固定不动的)的角度,再直白点就是新坐标系在原坐标系上各个方向的投影

3.RTK-CBCT重建算法包

RTK(RTK官网)是一个开源的CBCT重建算法包,是Kitware公司旗下的,基于ITK包扩展出来的。RTK实现了很多现有的CT图像重建算法,包括ADMM,SART,SIRT,POCS等。此外RTK包是基于泛型编程思想来写的。RTK具有完善的开发文档库。

Cone Beam CT因其射线效率高,采集效率高等优点,广泛用于解剖成像与放射治疗(Radiation Therapy)。

The Reconstruction Toolkit (RTK)重建工具包是一种基于Insight Toolkit(ITK)的用于快速圆锥束CT重建的开源跨平台软件。RTK由RTK财团开发。RTK提供或将提供:

重建的基本运算符,例如滤波、正向、投影和反向投影、多线程CPU和GPU版本、呼吸运动矫正工具、多个扫描仪的I/O、散射校正原始数据的预处理

4.DCMTK-dicom协议开源库

DCMTK是由德国offis公司提供的开源项目,几乎实现了完整的DICOM协议,是3大dicom开源库之一。DCMTK采用C++语言开发。

由于现在的医学影像设备的图像存储和传输正在逐渐向DICOM标准靠拢,在我们进行医学图像处理的过程中,经常需要自己编写和DICOM格式的图像相关的各种程序模块,以完成自己处理功能。如果从头开始理解DICOM的协议,然后完全自己编写这些代码来实现这些协议,是一件工程浩大的事情。德国offis公司开发的DCMTK,为我们提供了实现DICOM协议的一个平台,使得我们可以在它的基础上轻松的完成自己的主要工作,而不必把太多的精力放在实现DICOM协议的细节问题上。

这个开发包经过10多年的开发和维护,已经基本实现了DICOM协议的所有内容。该开发包提供所有的源代码、支持库和帮助文档。DCMTK提供了在各种操作系统下使用的可能版本,如LINUX、SUN、MACOS、WINDOWS等,用户可根据自己的开发平台进行编译。

DICOM(Digital Imaging and Communications in Medicine)即医学数字成像和通信,是医学图像和相关信息的国际标准(ISO 12052)。DICOM被广泛应用于放射医疗、心血管成像以及放射诊疗诊断设备(X射线,CT,核磁共振,超声等),并且在眼科和牙科等其它医学领域得到越来越深入广泛的应用。

5.VTK-三维计算机图形学、图像处理和可视化

Vtk,(visualization toolkit) 是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的,包含有大约250,000行代码,2000多个类,还包含有几个转换界面,因此也可以自由的通过Java,Tcl/Tk和Python各种语言使用vtk。

视觉化工具函式库(VTK,Visualization Toolkit)是一个开放源码,跨平台、支持并行处理(VTK曾用于处理大小近乎1个Petabyte的资料,其平台为美国Los Alamos国家实验室所有的具1024个处理器之大型系统)的图形应用函式库。2005年时曾被美国陆军研究实验室用于即时模拟俄罗斯制反导弹战车ZSU23-4受到平面波攻击的情形,其计算节点高达2.5兆之多。Vtk几乎可以在任何一个基于Unix的平台上操作,以及Windows 95/98/NT/2000/XP。

VTK是一个开放源码、自由获取的软件系统,全世界的数以千计的研究人员和开发人员用它来进行3D计算机图形,图像处理,可视化。VTK包含一个c++类库,众多的翻译接口层,包括Tcl/Tk,Java,Python。Visualization Toolkit 是一个用于可视化应用程序构造与运行的支撑环境,它是在三维函数库OpenGL的基础上采用面向对象的设计方法发展起来的,它将我们在可视化开发过程中会经常遇到的细节屏蔽起来,并将一些常用的算法封装起来。比如 Visualization Toolkit 将我们在表面重建中比较常见的MarchingCubes 算法封装起来,以类的形式给我们以支持,这样我们在对三维规则点阵数据进行表面重建时就不必再重复编写MarchingCubes 算法的代码,而直接使用Visualization Toolkit 中已经提供的vtkMarchingCubes 类。 Visualization Toolkit 是给从事可视化应用程序开发工作的研究人员提供直接的技术支持的一个强大的可视化开发工具。

6.OpenGL-渲染2D、3D矢量图形

OpenGL(英语:Open Graphics Library,译名:开放图形库或者“开放式图形库”)是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。这个接口由近350个不同的函数调用组成,用来绘制从简单的图形比特到复杂的三维景象。而另一种程序接口系统是仅用于Microsoft Windows上的Direct3D。OpenGL常用于CAD、虚拟现实、科学可视化程序和电子游戏开发。

OpenGL的高效实现(利用了图形加速硬件)存在于Windows,部分UNIX平台和Mac OS。这些实现一般由显示设备厂商提供,而且非常依赖于该厂商提供的硬件。开放源代码库Mesa是一个纯基于软件的图形API,它的代码兼容于OpenGL。但是,由于许可证的原因,它只声称是一个“非常相似”的API。

7.OpenCV-计算机视觉和机器学习软件库

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列C函数和少量C++类构成,同时提供Python、Ruby、MATLAB等语言的接口,实现图像处理和计算机视觉方面的很多通用算法

OpenCV用C++语言编写,它具有C ++,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS,OpenCV主要倾向于实时视觉应用,并在可用时利用MMX和SSE指令, 如今也提供对于C#、Ch、Ruby,GO的支持。

8.Halcon-机器视觉算法包

HALCON是德国MVtec公司开发的一套完善的标准的机器视觉算法包,拥有应用广泛的机器视觉集成开发环境。它节约了产品成本,缩短了软件开发周期——HALCON灵活的架构便于机器视觉,医学图像和图像分析应用的快速开发。在欧洲以及日本的工业界已经是公认具有最佳效能的Machine Vision软件。

HALCON源自学术界,它有别于市面一般的商用软件包。事实上,这是一套image processing library,由一千多个各自独立的函数,以及底层的数据管理核心构成。其中包含了各类滤波,色彩以及几何,数学转换,形态学计算分析,校正,分类辨识,形状搜寻等等基本的几何以及影像计算功能,由于这些功能大多并非针对特定工作设计的,因此只要用得到图像处理的地方,就可以用HALCON强大的计算 分析能力来完成工作。应用范围几乎没有限制,涵盖医学,遥感探测,监控,到工业上的各类自动化检测。

HALCON支持Windows,Linux和Mac OS X操作环境,它保证了投资的有效性。整个函数库可以用C,C++,C#,Visual basic和Delphi等多种普通编程语言访问。HALCON为大量的图像获取设备提供接口,保证了硬件的独立性。它为百余种工业相机和图像采集卡提供接口,包括GenlCam,GigE和IIDC 1394。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/126463.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VAE详解及PyTorch代码

三大有名的生成模型VAE、GAN以及Diffusion Model 其余两篇 看了网上的一些博客,大多都写到了重点,也就是后面的公式推导部分,可是大部分只有推导过程,很少有讲明白为什么要这么假设,我看的时候内心不断有个疑问&…

这篇文章详细介绍动态内存管理 ,让你醍醐灌顶【c语言】

文章目录动态内存函数mallocfreecallocrealloc常见的动态内存错误对NULL指针的解引用操作对动态开辟空间的越界访问对非动态开辟内存使用free释放使用free释放一块动态开辟内存的一部分对同一块动态内存多次释放动态开辟内存忘记释放(内存泄漏)练习柔性数…

物联网终端的信息保护

针对漏洞的恶意行为分析 我们共捕获到 4 种针对 UPnP 漏洞的利用行为 1,如表 4.7 所示。从中可以看出,这些漏洞均为远程 命令执行类漏洞。另外我们也发现,当漏洞出现在特定端口时,攻击者一般不会经过 UPnP 的发现阶段&#xff0c…

Moran指数分析

Moran指数分析 Moran指数(莫兰指数)是研究空间关系的一种相关系数值,比如研究中国31省市GDP之间是否具有空间相关关系。Moran指数通常分为两种,分别是全局Moran指数和local局部Moran指数。全局Moran指数用于分析整体上是否存在空…

概率分布到底有什么用?

1.1 要概率分布有什么用? 个人理解:每种概率分布对应描述了某种特定事件发生的规律,像是一个模板,只要某种事件符合该分布的要求,那么就可以用对应的概率分布计算此事件的概率 1.2 为什么非要确定一个分布?…

计算机组成原理复习题

一、选择题 一个节拍信号的宽度是指______。 A. 指令周期 B. 存储周期 C. 机器周期 D. 时钟周期 我的答案: D正确答案: D 3.3分 2. (单选题) 中断向量地址是______。 A. 子程序入口地址 B. 中断服务子程序出口地址 C. 中断返回地址 D. 中断服务子程序入口地址 我的答案: D正…

SpringCloudAlibaba、SpringCloud版本和SpringBoot版本适配

本文继SpringCloud版本和SpringBoot版本适配后,加入SpringCloudAlibaba组件版本适配! 官网链接:https://github.com/alibaba/spring-cloud-alibaba/wiki/

MySQL基本用法

一、数据库的基本操作: 1、启动数据库:net start mysql; 2、进入数据库:mysql -h localhost -u root -p; 3、关闭数据库服务:net stop mysql; 4、查看数据库:show databases; 5、新建数据库:create databa…

[vue element-ui]JAVA POST请求

01.前端 <!DOCTYPE html> <html><head><meta charset"UTF-8"><title></title><script type"text/javascript" src"js/jquery-3.4.1.min.js"></script><script type"text/javascript&qu…

Raft论文翻译(5.4.2)——安全性-提交之前term的日志entry

5.4.2 Committing entries from previous terms 提交之前term的日志entry As described in Section 5.3, a leader knows that an entry from its current term is committed once that entry is stored on a majority of the servers. If a leader crashes before committin…

linux 分析启动时服务时间消耗

工具systemd-analyze systemd-analyze是一个分析启动性能的工具&#xff0c;用于分析启动时服务时间消耗。 1 systemd-analyze使用 1.1 查看启动耗时 rootloongson-pc:/# systemd-analyze 1.2 查看每个服务的启动耗时 rootloongson-pc:/# systemd-analyze blame 1.3 显…

Docker安装配置运行Redis

本文前提是基于已安装Docker容器引擎。Ubuntu安装docker容器引擎_流沙QS的博客-CSDN博客 1.拉取redis镜像 sudo docker pull redis 2.创建文件挂载目录并进入到创建目录&#xff0c;下载官方的redis.conf配置文件 mkdir -p /home/geng/soft/redis wget http://download.re…

如何在每次辩论中都取得胜利,捍卫自己的权力-----苏格拉底产婆术

文章目录苏格拉底的产婆术四步法是&#xff1a;产婆术&#xff08;art of midwifery&#xff09;苏格拉底&#xff1a;认识你自己&#x1f338;I could be bounded in a nutshell and count myself a king of infinite space. 特别鸣谢&#xff1a;木芯工作室 、Ivan from Rus…

2022年度《中国数字安全能力图谱(精选版)》发布,中睿天下实力入选

近日&#xff0c;国内数字安全领域中立的第三方调研机构数世咨询正式发布《2022年度中国数字安全能力图谱&#xff08;精选版&#xff09;》&#xff08;以下简称能力图谱&#xff09;&#xff0c;中睿天下凭借领先的技术创新实力&#xff0c;成功入选上榜高级威胁防御能力者及…

照片如何加滤镜?一步一步教会你给图片加上滤镜

我们在外出游玩的时候&#xff0c;常常会拍摄一些好看的风景照或者是美食照&#xff0c;有时我们还会将这些不错的照片分享在社交平台上&#xff0c;相信这个时候你们在分享照片之前&#xff0c;都会先给照片添加滤镜&#xff0c;因为一个好的滤镜&#xff0c;不仅能够美化照片…

7的2022年终总结

7&的2022年终总结 文章目录7&的2022年终总结1、前言2、技术3、生活4、展望未来1、前言 2022年&#xff0c;终究是不平凡的一年。 2022年2月4日&#xff0c;中国农历大年初四&#xff0c;这一天&#xff0c;北京冬奥会将拉开大幕。 2022年3月份&#xff0c;疫情还未结束…

Linux小白入门经验

雄关漫道真如铁&#xff0c;而今迈步从头越。我们在单位工作的人都有一个梦想&#xff0c;那就是搞定所有的计算机难题&#xff0c;帮助公司完成更多的电脑维修、软件开发以及系统监测。随着互联网的深入发展&#xff0c;我们都在很努力的学习各种程序和系统&#xff0c;希望能…

20个python编码小技巧-推导式、翻转、排序、迭代器等等

本文分享一些 Python 技巧&#xff0c;它可以让你的代码更简洁、更高效。 1.列表推导式 li [x for x in range(10) if x % 2 0] print(li) # [0, 2, 4, 6, 8]li [i*2 if i%20 else i*3 for i in range(10)] print(li) # [0, 3, 4, 9, 8, 15, 12, 21, 16, 27]# 应用&#xf…

flutter 并不完美的登录完美验证功能

flutter 并不完美的登录完美验证功能前言一、文本输入功能二、验证提示功能三、业务部分总结前言 在一个APP 中&#xff0c;登录页面做为门户&#xff0c;很多时候&#xff0c;我们都需要写一个完善的登录验证页面&#xff0c;本篇文章将记录如何去封装一个并不算完美的登录验…

BurpSuite抓取App包,详细教程

BurpSuite抓取App包&#xff0c;详细教程1.工具准备2.手动代理模拟器3.修改BurpSuite代理4.测试最近有很多粉丝小伙伴反映自己不会使用BurpSuite抓取手机App的流量包&#xff0c;其实很简单&#xff0c;和Web基本是如出一辙的 1.工具准备 夜神模拟器 BurpSuite请自行准备环境…