跳转到主要内容

DCM2NIIX Python包

项目描述

Build Status Build status

关于

dcmt2niix 是一个用于将神经影像数据从 DICOM 格式转换为 NIfTI 格式的工具。此网页托管开发源代码 - Linux、MacOS 和 Windows 的最新稳定版本的编译版本包含在 MRIcroGL 中。该软件的完整手册以 NITRC wiki 的形式提供。

DICOM格式是现代医学影像设备生成的标准图像格式。然而,DICOM非常复杂,不同厂商对其有不同的解释。NIfTI格式在科学家中很受欢迎,它非常简单且明确。然而,这种简单性也带来了限制(例如,它要求切片均匀)。dcm2niix还能生成一个BIDS JSON格式辅助文件,以无厂商依赖和人类可读的形式提供对脑科学家相关信息的支持。《神经影像DICOM和NIfTI入门》提供了详细信息。

许可证

此软件是开源的。大部分代码受BSD许可证的保护。某些单元是公有领域(nifti*.*, miniz.c)或使用MIT许可证(ujpeg.cpp)。有关详细信息,请参阅license.txt文件。

依赖项

通常情况下,此软件可以在macOS、Linux和Windows上运行,无需安装其他软件。但是,如果您使用dcm2niix创建gzip压缩的图像,那么如果您安装了pigz,它将运行得更快。您可以通过下载MRIcroGL来获取适用于您的操作系统的dcm2niix和pigz的编译版本。

图像转换和压缩

DICOM提供了许多存储/压缩图像数据的方式,称为传输语法。COMPILE.md文件描述了如何启用不同的选项以支持更多格式。

  • 基本代码包括对原始、运行长度编码和经典JPEG无损解码的支持。
  • 有损JPEG由包含的NanoJPEG处理。这种支持是模块化的:您可以为其编译libjpeg-turbo或完全禁用它。
  • JPEG-LS无损支持是可选的,可以使用CharLS提供。
  • JPEG2000有损和无损支持是可选的,可以使用OpenJPEGJasper提供。
  • GZ压缩(例如创建.nii.gz图像)是可选的,可以使用包含的miniz或流行的zlib。特别值得一提的是,Cloudflare zlib利用了自2008年以来可用的现代硬件,实现了非常快速的压缩。或者,您可以选择在不使用gzip压缩器的情况下编译dcm2niix。无论您如何编译dcm2niix,它都可以使用外部程序pigz进行并行压缩。

版本

查看发布说明。有关早期版本的详细信息,请参阅VERSIONS.md文件。

贡献

dcm2niix是由社区为社区开发的,任何人都可以成为社区的一部分。

运行

命令行使用说明在NITRC维基百科中。最小命令行调用为dcm2niix /path/to/dicom/folder。但是,您可能想要调用附加选项,例如调用dcm2niix -z y -f %p_%t_%s -o /path/output /path/to/dicom/folder将数据保存为gzip压缩,文件名基于协议名(%p)、采集时间(%t)和DICOM系列号(%s),所有文件保存到输出文件夹。有关更多信息,请参阅帮助:dcm2niix -h

有关使用批处理版本的说明,请参阅BATCH.md文件。.

安装

安装dcm2niix有几种方法

  • GitHub 发布版 提供了最新的编译版可执行文件。这对于 MacOS 和 Windows 用户来说是一个非常好的选择。然而,提供的 Linux 可执行文件需要较新版本的 Linux(例如 Ubuntu 14.04 或更高版本),因此提供的 Unix 可执行文件不适合非常旧的发行版。具体来说,它需要 Glibc 2.19(2014 年发布)或更高版本。较老系统的用户可以自行编译 dcm2niix 或下载包含在 MRIcroGL 中(Glibc 2.12,2011 年发布)的编译版本。
  • 运行以下命令以获取 Linux、Macintosh 或 Windows 的最新版本
    • curl -fLO https://github.com/rordenlab/dcm2niix/releases/latest/download/dcm2niix_lnx.zip
    • curl -fLO https://github.com/rordenlab/dcm2niix/releases/latest/download/dcm2niix_mac.zip
    • curl -fLO https://github.com/rordenlab/dcm2niix/releases/latest/download/dcm2niix_mac_arm.pkg
    • curl -fLO https://github.com/rordenlab/dcm2niix/releases/latest/download/dcm2niix_win.zip
  • MRIcroGL (NITRC)MRIcroGL (GitHub) 包含 dcm2niix,可以通过命令行或图形用户界面(选择导入菜单项)运行。dcm2niix 的 Linux 版本是在 holy build box 上编译的,因此它应该可以在任何 Linux 发行版上运行。
  • 如果您有安装了 Homebrew 或 MacPorts 的 MacOS 计算机,可以分别运行 brew install dcm2niixsudo port install dcm2niix
  • 如果您有 Conda,在 Linux、MacOS 或 Windows 上运行 conda install -c conda-forge dcm2niix
  • 如果您有 pip,在 Linux、MacOS 或 Windows 上运行 python -m pip install dcm2niix
  • 在 Debian Linux 计算机上,您可以运行 sudo apt-get install dcm2niix

