Medical Imaging Interaction Toolkit  2026.06.00
Medical Imaging Interaction Toolkit
The DICOM Module

DICOM This module contains a number of classes for DICOM image loading within MITK. More...

Collaboration diagram for The DICOM Module:

Classes

class  mitk::BaseDICOMReaderService
 Base class for service wrappers that make DICOMFileReader from the DICOM module usable. More...
 
class  mitk::ClassicDICOMSeriesReader
 Sorting and grouping like mitk::DicomSeriesReader until 2013. More...
 
class  mitk::DICOMCodeSequence
 Represents a DICOM Code Sequence with value, scheme, and meaning. More...
 
class  mitk::DICOMCodeSequenceWithModifiers
 Represents a DICOM Code Sequence with optional modifiers. More...
 
struct  mitk::DICOMDatasetFinding
 Result structure for DICOMDatasetAccess::GetTagValueAsString. More...
 
class  mitk::DICOMDatasetAccess
 Interface to datasets that is presented to sorting classes such as DICOMDatasetSorter. More...
 
class  mitk::DICOMDatasetAccessingImageFrameInfo
 Defines an abstract base class for DICOM image frame infos with data access. More...
 
class  mitk::DICOMDatasetSorter
 The sorting/splitting building-block of DICOMITKSeriesGDCMReader. More...
 
class  mitk::DICOMDCMTKTagScanner
 Encapsulates the tag scanning process for a set of DICOM files. More...
 
class  mitk::DICOMFileReader
 Interface for DICOM readers that produce mitk::Images. More...
 
class  mitk::DICOMFileReaderSelector
 Simple best-reader selection. More...
 
class  mitk::DICOMGDCMImageFrameInfo
 The dataset access implementation for DICOMITKSeriesGDCMReader, based on GDCM. More...
 
class  mitk::DICOMGDCMTagCache
 Tag cache implementation used by the DICOMGDCMTagScanner. More...
 
class  mitk::DICOMGDCMTagScanner
 Encapsulates the tag scanning process for a set of DICOM files. More...
 
class  mitk::DICOMGenericImageFrameInfo
 A generic storage class for image frame info with data access. More...
 
class  mitk::DICOMGenericTagCache
 Generic tag cache implementation using DICOMGenericImageFrameInfo. More...
 
struct  mitk::DICOMCachedValueInfo
 Stores cached DICOM tag value information for a specific slice. More...
 
class  mitk::DICOMCachedValueLookupTable
 Lookup table mapping slice indices to cached DICOM tag value information. More...
 
class  mitk::DICOMImageBlockDescriptor
 Output descriptor for DICOMFileReader. More...
 
class  mitk::DICOMImageFrameInfo
 Describes a frame within a DICOM file. More...
 
struct  mitk::DICOMIOMetaInformationPropertyConstants
 Constants for property key paths used to store DICOM I/O meta information. More...
 
class  mitk::DICOMITKSeriesGDCMReader
 Flexible reader based on itk::ImageSeriesReader and GDCM, for single-slice modalities like CT, MR, PET, CR, etc. More...
 
class  mitk::DICOMReaderConfigurator
 Too-simple factory to create DICOMFileReaders. More...
 
class  mitk::DICOMSortByTag
 Compare two datasets by the value of a single tag (for use in DICOMTagBasedSorter). More...
 
class  mitk::DICOMSortCriterion
 A tag based sorting criterion for use in DICOMTagBasedSorter. More...
 
class  mitk::DICOMTag
 Representation of a DICOM tag. More...
 
class  mitk::DICOMTagBasedSorter
 Sort DICOM datasets based on configurable tags. More...
 
class  mitk::DICOMTagCache
 Abstract base class for caching DICOM tag values scanned from files. More...
 
class  mitk::DICOMTagPath
 Class used to identify (nested) attributes in a DICOM dataset. More...
 
class  mitk::DICOMTagScanner
 Abstracts the tag scanning process for a set of DICOM files. More...
 
class  mitk::DICOMTagsOfInterestAddHelper
 Helper class to ensure DICOM tags of interest are registered at IDICOMTagsOfInterest services. More...
 
class  mitk::EquiDistantBlocksSorter
 Split inputs into blocks of equidistant slices (for use in DICOMITKSeriesGDCMReader). More...
 
class  mitk::GantryTiltInformation
 Gantry tilt analysis result. More...
 
class  mitk::ITKDICOMSeriesReaderHelper
 Helper class that uses ITK's ImageSeriesReader to load DICOM images. More...
 
