Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkITKDICOMSeriesReaderHelper.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef mitkDICOMSeriesReaderHelper_h
18 #define mitkDICOMSeriesReaderHelper_h
19 
20 #include "mitkImage.h"
22 
23 #include <itkGDCMImageIO.h>
24 
25 /* Forward deceleration of an DCMTK class. Used in the txx but part of the interface.*/
26 class OFDateTime;
27 
28 namespace mitk
29 {
30 
32 {
33  public:
34 
35  typedef std::vector<std::string> StringContainer;
36  typedef std::list<StringContainer> StringContainerList;
37 
38  Image::Pointer Load( const StringContainer& filenames, bool correctTilt, const GantryTiltInformation& tiltInfo );
39  Image::Pointer Load3DnT( const StringContainerList& filenamesLists, bool correctTilt, const GantryTiltInformation& tiltInfo );
40 
41  static bool CanHandleFile(const std::string& filename);
42 
43  private:
44 
45  typedef std::vector<TimeBounds> TimeBoundsList;
46  typedef itk::FixedArray<OFDateTime,2> DateTimeBounds;
47 
52  static bool ExtractTimeBoundsOfTimeStep (const StringContainer& filenamesOfTimeStep, DateTimeBounds& bounds);
53 
58  static TimeBoundsList ExtractTimeBoundsOfTimeSteps (const StringContainerList& filenamesOfTimeSteps);
59 
63  static TimeGeometry::Pointer GenerateTimeGeometry(const BaseGeometry* templateGeometry, const TimeBoundsList& boundsList);
64 
65  template <typename ImageType>
66  typename ImageType::Pointer
67  FixUpTiltedGeometry( ImageType* input, const GantryTiltInformation& tiltInfo );
68 
69  template <typename PixelType>
71  LoadDICOMByITK( const StringContainer& filenames,
72  bool correctTilt,
73  const GantryTiltInformation& tiltInfo,
75 
76  template <typename PixelType>
78  LoadDICOMByITK3DnT( const StringContainerList& filenames,
79  bool correctTilt,
80  const GantryTiltInformation& tiltInfo,
82 
83 
84 };
85 
86 }
87 
88 #endif
itk::SmartPointer< Self > Pointer
static bool CanHandleFile(const std::string &filename)
Image::Pointer Load(const StringContainer &filenames, bool correctTilt, const GantryTiltInformation &tiltInfo)
DataCollection - Class to facilitate loading/accessing structured data.
Image::Pointer Load3DnT(const StringContainerList &filenamesLists, bool correctTilt, const GantryTiltInformation &tiltInfo)
map::core::discrete::Elements< 3 >::InternalImageType ImageType
static const std::string filename
std::list< StringContainer > StringContainerList
Gantry tilt analysis result.
BaseGeometry Describes the geometry of a data object.