conversion

The conversion module provides utilities for converting between DICOM and NIfTI formats.

DICOM to NIfTI Conversion

dcm2niix

auxiliary.conversion.dcm2niix(input_dir: Path | str, output_dir: Path | str, file_name: str | None = None, compress: bool = True) None

Convert a DICOM series to NIfTI format using dcm2niix.

Parameters:
  • input_dir (Union[Path, str]) – Path to the input DICOM directory.

  • output_dir (Union[Path, str]) – Path to the output NIfTI directory.

  • file_name (Optional[str], optional) – Custom naming for the output NIfTI file. For details refer to dcm2niix -f option documentation (https://github.com/rordenlab/dcm2niix). Defaults to None.

  • compress (bool, optional) – Whether to gz compress the output NIfTI file. Defaults to True.

Raises:
  • RuntimeError – If the input directory is not valid or if the conversion fails.

  • RuntimeError – If the dcm2niix command fails.

dicom_to_nifti_itk

auxiliary.conversion.dicom_to_nifti_itk(input_dir: Path | str, output_dir: Path | str, file_name: str | None = None) None

Convert a DICOM series to NIfTI format using SimpleITK.

Parameters:
  • input_dir (Union[Path, str]) – Path to the input DICOM directory.

  • output_dir (Union[Path, str]) – Path to the output NIfTI directory.

  • file_name (Optional[str], optional) – Name of the output NIfTI file if there is only one DICOM series to be converted. Defaults to None.

Raises:

RuntimeError – If the input directory is not valid or does not contain a DICOM series.

NIfTI to DICOM Conversion

nifti_to_dicom_itk

auxiliary.conversion.nifti_to_dicom_itk(input_image: Path | str | Image | ndarray[tuple[int, ...], dtype[_ScalarType_co]], output_dir: Path | str, reference_dicom: Path | str | None = None)

Convert a NIfTI image to DICOM format using SimpleITK.

Parameters:
  • input_image (Union[Path, str, sitk.Image, NDArray]) – Path to the input NIfTI image or a SimpleITK image or numpy array.

  • output_dir (Union[Path, str]) – Path to the output DICOM directory.

  • reference_dicom (Optional[Union[Path, str]], optional) – Path to a reference DICOM file or directory for metadata. Defaults to None.

Raises:
  • RuntimeError – If no DICOM series is found in the reference directory.

  • TypeError – If input_image is not a valid type (file path, SimpleITK.Image, or np.ndarray).

Examples

Converting DICOM to NIfTI using dcm2niix

from auxiliary.conversion import dcm2niix

# Convert DICOM series to compressed NIfTI
dcm2niix(
    input_dir="/path/to/dicom/series",
    output_dir="/path/to/output",
    file_name="my_image",
    compress=True
)

Converting DICOM to NIfTI using SimpleITK

from auxiliary.conversion import dicom_to_nifti_itk

# Convert DICOM series to NIfTI using SimpleITK
dicom_to_nifti_itk(
    input_dir="/path/to/dicom/series",
    output_dir="/path/to/output",
    file_name="my_image.nii.gz"
)

Converting NIfTI to DICOM

from auxiliary.conversion import nifti_to_dicom_itk

# Convert NIfTI image to DICOM series
nifti_to_dicom_itk(
    input_image="/path/to/image.nii.gz",
    output_dir="/path/to/dicom/output",
    reference_dicom="/path/to/reference/dicom"
)

# You can also pass numpy arrays or SimpleITK images
import numpy as np
image_array = np.random.rand(100, 100, 50)
nifti_to_dicom_itk(
    input_image=image_array,
    output_dir="/path/to/dicom/output"
)