or run

tessl search
Log in

Version

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
pypipkg:pypi/dcm2niix@1.0.x

docs

index.md
tile.json

tessl/pypi-dcm2niix

tessl install tessl/pypi-dcm2niix@1.0.5

Command-line application that converts medical imaging data from DICOM format to NIfTI format with BIDS support

image-processing.mddocs/reference/

Image Processing Features

dcm2niix provides advanced image processing capabilities for handling medical imaging data during conversion.

Capabilities

16-Bit Range Scaling

Control dynamic range optimization for 16-bit integer data.

-l <y/n/o>

16-bit range scaling options:

  • y = losslessly scale to use full dynamic range (INT16: -32768 to 32767)
  • n = no scaling, but convert UINT16 to INT16
  • o = original, preserve exact values and data type (default)

Why This Matters:

  • Many DICOM images use only a small portion of the 16-bit range
  • Scaling improves visualization and reduces quantization artifacts
  • "Lossless" means the original intensities can be recovered using stored scale factors

Use Case:

  • o (default): Preserves original DICOM pixel values exactly, best for quantitative analysis
  • y: Maximizes dynamic range for visualization, improves contrast in narrow-window images
  • n: Converts unsigned to signed integers without scaling

3D Acquisition Cropping

Remove excess slices from 3D acquisitions.

-x <y/n/i>

Crop 3D acquisitions:

  • y = crop excess slices from 3D volumes
  • n = don't crop (default)
  • i = ignore (neither crop nor rotate 3D acquisitions)

What This Does:

  • Detects and removes padding slices added by scanner
  • Identifies non-zero content boundaries
  • Reduces file size and processing time
  • Improves alignment across sequences

When to Use:

  • 3D MPRAGE, SPACE, or other volumetric acquisitions with black borders
  • Multi-slab acquisitions with overlapping slices
  • High-resolution structural scans with over-sampling

3D Acquisition Rotation

Apply proper anatomical orientation to 3D volumes.

Controlled via -x option:

  • By default, 3D acquisitions are rotated to proper orientation
  • -x i disables both cropping and rotation
  • -x n disables cropping but keeps rotation

Why This Matters:

  • Ensures consistent anatomical orientation across datasets
  • Aligns volumes to RAS+ coordinate system (Right-Anterior-Superior)
  • Corrects for unusual acquisition orientations

CT Gantry Tilt Correction

Automatically correct for CT gantry tilt.

# Enabled by default, no flag required
# To disable, use compile-time option or modify defaults

What This Does:

  • Detects gantry tilt angle from DICOM tag (0018,1120)
  • Resamples volume to remove shearing effect
  • Creates true rectilinear grid

When Applied:

  • CT scans with non-zero gantry tilt
  • Common in head CT to reduce lens radiation exposure
  • Results in _Tilt postfix on output filename

Slice Reslicing

Convert non-equidistant slices to equidistant volumes.

# Automatic when variable slice spacing detected
# Results in _Eq postfix

What This Does:

  • Detects variable spacing between slices
  • Resamples to create uniform slice spacing
  • Enables proper 3D visualization and analysis

When Applied:

  • Variable slice thickness/spacing in DICOM series
  • Partial Fourier acquisitions
  • Some multi-slice sequences

Indicator:

  • _Eq postfix added to output filename

Y-Axis Flipping

Convert DICOM coordinate system to Cartesian (neurological convention).

# Enabled by default (isFlipY = true)
# Converts DICOM L-P-S to NIfTI R-A-S+

What This Does:

  • Flips Y-axis to match neurological convention
  • DICOM uses LPS (Left-Posterior-Superior)
  • NIfTI uses RAS+ (Right-Anterior-Superior, Cartesian)
  • Ensures proper left/right orientation

Philips Precise Float Scaling

Use true floating-point values instead of display scaling for Philips MRI.

-p <y/n>

Philips precise float scaling:

  • y = use precise floating-point values (default, recommended)
  • n = use display scaling values

Why This Matters:

  • Philips DICOM includes two scaling factors: true values (RWV) and display values
  • Display scaling optimizes for visual appearance
  • Precise scaling preserves quantitative accuracy
  • Critical for quantitative imaging (ADC, T1/T2 mapping, pharmacokinetic modeling)

Recommended:

  • Always use -p y for quantitative analysis
  • Display scaling suitable only for qualitative review

Complex Image Handling

Automatic separation of complex-valued MR data.

# Automatic processing, no flag required
# Produces separate files with postfixes

What This Does:

  • Detects complex-valued images (magnitude/phase, real/imaginary)
  • Separates components into individual files
  • Adds appropriate postfixes: _real, _imaginary, _ph, _phMag

Output Types:

  • _real.nii - Real component
  • _imaginary.nii - Imaginary component
  • _ph.nii - Phase map (wrapped, radians)
  • _phMag.nii - Phase and magnitude combined as 4D volume

Field Map Handling:

  • Philips B0 field maps exported as _fieldmaphz.nii (Hz units)

RGB Color Image Handling

Process color images (e.g., photographs, color Doppler).

# Automatic, controlled by isRGBplanar setting (default: false)
# Uses NIfTI RGB format

What This Does:

  • Detects RGB color images (photometric interpretation = RGB)
  • Converts to NIfTI RGB24 data type
  • Preserves color information

Format:

  • Default: RGB interleaved (NIfTI standard)
  • Can be set to planar (R, G, B as separate volumes) via config

Motion Correction Detection

Identify motion-corrected variants.

