CRAN 任务视图:医学图像分析
医学图像由磁共振成像 (MRI)、计算机断层扫描 (CT) 和正电子发射断层扫描 (PET) 等系统生成。它们通常是三维的,有时还具有随时间或方向变化的维度。此外,它们通常包含与扫描细节和图像与扫描对象的空间关系相关的重要的元数据。此信息与图像一起存储在为该领域设计的几种文件格式之一中。
本任务视图中的包旨在读取和写入这些文件,可视化医学图像并以各种方式处理它们。其中一些也适用于传统图像,一些通用图像处理包也可以用于医学图像数据。存储在每个像素或体素(3D 像素)中的图像强度通常自然地映射到 R array
中,array
是一个标准数据结构,因此适合与基本 R 和其他代码进行互操作。
DICOM
临床影像设备输出数据的行业标准格式是 DICOM(医学数字影像与通信)。DICOM“标准”非常广泛且复杂。粗略地说,每个符合 DICOM 标准的文件都是由组织成两个四字节序列(组,元素)的字段集合,这些序列以十六进制数表示并形成一个标签。 (组,元素)组合宣布接下来是什么类型的信息。DICOM 标头没有固定字节数。最后一个(组,元素)标签应该是“数据”标签(7FE0,0010),这样所有后续信息都与图像相关。在实践中,与实际 DICOM 文件相关的许多供应商特定怪癖,使得一致处理成为一项重大挑战。
ANALYZE 和 NIfTI
虽然医学影像数据的行业标准是 DICOM,但另一种格式已在图像分析社区中得到广泛使用。ANALYZE 格式最初是与梅奥基金会的图像处理系统(同名)一起开发的。ANALYZE (7.5) 格式图像由两个文件组成,“hdr”和“img”文件,分别包含有关采集和图像数据本身的信息。这种格式的最新改编被称为 NIfTI-1,是神经影像信息技术倡议 (NIfTI) 的数据格式工作组 (DFWG) 的产品。NIfTI-1 数据格式几乎与 ANALYZE 格式相同,但提供了一些改进:将标头和图像信息合并到一个文件 (.nii) 中,将 348 字节固定标头重新组织成更相关的类别,以及扩展标头信息的可能性。
其他格式
还有许多其他格式特定于某些其他软件包或应用程序。
可视化
- brainR 包包含使用 WebGL、RGL 和 JavaScript 命令创建三维 (3D) 和四维 (4D) 图像的功能。此包依赖于 X 工具包 (XTK)。
- Morpho 是一个用于统计形状分析和可视化基于点的形状表示(地标、网格)的工具集合。除了核心功能,如一般普氏分析和半地标滑动,Morpho 还提供各种统计程序来评估组差异和不对称性,其中大多数基于排列/自举方法。为了进行配准,有函数可以计算地标变换(刚性、相似性、仿射和薄板样条),以及迭代最近点配准和利用形状主轴的自动对齐。为了处理缺失/错误数据,有可用于缺失地标的插补方法和交互式异常值检测。为了可视化,有函数可以创建距离图的交互式 3D 图,以及通过变形矩形网格来可视化点云之间的差异,无论是在 2D 还是 3D 中。此外,它还包括一个算法来逆变形代表经历了一系列局部仿射变形(例如化石)的结构的表面网格。
- Rvcg 与 VCGLIB 接口,提供用于操作三角形表面网格的函数;例如,从医学图像分割生成的表面。这些操作包括二次边折叠简化、平滑、子采样、最近点搜索或均匀重网格化。此外,它还允许从 3D 数组生成等值面。它具有导入/导出 STL、PLY 和 OBJ 文件的功能,包括二进制和 ASCII 格式。
磁共振成像 (MRI)
弥散 MRI
- tractor.base 包支持弥散 MRI 特定的元数据,例如弥散敏感梯度方向和b值。它是更广泛的 TractoR 项目 的一部分,该项目提供基于 R 的工具,用于弥散张量估计、纤维追踪和结构连接组估计,所有这些都基于弥散 MRI。
- dti 包提供了用于弥散张量成像 (DTI)、弥散曲率成像 (DKI)、使用 Q 球重建和张量混合模型对高角分辨率弥散加权成像 (HARDI) 进行建模、几种结构自适应平滑方法以及纤维追踪的功能。
- The dmri.tracking 包也实现了纤维追踪算法。
功能性磁共振成像
- adaptsmoFMRI 包含用于估计血氧水平依赖 (BOLD) 效应的 R 函数,该函数使用功能性磁共振成像 (fMRI) 数据,基于自适应高斯马尔可夫随机场,用于真实数据和模拟数据。对底层模型的推断是通过有效的马尔可夫链蒙特卡罗模拟进行的,对于非近似情况使用 Metropolis Hastings 算法,对于近似情况使用 Gibbs 采样器。当比较近似版本和非近似版本的結果时,结果有利于前者,因为在不近似的情况下,估计的精度提高很小,而计算负担变得不那么繁重。
- R 包 fmri 提供了用于分析功能性磁共振成像数据的工具。核心是实现了一类新的自适应平滑方法。与传统的非自适应平滑方法相比,这些方法允许显着增强信号并减少假阳性检测,而不会降低有效空间分辨率。此属性在分析高分辨率功能性磁共振成像中尤其重要。该包包括用于输入/输出一些标准成像格式 (ANALYZE、NIfTI、AFNI、DICOM) 的函数,以及用于使用 随机场理论 对数据进行线性建模和信号检测的函数。它还包括基于 ICA 和 NGCA(非高斯成分分析)的方法。
- Neuroimage 是一个 R 包(目前仅在 R-Forge 上的 neuroim 项目中可用),它为功能性脑成像数据提供数据结构和输入/输出例程。它读取和写入 NIfTI-1 数据,并提供用于处理多维图像的 S4 类。
结构性磁共振成像
- 包 mritc 提供了使用正态混合模型和(部分体积,更高分辨率)隐马尔可夫正态混合模型进行 MRI 组织分类的工具,这些模型通过各种方法拟合。提供了用于获取初始值和空间参数的函数。提供了用于可视化和评估分类结果的功能。为了提高速度,在各种地方使用查表方法,使用矢量化来利用条件独立性,并且一些计算由嵌入的 C 代码执行。
- 包 qMRI (archived) 支持从多参数映射 (MPM) MRI 采集估计定量弛豫图,包括自适应平滑。
模拟
- 包 neuRosim 允许用户生成 fMRI 时间序列或 4D 数据。一些高级函数被创建用于快速数据生成,只需要几个参数和多种函数来定义激活和噪声。对于更高级的用户,可以使用低级函数并操作参数。
磁共振波谱 (MRS)
MRS 使用与 MRI 相同的基本扫描仪技术,但侧重于使用它来获取化学光谱。这用于测量各种化学化合物的浓度,包括在医学环境中,具有重要生化作用的代谢物。
- 包 spant 包含用于读取、可视化和处理 MRS 数据的工具,包括用于光谱拟合和光谱比对的方法。
通用图像处理
- adimpro 是一个用于 2D 数字(彩色和黑白)图像的包,实际上并不特定于医学成像,而是用于通用图像处理。
- 包 bayesImageS 实现了几种用于 2D 和 3D 图像(如 CT 和 MRI)分割的算法。它为隐藏马尔可夫正态混合模型提供完整的贝叶斯推理,包括平滑参数的后验分布。像素标签可以使用棋盘格吉布斯或斯文森-王采样。平滑参数的 MCMC 算法包括近似交换算法 (AEA)、伪似然 (PL)、热力学积分 (TI) 和近似贝叶斯计算 (ABC-MCMC 和 ABC-SMC)。当有解剖学图谱或其他空间信息可用时,可以使用外部场先验。
- EBImage 是一个 R 包,它提供用于读取、写入、处理和分析图像的通用功能。此外,在基于显微镜的细胞分析的背景下,该包提供了将图像转换为细胞、分割细胞和提取定量细胞描述符的工具。
- 该 imbibe 包提供了一组快速、可链接的图像处理操作,这些操作适用于二维、三维或四维图像,特别是医学图像。
- 该 mmand 包(任意维数的数学形态学)提供形态学操作,如腐蚀和膨胀、开运算和闭运算,以及平滑和基于内核的图像处理。它对任意维度的数组或类似数组的数据进行操作。
- 该 RNiftyReg 包提供了对 NiftyReg 图像配准工具的接口。 提供了刚性、仿射和非线性配准,可用于 2D 到 2D、3D 到 2D 和 4D 到 3D 的程序。
- 该 fslr 包包含包装函数,这些函数使用系统命令与 FMRIB 软件库 (FSL)(一个功能强大且广泛使用的神经影像软件库)进行交互。 该包的目标是在 R 中完全与 FSL 交互,您可以在其中传递基于 R 的 NIfTI 对象,该函数执行 FSL 命令并返回基于 R 的 NIfTI 对象。
正电子发射断层扫描 (PET)
- 该 occ 包提供了一个通用函数,用于根据一组感兴趣区域 (ROI) 的总分布体积来估计药物的 PET 神经受体占用率。 拟合方法包括参考区域、普通最小二乘法 (OLS,有时称为“占用率图”) 和受限最大似然估计 (REML)。
- 该 oro.pet 包包含用于 PET 实验的几个参数估计例程,包括:标准摄取值 (SUV)、占用率、简化参考组织模型 (SRTM)、多线性参考组织模型 (MRTM) 和半数抑制浓度 (IC50)。
脑电图 (EEG)
- edfReader 读取 EEG 记录中最流行的一些文件格式。
- EEG 包(目前仅在 eeg R-Forge 项目中可用)读取单次试验 EEG(目前仅读取在 Brain Vision Analyzer 中预处理和试验分割的 ascii 导出文件),计算平均值(即事件相关电位或 ERP),并将来自多个数据集的 ERP 存储在类似
data.frame
的对象中,以便可以使用熟悉的 R 建模框架进行统计分析(线性模型、(M)ANOVA)。 - eegkit 包含许多用于分析 EEG 信号的有用函数(除其他外,还包括可视化电极位置)。
- PTAk 是一个 R 包,它使用多路方法分解任意阶的张量(数组),作为奇异值分解 (SVD) 的推广,也支持非恒等度量和惩罚。该包还包括一个具有这些扩展的 2 路 SVD。该包还包括其他多路方法:PCAn(Tucker-n)和 PARAFAC/CANDECOMP,这些方法也具有这些扩展。应用包括脑电图和功能性磁共振成像数据的分析。
- raveio (已归档) 包支持“人类颅内脑电图数据分析和可视化” (RAVE) 项目,用于分析来自深度或表面记录的脑电图数据。
CRAN 包
相关链接
- 统计软件杂志 关于R语言中的磁共振成像的特刊.
- Neuroconductor 是一个类似于Bioconductor的平台,用于在R语言中快速测试和传播可重复的计算成像软件。
- ANTsR 是一个框架,它将基于ITK和ANTs的图像处理方法整合到R语言中。
- SimpleITK 是建立在ITK之上的一个简化层,旨在促进其在快速原型设计、教育和解释性语言中的使用。SimpleITK支持2D和3D图像,以及它们的一组选定的像素类型。不同的图像过滤器可能支持不同的像素类型集合,在许多情况下是由于计算需求。该库通过使用SWIG为解释性语言包装。特别是,以下包装可用:Python、Java、Tcl、Lua、R和Ruby。
其他资源