Medical Imaging Interaction Toolkit  2023.12.99-ed252ae7
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::ClassicDICOMSeriesReader
 Sorting and grouping like mitk::DicomSeriesReader until 2013. 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. More...
 
class  mitk::DICOMImageBlockDescriptor
 Output descriptor for DICOMFileReader. More...
 
class  mitk::DICOMImageFrameInfo
 Describes a frame within a DICOM file. 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
 ... More...
 
class  mitk::DICOMTagScanner
 Abstracts the tag scanning process for a set of DICOM files. 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::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...
 

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

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

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 31 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.

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 48 of file mitkDICOMEnums.h.