Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::ThreeDnTDICOMSeriesReader Class Reference

Extends DICOMITKSeriesGDCMReader by sorting/grouping into 3D+t image blocks. More...

#include <mitkThreeDnTDICOMSeriesReader.h>

Inheritance diagram for mitk::ThreeDnTDICOMSeriesReader:
Collaboration diagram for mitk::ThreeDnTDICOMSeriesReader:

Public Member Functions

 mitkClassMacro (ThreeDnTDICOMSeriesReader, DICOMITKSeriesGDCMReader)
 
 mitkCloneMacro (ThreeDnTDICOMSeriesReader)
 
 mitkNewMacro1Param (ThreeDnTDICOMSeriesReader, unsigned int)
 
void SetGroup3DandT (bool on)
 Control whether 3D+t grouping shall actually be attempted. More...
 
bool GetGroup3DandT () const
 
virtual bool LoadImages () override
 Load via multiple calls to itk::ImageSeriesReader. More...
 
virtual bool operator== (const DICOMFileReader &other) const override
 
- Public Member Functions inherited from mitk::DICOMITKSeriesGDCMReader
 mitkClassMacro (DICOMITKSeriesGDCMReader, DICOMFileReader)
 
 mitkCloneMacro (DICOMITKSeriesGDCMReader)
 
 mitkNewMacro1Param (DICOMITKSeriesGDCMReader, unsigned int)
 
virtual void AnalyzeInputFiles () override
 Runs the sorting / splitting process described in Loading strategy. Method required by DICOMFileReader. More...
 
virtual bool CanHandleFile (const std::string &filename) override
 Indicate whether this reader can handle given file. More...
 
virtual void AddSortingElement (DICOMDatasetSorter *sorter, bool atFront=false)
 Add an element to the sorting procedure described in Loading strategy. More...
 
ConstSorterList GetFreelyConfiguredSortingElements () const
 
void SetFixTiltByShearing (bool on)
 Controls whether to "fix" tilted acquisitions by shearing the output (see Gantry tilt handling). More...
 
bool GetFixTiltByShearing () const
 
void SetAcceptTwoSlicesGroups (bool accept) const
 Controls whether groups of only two images are accepted when ensuring consecutive slices via EquiDistantBlocksSorter. More...
 
bool GetAcceptTwoSlicesGroups () const
 
void SetToleratedOriginOffsetToAdaptive (double fractionOfInterSliceDistanct=0.3) const
 See Forced Configuration. More...
 
void SetToleratedOriginOffset (double millimeters=0.005) const
 See Forced Configuration. More...
 
double GetToleratedOriginError () const
 
bool IsToleratedOriginOffsetAbsolute () const
 
double GetDecimalPlacesForOrientation () const
 
virtual DICOMTagPathList GetTagsOfInterest () const override
 
- Public Member Functions inherited from mitk::DICOMFileReader
 mitkClassMacroItkParent (DICOMFileReader, itk::Object)
 
void SetInputFiles (const StringList &filenames)
 This input files. More...
 
const StringListGetInputFiles () const
 This input files. More...
 
unsigned int GetNumberOfOutputs () const
 Number of outputs, only meaningful after calling AnalyzeInputFiles() More...
 
const DICOMImageBlockDescriptorGetOutput (unsigned int index) const
 Individual outputs, only meaningful after calling AnalyzeInputFiles(). More...
 
void SetConfigurationLabel (const std::string &)
 Short label/name to describe this reader. More...
 
std::string GetConfigurationLabel () const
 Short label/name to describe this reader. More...
 
void SetConfigurationDescription (const std::string &)
 One-sentence description of the reader's loading "strategy". More...
 
std::string GetConfigurationDescription () const
 One-sentence description of the reader's loading "strategy". More...
 
void PrintConfiguration (std::ostream &os) const
 Print configuration description to given stream, for human reader. More...
 
void PrintOutputs (std::ostream &os, bool filenameDetails=false) const
 Print output description to given stream, for human reader. More...
 
virtual void SetAdditionalTagsOfInterest (const AdditionalTagsMapType &tagList)
 Set a list of DICOMTagPaths that specifiy all DICOM-Tags that will be copied into the property of the mitk::Image. More...
 
virtual void SetTagLookupTableToPropertyFunctor (mitk::DICOMImageBlockDescriptor::TagLookupTableToPropertyFunctor functor)
 Set a functor that defines how the slice-specific tag-values are stored in a Property. More...
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from mitk::DICOMITKSeriesGDCMReader
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::DICOMFileReader
static bool IsDICOM (const std::string &filename)
 Test whether a file is DICOM at all. More...
 