从源代码构建

通常下载和安装预编译版本更为简单。然而,您也可以从源代码构建。

使用 cmake 构建 cmder 版本(Linux,MacOS,Windows)

cmakepkg-config(可选)可以按照以下方式安装

Ubuntu: sudo apt-get install cmake pkg-config

MacOS: brew install cmake pkg-configsudo port install cmake pkgconfig

基本构建

git clone https://github.com/rordenlab/dcm2niix.git
cd dcm2niix
mkdir build && cd build
cmake ..
make

dcm2niix 将被创建在 bin 子文件夹中。要在系统上安装,运行 make install 而不是 make - 这将把可执行文件复制到您的路径,这样您就不必提供完整的可执行文件路径。

在极少数情况下,如果 cmake 出现类似 "生成器:make 执行失败" 的消息,可以通过运行 sudo ln -s `which make` /usr/bin/gmake 来修复。

高级构建

如“图像转换和压缩支持”部分所述,该软件提供了许多具有增强功能的可选模块。一个常见的选项可能是包含对 JPEG2000、JPEG-LS(此选项需要 c++14 编译器)的支持,以及使用高性能的 Cloudflare zlib 库(此选项需要 2008 年后构建的 CPU)。要使用这些选项构建,只需在配置 cmake 时请求它们即可。

git clone https://github.com/rordenlab/dcm2niix.git
cd dcm2niix
mkdir build && cd build
cmake -DZLIB_IMPLEMENTATION=Cloudflare -DUSE_JPEGLS=ON -DUSE_OPENJPEG=ON ..
make

可选的批处理版本

批处理二进制文件 dcm2niibatch 是可选的。要构建 dcm2niibatch,将 cmake 命令更改为 cmake -DBATCH_VERSION=ON ..。这需要一个支持 c++11 的编译器。

在没有 cmake 的情况下构建命令行版本

如果您遇到上面描述的 cmake 构建脚本中的任何问题或想要自定义软件,请参阅 COMPILE.md 文件以获取手动编译的详细信息

参考文献

  • Li X, Morgan PS, Ashburner J, Smith J, Rorden C (2016) 神经影像数据分析的第一步:DICOM 转换为 NIfTI。J Neurosci Methods. 264:47-56. doi: 10.1016/j.jneumeth.2016.03.001. PMID: 26945974

替代方案

  • BIDS-converter 为 PET 图像托管 Matlab 和 Python 脚本,支持 DICOM 和 ECAT (ecat2nii) 格式。
  • dcm2nii 是 dcm2niix 的前身。它已经过时,不适用于现代图像,但可以处理早于 DICOM 的图像格式(专有 Elscint、GE 和西门子格式)。
  • Python dcmstack 将 DICOM 转换为 Nifti,同时保留元数据。
  • dicm2nii 用 Matlab 编写。Matlab 语言使得此脚本非常灵活。
  • dicom2nifti 使用可脚本化的 Python 包装器,利用 高性能 GDCMCONV 可执行文件。
  • dicomtonifti 利用 VTK
  • dimonto3d 包含在 AFNI 中。
  • dinifti 专注于西门子数据的转换。
  • DWIConvert 将 DICOM 图像转换为 NRRD 和 NIfTI 格式。
  • mcverter 对各种供应商的支持很好。
  • mri_convert 是流行的 FreeSurfer 软件包的一部分。在我的有限经验中,此工具对 GE 和西门子数据效果良好,但无法处理 Philips 4D 数据集。
  • MRtrix mrconvert 是一个有用的通用图像转换器,并很好地处理 DTI 数据。它是现代 Philips 增强图像的杰出工具。
  • nanconvert 使用 ITK 库将 GE 和专有 Bruker 的 DICOM 转换为标准格式,如 DICOM。
  • PET CT viewer for Fiji 可以加载 DICOM 图像并导出为 NIfTI。
  • Plastimatch 是一个瑞士军刀 - 它执行配准、图像处理、统计,并且有一个基本的图像格式转换器,可以将一些 DICOM 图像转换为 NIfTI 或 NRRD。
  • Simple Dicom Reader 2 (Sdr2) 使用 dcmtk 读取 DICOM 图像并将它们转换为 NIfTI 格式。
  • SlicerHeart 扩展专门设计用于帮助 3D Slicer 支持存储为 DICOM 的超声(US)图像。
  • spec2nii 将 MR 波谱转换为 NIFTI。
  • SPM12 是该领域最受欢迎的工具之一。它包括 DICOM 到 NIfTI 的转换。由于其基于 Matlab,因此易于脚本化。