# Automatic detection from DICOM ImageType
# Adds _MoCo postfix

What This Does:

  • Detects motion-corrected acquisitions from ImageType tag
  • Labels with _MoCo postfix
  • Helps distinguish original from processed data

Multi-Echo Separation

Separate multi-echo acquisitions into individual files.

# Automatic, no flag required
# Produces _e1, _e2, _e3... postfixed files

What This Does:

  • Detects multiple echo times in series
  • Creates separate NIfTI file for each echo
  • Postfixes: _e1.nii, _e2.nii, etc.

Use Cases:

  • T2* mapping
  • Quantitative susceptibility mapping (QSM)
  • Multi-echo BOLD fMRI

Multi-Coil Separation

Extract individual coil elements from uncombined data.

# Automatic when uncombined coil data detected
# Produces _c1, _c2, _c3... postfixed files

What This Does:

  • Detects uncombined coil array data
  • Separates each coil element into individual file
  • Postfixes: _c1.nii, _c2.nii, ..., _c32.nii (for 32-channel array)

Use Cases:

  • Advanced reconstruction algorithms
  • Coil sensitivity map generation
  • Parallel imaging research

DICOM Overlay Extraction

Extract DICOM binary overlays (ROIs) to separate NIfTI files.

# Automatic when overlays present (DICOM group 0x6000)
# Produces _ROI1, _ROI2... postfixed files

What This Does:

  • Detects DICOM binary overlays (up to 16 layers)
  • Extracts each overlay as separate binary mask
  • Postfixes: _ROI1.nii, _ROI2.nii, ..., _ROI16.nii

Use Cases:

  • ROI analysis masks
  • Segmentation results stored in DICOM
  • Contours and annotations

Slice Timing Correction Information

Extract slice timing for fMRI analysis.

# Automatic extraction to BIDS JSON
# Field: SliceTiming array

What This Does:

  • Detects slice acquisition timing from DICOM headers
  • Stores timing in BIDS JSON SliceTiming field
  • Array of slice acquisition times relative to TR

Use Cases:

  • Slice timing correction in fMRI preprocessing
  • Accurate temporal modeling

Gradient Nonlinearity Correction Detection

Identify gradient nonlinearity corrected images.

# Automatic detection from ImageType
# Stored in BIDS JSON: "NonlinearGradientCorrection": true

What This Does:

  • Detects whether gradient distortion correction was applied by scanner
  • Records status in BIDS JSON
  • Helps avoid double-correction in analysis pipelines

Usage Examples

Maximize 16-Bit Dynamic Range

dcm2niix -l y /input/folder

Losslessly scales data to use full INT16 range (-32768 to 32767).

Preserve Original Pixel Values

dcm2niix -l o /input/folder

No scaling, preserves exact DICOM pixel values (default, best for quantitative work).

Crop 3D MPRAGE

dcm2niix -x y /3d/mprage/folder

Removes excess slices from 3D structural acquisition.

Philips Quantitative Imaging

dcm2niix -p y -l o /philips/dwi/folder

Use precise float scaling and preserve original values for quantitative DWI/DTI.

Disable 3D Rotation and Cropping

dcm2niix -x i /input/folder

Leaves 3D acquisitions in original orientation without cropping.

Process Complex GRE

dcm2niix /complex/gre/folder

Automatically separates into _real.nii, _imaginary.nii, _ph.nii files.

Extract Multi-Echo Data

dcm2niix /multi/echo/fmri

Creates separate files: bold_e1.nii, bold_e2.nii, bold_e3.nii.

Uncombined Coil Data

dcm2niix /uncombined/coil/array

Generates individual coil files: scan_c1.nii through scan_c32.nii.

Processing Pipeline Summary

When converting DICOM to NIfTI, dcm2niix applies these steps in order:

  1. DICOM Header Parsing - Extract metadata and image parameters
  2. Transfer Syntax Decompression - Decompress JPEG, JPEG2000, RLE, etc.
  3. Slice Ordering - Reorder slices to proper spatial sequence
  4. Volume Assembly - Combine 2D slices into 3D/4D volumes
  5. Reslicing (if needed) - Create equidistant slices from variable spacing
  6. Tilt Correction (CT only) - Remove gantry tilt shearing
  7. Cropping (if -x y) - Remove excess slices from 3D volumes
  8. Rotation (3D volumes) - Apply proper anatomical orientation
  9. Complex Separation (if applicable) - Split magnitude/phase or real/imaginary
  10. Multi-Echo Separation (if applicable) - Create separate echo files
  11. Multi-Coil Separation (if applicable) - Extract individual coil elements
  12. Scaling (if -l y/n) - Apply 16-bit range optimization
  13. Y-Axis Flip - Convert DICOM LPS to NIfTI RAS+ coordinates
  14. NIfTI Generation - Write final NIfTI file(s)
  15. BIDS JSON Generation (if -b y) - Create metadata sidecar
  16. Overlay Extraction (if present) - Save DICOM overlays as separate ROI files

Notes

  • Image processing is performed losslessly when possible (e.g., reslicing, tilt correction)
  • Original DICOM pixel data can be reconstructed using stored scale factors
  • Processing decisions are based on DICOM header tags and ImageType values
  • Some operations (cropping, reslicing) use interpolation and are not perfectly reversible
  • Complex separations and multi-echo splits are automatic; no user control needed
  • Postfixes indicate processing applied: _Eq, _Tilt, _MoCo, _e1, _c1, etc.