DCM2NIIX Python包
项目描述
关于
dcm2niix 是一个设计用来将神经影像学数据从DICOM格式转换为NIfTI格式的软件。这个网页托管了开发源代码——Linux、MacOS和Windows的最新稳定版本的编译版本包含在 MRIcroGL 中。该软件的完整手册以 NITRC wiki 的形式提供。
DICOM格式是现代医学成像设备生成的标准图像格式。然而,DICOM非常复杂,不同的供应商对它的解释也不尽相同。NIfTI格式受到科学家的欢迎,它非常简单且明确。然而,这种简单性也带来了限制(例如,它要求切片均匀)。dcm2niix还可以生成一个BIDS JSON格式的辅助文件
,以供应商无关和人类可读的形式包含脑科学家所需的相关信息。[神经影像学DICOM和NIfTI入门指南](https://github.com/DataCurationNetwork/data-primers/blob/master/Neuroimaging%20DICOM%20and%20NIfTI%20Data%20Curation%20Primer/neuroimaging-dicom-and-nifti-data-curation-primer.md)提供了详细信息。
许可证
本软件是开源的。大部分代码受BSD许可证的约束。一些单元是公共领域(nifti*.*, miniz.c)或使用MIT许可证(ujpeg.cpp)。有关更多详细信息,请参阅license.txt文件。
依赖项
本软件通常可以在macOS、Linux和Windows上运行,无需安装其他软件。但是,如果您使用dcm2niix创建gz压缩图像,如果您已经安装了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进行并行压缩。
版本
请参阅[发布说明](https://github.com/rordenlab/dcm2niix/releases)以获取最新的发布说明。请参阅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),所有文件都保存到“output”文件夹中。有关更多帮助,请参阅帮助:dcm2niix -h
。
安装
安装dcm2niix有几种方法。
- GitHub 发布版(Github Releases)提供最新的编译版可执行文件。这对于 MacOS 和 Windows 用户来说是一个非常好的选择。然而,提供的 Linux 可执行文件需要较新版本的 Linux(例如 Ubuntu 14.04 或更高版本),因此提供的 Unix 可执行文件不适合非常旧的发行版。具体来说,它需要 2014 年的 Glibc 2.19 或更高版本。较旧系统的用户可以编译自己的 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 pydcm2niix
。 - 在 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 失败并显示类似 "Generator: execution of make failed"
的消息,可以通过运行 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 构建 cmder 版本
如果您在上述 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和Siemens格式)。
- Python dcmstack 具有元数据保留的DICOM到Nifti转换。
- dicm2nii 是用Matlab编写的。Matlab语言使得此脚本非常灵活。
- dicom2nifti 使用可脚本化的Python包装器利用高性能GDCMCONV可执行文件。
- dicomtonifti 利用VTK。
- dinifti 专注于Siemens数据的转换。
- DWIConvert 将DICOM图像转换为NRRD和NIfTI格式。
- mcverter 对各种供应商的支持非常好。
- mri_convert 是FreeSurfer流行软件包的一部分。在我的有限经验中,这个工具对GE和Siemens数据效果很好,但无法处理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 是一个带有GUI和详尽文档的DICOM到BIDS转换器。
- BIDS Toolbox 是一个用于创建和操作BIDS数据集的Web服务,使用dcm2niix导入DICOM数据。
- birc-bids 提供了一个包含各种BIDS转换实用工具的Docker/Singularity容器。
- BOLD5000_autoencoder 使用dcm2niix将成像数据传输到无监督机器学习算法。
- 脑网络图谱DiffusionKit 使用dcm2niix进行图像转换。
- 脑成像分析工作流集合(Banana) 是一套脑成像分析工作流程,它使用dcm2niix进行格式转换。
- BraTS-Preprocessor 使用dcm2niix导入用于 脑肿瘤分割 的文件。
- bidsify 是一个Python项目,它使用dcm2niix将DICOM和Philips PAR/REC图像转换为BIDS标准。
- bidskit 使用dcm2niix创建 BIDS 数据集。
- BioImage Suite Web项目 是一个JavaScript项目,它使用dcm2niix进行其DICOM转换模块。
- 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 是一个用于组织dicoms的Python交互式和静态工具。
- DeepDicomSort 可以识别不同的扫描类型。
- DICOM2BIDS 是一个用于创建BIDS文件的Python 2脚本。
- dicom2bids 包含用于在符合BIDS文件结构的NIfTI中转换dicom文件的python模块,并使用dcm2niix。
- 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格式。
- 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。这允许用户在图形虚拟机中使用这些工具(以及许多其他神经影像工具)。
- 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转换图像。
- 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用于处理扩散磁共振成像数据,并使用dcm2niix导入DICOM图像。
- TractoR(R中的轨迹图)使用dcm2niix进行图像转换。.
项目详情
pydcm2niix-1.0.20220116.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5e89ed421b5058b83a9347dbb13ac59ee10637f0840a1727e1b4abfe32518899 |
|
MD5 | 904855ef237528e7e34cb853d8b27fda |
|
BLAKE2b-256 | 35f914678b4ad6956d8583681d70a725fb9a2886a223dbf6628aa9f0a60182df |