链接

以下工具利用 dcm2niix

  • abcd-dicom2bids 有选择性地下载高质量的 ABCD 数据集。
  • autobids 自动化 dcm2bids,它使用 dcm2niix。
  • BiDirect_BIDS_Converter 用于从 DICOM 转换到 BIDS 标准。
  • BIDScoin 是一个具有图形用户界面和详尽 文档 的 DICOM 到 BIDS 转换器。
  • BIDS Toolbox 是一个用于创建和操作 BIDS 数据集的在线服务,使用 dcm2niix 导入 DICOM 数据。
  • birc-bids 提供了一个带有各种 BIDS 转换实用程序的 Docker/Singularity 容器。
  • BOLD5000_autoencoder 使用 dcm2niix 将影像数据传输到无监督机器学习算法中。
  • brainnetome DiffusionKit 使用 dcm2niix 转换图像。
  • 脑成像分析系统(Banana) 是一套脑成像分析工作流程的集合,它使用 dcm2niix 进行格式转换。
  • BraTS-Preprocessor 使用 dcm2niix 导入文件用于 脑肿瘤分割
  • clinica 是一个用于临床神经影像研究的软件平台,使用 dcm2niix 转换 DICOM 图像。
  • bidsconvertr 使用 R 将 DICOM 数据转换为 NIfTI,最终转换为 BIDS。
  • bidsify 是一个 Python 项目,使用 dcm2niix 将 DICOM 和 Philips PAR/REC 图像转换为 BIDS 标准。
  • bidskit 使用 dcm2niix 创建 BIDS 数据集。
  • BioImage Suite Web 项目 是一个使用 JavaScript 的项目,其 DICOM 转换模块使用了 dcm2niix。
  • boutiques-dcm2niix 是一个用于安装和验证 dcm2niix 的 dockerfile。
  • clinica 是一个用于临床神经影像研究的软件平台,使用 dcm2niix 转换 DICOM 图像。
  • clpipe 使用 dcm2bids 进行 DICOM 导入。
  • conversion 是一个 Python 库,可以将 dcm2niix 创建的 NIfTI 文件转换为流行的 NRRD 格式(包括 DWI 梯度表)。注意,dcm2niix 的最新版本可以直接将 DICOM 图像转换为 NRRD。
  • DAC2BIDS 使用 dcm2niibatch 创建 BIDS 数据集。
  • Dcm2Bids 使用 dcm2niix 创建 BIDS 数据集。这里有一个 教程 描述了用法。
  • dcm2niir 是 dcm2niix/dcm2nii 的 R 封装。
  • dcm2niixpy 是 dcm2niix 的 Python 包。
  • dcm2niix_afni 是包含在 AFNI 发行版中的 dcm2niix 版本。
  • dcm2niiXL 是一个用于加速转换大型数据集的 dcm2niix 的 shell 脚本和优化编译。
  • dcmwrangle 是一个用于组织 dicom 的 Python 交互式和静态工具。
  • DeepDicomSort 可以识别不同的扫描类型。
  • DICOM2BIDS 是一个用于创建 BIDS 文件的 Python 2 脚本。
  • dicom2bids 包含用于在 BIDS 兼容的文件结构中使用 dcm2niix 将 dicom 文件转换为 nifti 的 python 模块。
  • dicom2nifti_batch 是一个用于自动执行 dcm2niix 的 Matlab 脚本。
  • DICOM-to-NIfTI-GUI 是一个提供 dcm2niix 图形界面的 Python 脚本。
  • divest 是 dcm2niix 的 R 接口。
  • ExploreASL 使用 dcm2niix 导入图像。
  • ezBIDS 是一个 网络服务,可以将充满 DICOM 图像的目录转换为 BIDS,而无需用户学习 Python 或自定义配置文件。
  • fmrif 工具 使用 dcm2niix 的 oxy2bids 工具。
  • fMRIprep.dcm2niix 被设计用于将 DICOM 格式转换为 NIfTI 格式。
  • FreeSurfer 包含用于图像转换的 dcm2niix。
  • fsleyes 是一个强大的基于 Python 的图像查看器。它使用 dcm2niix 通过其 fslpy 库处理 DICOM 文件。
  • 功能实时交互内源神经调节和解码(FRIEND)引擎 使用 dcm2niix。
  • heudiconv 可以使用 dcm2niix 创建 BIDS 数据集。使用 reproin 惯例获取的数据可以轻松转换为 BIDS。
  • kipettools 使用 dcm2niix 加载 PET 数据。
  • LEAD-DBS 使用 dcm2niix 进行 DICOM 导入
  • lin4neuro 版本,例如英文 l4n-18.04.4-amd64-20200801-en.ova,预装了 MRIcroGL 和 dcm2niix。这使得拥有 VirtualBox 或 VMWarePlayer 的用户可以在图形虚拟机中使用这些工具(以及许多其他神经影像工具)。
  • MRIcroGL 可用于 MacOS、Linux 和 Windows,并为 dcm2niix 提供图形界面。您可以从 MRIcroGL NITRC 网站 获取编译版本。
  • neurodocker 将 dcm2niix 作为精简、最小化的 Dockerfile 安装。
  • neuro_docker 将 dcm2niix 作为单个静态 Dockerfile 的一部分。
  • NeuroDebian 为基于 Debian 的系统提供最新的 dcm2niix 版本。
  • neurodocker 根据特定的神经影像软件版本生成 自定义 Dockerfile。
  • NeuroElf 可以使用 dcm2niix 转换 DICOM 图像。
  • 神经信息数据库(NiDB) 设计用于存储、检索、分析和共享神经影像数据。它使用 dcm2niix 进行图像质量保证和处理某些格式。
  • NiftyPET 提供PET图像重建和分析,并使用 dcm2niix 处理 DICOM 图像。
  • nipype 可以使用 dcm2niix 转换图像。
  • PET2BIDS 使用 dcm2niix 处理 DICOM 图像。
  • py2bids 是 dcm2niix dicom 到 bids 转换的包装器。
  • pyBIDSconv 提供将 DICOM 图像转换为 BIDS 格式的图形界面。它包括用于识别西门子扫描的智能默认启发式方法。
  • pydcm2niix 是一个用于处理 dcm2niix 的 Python 模块。.
  • pydra-dcm2niix 包含 Pydra 任务界面用于 dcm2niix。
  • qsm 定量磁化率映射软件。
  • reproin 是一个用于从 MR 扫描仪自动生成可共享、版本控制 BIDS 数据集的设置。
  • Retina_OCT_dcm2nii 将光学相干断层扫描(OCT)数据转换为 NIfTI。
  • sci-tran dcm2niix Flywheel Gear(docker)。
  • shimming-toolbox 支持静态和实时配准,使用 dcm2niix 导入 DICOM 数据。
  • SlicerDcm2nii 扩展 是将 DICOM 数据导入 Slicer 的一种方法。
  • tar2bids 使用 heudiconv(它调用 dcm2niix)将 DICOM tarball(s) 转换为 BIDS。
  • TORTOISE 用于处理扩散 MRI 数据,并使用 dcm2niix 导入 DICOM 图像。
  • TractoR(使用 R 的轨迹图)使用 dcm2niix 进行图像转换。.

项目详情


下载文件

下载适合您平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。

源代码分发

dcm2niix-1.0.20220715.tar.gz (451.4 kB 查看哈希值)

上传时间

支持者