DCM2NIIX Python包
项目描述
关于
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有损和无损支持是可选的,可以使用OpenJPEG或Jasper提供。
- 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
。
安装
安装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 dcm2niix
或sudo 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)
cmake
和 pkg-config
(可选)可以按照以下方式安装
Ubuntu: sudo apt-get install cmake pkg-config
MacOS: brew install cmake pkg-config
或 sudo 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。
- dimon 和 to3d 包含在 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的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5224f3821037232716be65a5b893f3df9c29bc0b8af198419ca1ca20acee7a49 |
|
MD5 | 136832afdcff14f4a2549d97cb5c915f |
|
BLAKE2b-256 | a9d892b4e3c097632da5cffd76565b8bf08cc21f202f4d0072157d6cf96b9649 |