Protected Member Functions

 ThreeDnTDICOMSeriesReader (unsigned int decimalPlacesForOrientation=5)
 
virtual ~ThreeDnTDICOMSeriesReader ()
 
 ThreeDnTDICOMSeriesReader (const ThreeDnTDICOMSeriesReader &other)
 
ThreeDnTDICOMSeriesReaderoperator= (const ThreeDnTDICOMSeriesReader &other)
 
virtual SortingBlockList Condense3DBlocks (SortingBlockList &) override
 Analyze the groups produced by DICOMITKSeriesGDCMReader for 3D+t properties. This method tests whether some blocks are at the same spatial position and groups them into single blocks. More...
 
bool LoadMitkImageForImageBlockDescriptor (DICOMImageBlockDescriptor &block) const override
 
- Protected Member Functions inherited from mitk::DICOMITKSeriesGDCMReader
virtual void InternalPrintConfiguration (std::ostream &os) const override
 Configuration description for human reader, to be implemented by sub-classes. More...
 
void PushLocale () const
 Remember current locale on stack, activate "C" locale. "C" locale is required for correct parsing of numbers by itk::ImageSeriesReader. More...
 
void PopLocale () const
 Activate last remembered locale from locale stack "C" locale is required for correct parsing of numbers by itk::ImageSeriesReader. More...
 
 DICOMITKSeriesGDCMReader (unsigned int decimalPlacesForOrientation=5)
 
virtual ~DICOMITKSeriesGDCMReader ()
 
 DICOMITKSeriesGDCMReader (const DICOMITKSeriesGDCMReader &other)
 
DICOMITKSeriesGDCMReaderoperator= (const DICOMITKSeriesGDCMReader &other)
 
virtual DICOMTagCache::Pointer GetTagCache () const
 
void SetTagCache (const DICOMTagCache::Pointer &) override
 A way to provide external knowledge about files and tag values is appreciated. More...
 
virtual bool LoadMitkImageForOutput (unsigned int o)
 Loads the mitk::Image by means of an itk::ImageSeriesReader. More...
 
- Protected Member Functions inherited from mitk::DICOMFileReader
 DICOMFileReader ()
 
virtual ~DICOMFileReader ()
 
 DICOMFileReader (const DICOMFileReader &other)
 
DICOMFileReaderoperator= (const DICOMFileReader &other)
 
void ClearOutputs ()
 
void SetNumberOfOutputs (unsigned int numberOfOutputs)
 
void SetOutput (unsigned int index, const DICOMImageBlockDescriptor &output)
 
DICOMImageBlockDescriptorInternalGetOutput (unsigned int index)
 non-const access to the DICOMImageBlockDescriptor More...
 
virtual AdditionalTagsMapType GetAdditionalTagsOfInterest () const
 
mitk::DICOMImageBlockDescriptor::TagLookupTableToPropertyFunctor GetTagLookupTableToPropertyFunctor () const
 

Protected Attributes

bool m_Group3DandT
 
- Protected Attributes inherited from mitk::DICOMITKSeriesGDCMReader
bool m_FixTiltByShearing
 
mitk::EquiDistantBlocksSorter::Pointer m_EquiDistantBlocksSorter
 
mitk::NormalDirectionConsistencySorter::Pointer m_NormalDirectionConsistencySorter
 

Additional Inherited Members

- Public Types inherited from mitk::DICOMITKSeriesGDCMReader
typedef const std::list< DICOMDatasetSorter::ConstPointer > ConstSorterList
 
- Public Types inherited from mitk::DICOMFileReader
typedef DICOMImageBlockDescriptor::AdditionalTagsMapType AdditionalTagsMapType
 
- Protected Types inherited from mitk::DICOMITKSeriesGDCMReader
typedef std::vector< DICOMDatasetAccessingImageFrameListSortingBlockList
 
- Static Protected Member Functions inherited from mitk::DICOMITKSeriesGDCMReader
static std::string GetActiveLocale ()
 Return active C locale. More...
 
static SortingBlockList InternalExecuteSortingStep (unsigned int sortingStepIndex, const DICOMDatasetSorter::Pointer &sorter, const SortingBlockList &input)
 Sorting step as described in Loading strategy. More...
 
static ReaderImplementationLevel GetReaderImplementationLevel (const std::string sopClassUID)
 Describe this reader's confidence for given SOP class UID. More...
 

Detailed Description

Extends DICOMITKSeriesGDCMReader by sorting/grouping into 3D+t image blocks.

