Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
The DICOMReader Module

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

Collaboration diagram for The DICOMReader 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::TagValueProcessor
 Processes tag values before they are compared. These classes could do some kind of normalization such as rounding, lower case formatting, etc. More...
 
class  mitk::DICOMTagBasedSorter::CutDecimalPlaces
 Cuts a number after configured number of decimal places. An instance of this class can be used to avoid errors when comparing minimally different image orientations. More...
 
struct  mitk::DICOMTagBasedSorter::ParameterizedDatasetSort
 Helper struct to feed into std::sort, configured via DICOMSortCriterion. 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::SliceGroupingAnalysisResult
 Return type of AnalyzeFileForITKImageSeriesReaderSpacingAssumption(). 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...
 
struct  mitk::DICOMFilenameSorter::FilenameSort
 
class  mitk::DICOMFilenameSorter
 sort files based on filename (last resort). 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

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

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