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"
)