This class reuses the DICOMITKSeriesGDCMReader class and adds the option of grouping 3D blocks at the same spatial position into a single block, which is loaded as a 3D+t mitk::Image (compare to Sub-classes can condense multiple blocks into a single larger block).

To group two output blocks into a single 3D+t block, this class tests a number of requirements that the two blocks must fulfill:

  • the origin of the first slice must be identical
  • the origin of the last slice must be identical
  • the number of slices must be identical

The output blocks described by DICOMImageBlockDescriptor will contains the following properties:

  • "3D+t": true if the image is 3D+t
  • "timesteps": number of timesteps of an image (only defined if "3D+t" is true)

Definition at line 45 of file mitkThreeDnTDICOMSeriesReader.h.

Constructor & Destructor Documentation

mitk::ThreeDnTDICOMSeriesReader::ThreeDnTDICOMSeriesReader ( unsigned int  decimalPlacesForOrientation = 5)
protected

Definition at line 21 of file mitkThreeDnTDICOMSeriesReader.cpp.

mitk::ThreeDnTDICOMSeriesReader::~ThreeDnTDICOMSeriesReader ( )
protectedvirtual

Definition at line 35 of file mitkThreeDnTDICOMSeriesReader.cpp.

mitk::ThreeDnTDICOMSeriesReader::ThreeDnTDICOMSeriesReader ( const ThreeDnTDICOMSeriesReader other)
protected

Definition at line 28 of file mitkThreeDnTDICOMSeriesReader.cpp.

Member Function Documentation

mitk::DICOMITKSeriesGDCMReader::SortingBlockList mitk::ThreeDnTDICOMSeriesReader::Condense3DBlocks ( SortingBlockList resultOf3DGrouping)
overrideprotectedvirtual

Analyze the groups produced by DICOMITKSeriesGDCMReader for 3D+t properties. This method tests whether some blocks are at the same spatial position and groups them into single blocks.

Reimplemented from mitk::DICOMITKSeriesGDCMReader.

Definition at line 83 of file mitkThreeDnTDICOMSeriesReader.cpp.

References mitk::ConvertToDICOMDatasetAccessingImageFrameList(), mitk::ConvertToDICOMDatasetList(), mitk::ConvertToDICOMImageFrameList(), MITK_DEBUG, and mitk::DICOMImageBlockDescriptor::SetTagCache().

bool mitk::ThreeDnTDICOMSeriesReader::GetGroup3DandT ( ) const

Definition at line 76 of file mitkThreeDnTDICOMSeriesReader.cpp.

bool mitk::ThreeDnTDICOMSeriesReader::LoadImages ( )
overridevirtual

Load via multiple calls to itk::ImageSeriesReader.

Reimplemented from mitk::DICOMITKSeriesGDCMReader.

Reimplemented in mitk::DiffusionDICOMFileReader.

Definition at line 200 of file mitkThreeDnTDICOMSeriesReader.cpp.

References mitk::DICOMImageBlockDescriptor::GetFlag(), and mitk::DICOMITKSeriesGDCMReader::LoadMitkImageForOutput().

mitk::ThreeDnTDICOMSeriesReader::mitkClassMacro ( ThreeDnTDICOMSeriesReader  ,
DICOMITKSeriesGDCMReader   
)
mitk::ThreeDnTDICOMSeriesReader::mitkCloneMacro ( ThreeDnTDICOMSeriesReader  )
mitk::ThreeDnTDICOMSeriesReader::mitkNewMacro1Param ( ThreeDnTDICOMSeriesReader  ,
unsigned  int 
)
static Pointer mitk::ThreeDnTDICOMSeriesReader::New ( )
static
mitk::ThreeDnTDICOMSeriesReader & mitk::ThreeDnTDICOMSeriesReader::operator= ( const ThreeDnTDICOMSeriesReader other)
protected
bool mitk::ThreeDnTDICOMSeriesReader::operator== ( const DICOMFileReader other) const
overridevirtual
void mitk::ThreeDnTDICOMSeriesReader::SetGroup3DandT ( bool  on)

Control whether 3D+t grouping shall actually be attempted.

Definition at line 69 of file mitkThreeDnTDICOMSeriesReader.cpp.

Referenced by mitk::ClassicDICOMSeriesReader::ClassicDICOMSeriesReader().

Member Data Documentation

bool mitk::ThreeDnTDICOMSeriesReader::m_Group3DandT
protected

Definition at line 81 of file mitkThreeDnTDICOMSeriesReader.h.

Referenced by operator=().


The documentation for this class was generated from the following files: