Medical Imaging Interaction Toolkit  2024.06.00
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 void OnlyCondenseSameSeriesOn ()
 
virtual void OnlyCondenseSameSeriesOff ()
 
virtual void SetOnlyCondenseSameSeries (bool _arg)
 
virtual bool GetOnlyCondenseSameSeries () const
 
bool LoadImages () override
 Load via multiple calls to itk::ImageSeriesReader. More...
 
bool operator== (const DICOMFileReader &other) const override
 
- Public Member Functions inherited from mitk::DICOMITKSeriesGDCMReader
 mitkClassMacro (DICOMITKSeriesGDCMReader, DICOMFileReader)
 
 mitkCloneMacro (DICOMITKSeriesGDCMReader)
 
 mitkNewMacro1Param (DICOMITKSeriesGDCMReader, unsigned int)
 
 mitkNewMacro2Param (DICOMITKSeriesGDCMReader, unsigned int, bool)
 
void AnalyzeInputFiles () override
 Runs the sorting / splitting process described in Loading strategy. Method required by DICOMFileReader. More...
 
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...
 
void SetSimpleVolumeReading (bool read)
 Ignore all dicom tags that are non-essential for simple 3D volume import. More...
 
bool GetSimpleVolumeReading ()
 Ignore all dicom tags that are non-essential for simple 3D volume import. More...
 
double GetToleratedOriginError () const
 
bool IsToleratedOriginOffsetAbsolute () const
 
double GetDecimalPlacesForOrientation () const
 
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 specify 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 bool GetDefaultGroup3DandT ()
 
static bool GetDefaultOnlyCondenseSameSeries ()
 
- Static Public Member Functions inherited from mitk::DICOMITKSeriesGDCMReader
static Pointer New ()
 
static int GetDefaultDecimalPlacesForOrientation ()
 
static bool GetDefaultSimpleVolumeImport ()
 
static bool GetDefaultFixTiltByShearing ()
 
- 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=Superclass::m_DefaultDecimalPlacesForOrientation)
 
 ~ThreeDnTDICOMSeriesReader () override
 
 ThreeDnTDICOMSeriesReader (const ThreeDnTDICOMSeriesReader &other)
 
ThreeDnTDICOMSeriesReaderoperator= (const ThreeDnTDICOMSeriesReader &other)
 
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
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=m_DefaultDecimalPlacesForOrientation, bool simpleVolumeImport=m_DefaultSimpleVolumeImport)
 
 ~DICOMITKSeriesGDCMReader () override
 
 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 ()
 
 ~DICOMFileReader () override
 
 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
 
bool m_OnlyCondenseSameSeries
 
- Protected Attributes inherited from mitk::DICOMITKSeriesGDCMReader
bool m_FixTiltByShearing
 
bool m_SimpleVolumeReading
 
mitk::EquiDistantBlocksSorter::Pointer m_EquiDistantBlocksSorter
 
mitk::NormalDirectionConsistencySorter::Pointer m_NormalDirectionConsistencySorter
 

Static Protected Attributes

const static bool m_DefaultGroup3DandT
 
const static bool m_DefaultOnlyCondenseSameSeries
 
- Static Protected Attributes inherited from mitk::DICOMITKSeriesGDCMReader
const static int m_DefaultDecimalPlacesForOrientation
 
const static bool m_DefaultSimpleVolumeImport
 
const static bool m_DefaultFixTiltByShearing
 

Additional Inherited Members

- Public Types inherited from mitk::DICOMFileReader
typedef DICOMImageBlockDescriptor::AdditionalTagsMapType AdditionalTagsMapType
 
- Public Attributes inherited from mitk::DICOMITKSeriesGDCMReader
const typedef std::list< DICOMDatasetSorter::ConstPointer > ConstSorterList
 
- 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 41 of file mitkThreeDnTDICOMSeriesReader.h.

Constructor & Destructor Documentation

◆ ThreeDnTDICOMSeriesReader() [1/2]

mitk::ThreeDnTDICOMSeriesReader::ThreeDnTDICOMSeriesReader ( unsigned int  decimalPlacesForOrientation = Superclass::m_DefaultDecimalPlacesForOrientation)
protected

◆ ~ThreeDnTDICOMSeriesReader()

mitk::ThreeDnTDICOMSeriesReader::~ThreeDnTDICOMSeriesReader ( )
overrideprotected

◆ ThreeDnTDICOMSeriesReader() [2/2]

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