class  mitk::NormalDirectionConsistencySorter
 Makes sure that the order of files is along the image plane normals. More...
 
class  mitk::SortByImagePositionPatient
 Sort by distance of image origin along image normal (for use in DICOMTagBasedSorter). More...
 

Typedefs

typedef TemporoSpatialStringProperty mitk::DICOMProperty
 Type alias for DICOM property values, stored as TemporoSpatialStringProperty. More...
 
typedef std::map< DICOMTagPath, std::string > mitk::DICOMTagPathMapType
 Map type for DICOM tags of interest. More...
 

Enumerations

enum  mitk::PixelSpacingInterpretation { mitk::SpacingInPatient , mitk::SpacingAtDetector , mitk::SpacingUnknown }
 How the mitk::Image spacing should be interpreted (see mitk::DICOMFileReader). More...
 
enum  mitk::ReaderImplementationLevel {
  mitk::SOPClassSupported , mitk::SOPClassPartlySupported , mitk::SOPClassImplemented , mitk::SOPClassUnsupported ,
  mitk::SOPClassUnknown
}
 Describes how well the reader is tested for a certain file type (see mitk::DICOMFileReader). More...
 

Detailed Description

DICOM This module contains a number of classes for DICOM image loading within MITK.

Scope

When people around MITK talk about loading DICOM images or series, they are really not interested in the images (2D slices) but in a 3D mitk::Image instance that groups DICOM images in a meaningful way.

The task of this module is to provide

Most documentation is kept with these classes, so please have a look at their documentations.

Remarks
Prior to this module, a class called DicomSeriesReader grew too much to be maintainable anymore. Its functionality is conserved by class mitk::ClassicDICOMSeriesReader.

Module Interface

The general loading proceduce is structured by mitk::DICOMFileReader, under the assumption that the best reader for a set of files is not known prior to inspection. To facilitate applications that need to select between possible readers based on what would be loaded, file readers are required to implement loading in two separate steps:

  1. analysis of a list of files and description of potential mitk::Images by means of mitk::DICOMImageBlockDescriptor
  2. actual loading of pixel data into mitk::Images

A very simple implementation is mitk::DICOMFileReaderSelector which selects the reader with the least possible number of mitk::Images (least confusing for the user?).

Tasks for future development

Unstructured development tasks and ideas for future extensions

Typedef Documentation

◆ DICOMProperty

Type alias for DICOM property values, stored as TemporoSpatialStringProperty.

See also
TemporoSpatialStringProperty

Definition at line 30 of file mitkDICOMProperty.h.

◆ DICOMTagPathMapType

typedef std::map<DICOMTagPath, std::string> mitk::DICOMTagPathMapType

Map type for DICOM tags of interest.

Key is the tag path of interest. Value is an optional user-defined name for the property that should be used to store the tag value(s). An empty value (default) implies using the DICOMTagPath converted to a property name.

Definition at line 33 of file mitkDICOMTagsOfInterestHelper.h.

Enumeration Type Documentation

◆ PixelSpacingInterpretation

How the mitk::Image spacing should be interpreted (see mitk::DICOMFileReader).

Compare DICOM PS 3.3 10.7 (Basic Pixel Spacing Calibration Macro).

See also
DICOMImageBlockDescriptor::GetPixelSpacingInterpretation
Enumerator
SpacingInPatient 

distances are mm within a patient

SpacingAtDetector 

distances are mm at detector surface

SpacingUnknown 

NO spacing information is present, we use (1,1) as default.

Definition at line 38 of file mitkDICOMEnums.h.

◆ ReaderImplementationLevel

Describes how well the reader is tested for a certain file type (see mitk::DICOMFileReader).

Applications should not rely on the outcome for images which are reported Implemented or Unsupported.

Errors to load images which are reported as Supported are considered bugs. For PartlySupported please check the reader documentation on specifics.

See also
DICOMFileReader, DICOMImageBlockDescriptor::GetReaderImplementationLevel
Enumerator
SOPClassSupported 

loader code and tests are established

SOPClassPartlySupported 

loader code and tests are established for specific parts of a SOP Class

SOPClassImplemented 

loader code is implemented but not accompanied by tests

SOPClassUnsupported 

loader code is not known to work with this SOP Class

SOPClassUnknown 

loader did not yet inspect any images, unknown fitness

Definition at line 57 of file mitkDICOMEnums.h.