Modules:DicomToNRRD-3.6
Return to Slicer 3.6 Documentation
Module Name
DWI Dicom To NRRD
General Information
Module Type & Category
Type: Command line module
Category: Converters
Authors, Collaborators & Contact
- Author: Xiaodong Tao (with contribution from Vince Magnotta and Hans Johnson)
- Contact: taox @ research.ge.com
Module Description
This module converts diffusion weighted MR images in dicom series into Nrrd format for analysis in Slicer. This program has been tested on only a limited subset of DTI dicom formats available from Siemens, GE, and Phillips scanners. Work in progress to support dicom multi-frame data. The program parses dicom header to extract necessary information about measurement frame, diffusion weighting directions, b-values, etc, and write out a nrrd image.
Usage
Examples, Use cases & Tutorials
This module is typically used as the first step in diffusion weighted image analysis and tractography to convert diffusion weighted images in Dicom format into Nrrd format, which is recognized by Slicer3 as a legitimate diffusion weighted volume.
In the recent development, it is extended to act as a dicom series to nrrd file converted for non-diffusion-weighted images as well.
Supported DWI formats
- Philips scanner/software version combinations:
- Achieva 2.1.3.6
- Achieva 2.5.3.0
- Achieva 2.5.3.3
- Achieva 2.6.1.0
- Intera 2.1.3.6
- Intera 2.6.3.5
- Siemens
- GE
Command Line Usage
A command line example for running the module is:
d:\Builds\Slicer3\lib\Slicer3\Plugins\Release\DicomToNrrdConverter.exe --inputDicomDirectory MyDicomDir --outputVolume MyNrrdImage.nhdr
Quick Tour of Features and Use
When this module is run from Slicer UI, simply select the directories for Input Dicom Data and Output Directory, enter the filename (without path name, but with extension, such as mydti.nrrd) in the Output Filename field, and press "Apply" button.
The module can also be run from command line to enable batch process. An example command line look like:
d:\Builds\Slicer3\lib\Slicer3\Plugins\Release\DicomToNrrdConverter.exe --inputDicomDirectory MyDicomDir --outputDirectory /scratch/Diffusion --outputVolume MyNrrdImage.nrrd
Development
Dependencies
This module depends only on the core "Volumes" module of slice for data IO.
Known Bugs
Usability Issues
Because different vendors used different private tags to store information related to diffusion weighting and documentation on how to interoperate this information is scarce, the current version support diffusion weighted images from GE, Siemens, and Philips scanners. For Siemens, both mosaic and split formats are supported. For Philips, both multi-slice and signal-slice formats are supported.
The current version also support non-diffusion weighted images from any vendors (that GDCM supports), in which case, the module acts as a dicom series to nrrd volume converter.
Source Code and Documentation
Source Code: DicomToNrrdConverter.cxx
XML Description: DicomToNrrdConverter.xml
Test: DicomToNrrdConverterTest.cxx
./lib/Slicer3/Plugins/DicomToNrrdConverter --help USAGE: ./lib/Slicer3/Plugins/DicomToNrrdConverter [--returnparameterfile <std::string>] [--processinformationaddress <std::string>] [--xml] [--echo] [--useIdentityMeaseurementFrame] [--writeProtocolGradientsFile] [--outputVolume <std::string>] [--outputDirectory <std::string>] [--inputDicomDirectory <std::string>] [--] [--version] [-h] Where: --returnparameterfile <std::string> Filename in which to write simple return parameters (int, float, int-vector, etc.) as opposed to bulk return parameters (image, geometry, transform, measurement, table). --processinformationaddress <std::string> Address of a structure to store process information (progress, abort, etc.). (default: 0) --xml Produce xml description of command line arguments (default: 0) --echo Echo the command line arguments (default: 0) --useIdentityMeaseurementFrame Adjust all the gradients so that the measurement frame is an identity matrix. (default: 0) --writeProtocolGradientsFile Write the protocol gradients to a file suffixed by '.txt' as they were specified in the procol by multiplying each diffusion gradient direction by the measurement frame. This file is for debugging purposes only, the format is not fixed, and will likely change as debugging of new dicom formats is necessary. (default: 0) --outputVolume <std::string> Output filename (.nhdr) --outputDirectory <std::string> Directory holding the output NRRD format --inputDicomDirectory <std::string> Directory holding Dicom series --, --ignore_rest Ignores the rest of the labeled arguments following this flag. --version Displays version information and exits. -h, --help Displays usage information and exits. Description: Converts diffusion weighted MR images in dicom series into Nrrd format for analysis in Slicer. This program has been tested on only a limited subset of DTI dicom formats available from Siemens, GE, and Phillips scanners. Work in progress to support dicom multi-frame data. The program parses dicom header to extract necessary information about measurement frame, diffusion weighting directions, b-values, etc, and write out a nrrd image. For non-diffusion weighted dicom images, it loads in an entire dicom series and writes out a single dicom volume in a .nhdr/.raw pair. Author(s): Xiaodong Tao Acknowledgements: This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Additional support for DTI data produced on Philips scanners was contributed by Vincent Magnotta and Hans Johnson at the University of Iowa.
More Information
Acknowledgement
Acknowledgements: This work is part of the National Alliance for Medical Image Computing (NAMIC), funded by the National Institutes of Health through the NIH Roadmap for Medical Research, Grant U54 EB005149. Additional support for DTI data produced on Philips scanners was contributed by Vincent Magnotta and Hans Johnson at the University of Iowa.
References
More information on Dicom format for diffusion weighted images on NA-MIC Wiki.