Member Function Documentation

◆ Condense3DBlocks()

SortingBlockList mitk::ThreeDnTDICOMSeriesReader::Condense3DBlocks ( SortingBlockList )
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.

◆ GetDefaultGroup3DandT()

static bool mitk::ThreeDnTDICOMSeriesReader::GetDefaultGroup3DandT ( )
inlinestatic

Definition at line 64 of file mitkThreeDnTDICOMSeriesReader.h.

◆ GetDefaultOnlyCondenseSameSeries()

static bool mitk::ThreeDnTDICOMSeriesReader::GetDefaultOnlyCondenseSameSeries ( )
inlinestatic

Definition at line 68 of file mitkThreeDnTDICOMSeriesReader.h.

◆ GetGroup3DandT()

bool mitk::ThreeDnTDICOMSeriesReader::GetGroup3DandT ( ) const

◆ GetOnlyCondenseSameSeries()

virtual bool mitk::ThreeDnTDICOMSeriesReader::GetOnlyCondenseSameSeries ( ) const
virtual

◆ LoadImages()

bool mitk::ThreeDnTDICOMSeriesReader::LoadImages ( )
overridevirtual

Load via multiple calls to itk::ImageSeriesReader.

Reimplemented from mitk::DICOMITKSeriesGDCMReader.

◆ LoadMitkImageForImageBlockDescriptor()

bool mitk::ThreeDnTDICOMSeriesReader::LoadMitkImageForImageBlockDescriptor ( DICOMImageBlockDescriptor block) const
overrideprotectedvirtual

Reimplemented from mitk::DICOMITKSeriesGDCMReader.

◆ mitkClassMacro()

mitk::ThreeDnTDICOMSeriesReader::mitkClassMacro ( ThreeDnTDICOMSeriesReader  ,
DICOMITKSeriesGDCMReader   
)

◆ mitkCloneMacro()

mitk::ThreeDnTDICOMSeriesReader::mitkCloneMacro ( ThreeDnTDICOMSeriesReader  )

◆ mitkNewMacro1Param()

mitk::ThreeDnTDICOMSeriesReader::mitkNewMacro1Param ( ThreeDnTDICOMSeriesReader  ,
unsigned int   
)

◆ New()

static Pointer mitk::ThreeDnTDICOMSeriesReader::New ( )
static

◆ OnlyCondenseSameSeriesOff()

virtual void mitk::ThreeDnTDICOMSeriesReader::OnlyCondenseSameSeriesOff ( )
virtual

◆ OnlyCondenseSameSeriesOn()

virtual void mitk::ThreeDnTDICOMSeriesReader::OnlyCondenseSameSeriesOn ( )
virtual

◆ operator=()

ThreeDnTDICOMSeriesReader& mitk::ThreeDnTDICOMSeriesReader::operator= ( const ThreeDnTDICOMSeriesReader other)
protected

◆ operator==()

bool mitk::ThreeDnTDICOMSeriesReader::operator== ( const DICOMFileReader other) const
overridevirtual

Reimplemented from mitk::DICOMITKSeriesGDCMReader.

◆ SetGroup3DandT()

void mitk::ThreeDnTDICOMSeriesReader::SetGroup3DandT ( bool  on)

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

◆ SetOnlyCondenseSameSeries()

virtual void mitk::ThreeDnTDICOMSeriesReader::SetOnlyCondenseSameSeries ( bool  _arg)
virtual

Member Data Documentation

◆ m_DefaultGroup3DandT

const static bool mitk::ThreeDnTDICOMSeriesReader::m_DefaultGroup3DandT
staticprotected

Definition at line 93 of file mitkThreeDnTDICOMSeriesReader.h.

◆ m_DefaultOnlyCondenseSameSeries

const static bool mitk::ThreeDnTDICOMSeriesReader::m_DefaultOnlyCondenseSameSeries
staticprotected

Definition at line 94 of file mitkThreeDnTDICOMSeriesReader.h.

◆ m_Group3DandT

bool mitk::ThreeDnTDICOMSeriesReader::m_Group3DandT
protected

Definition at line 90 of file mitkThreeDnTDICOMSeriesReader.h.

◆ m_OnlyCondenseSameSeries

bool mitk::ThreeDnTDICOMSeriesReader::m_OnlyCondenseSameSeries
protected

Definition at line 91 of file mitkThreeDnTDICOMSeriesReader.h.


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