Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkDicomDiffusionImageReader.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 __mitkDicomDiffusionImageReader_h
18 #define __mitkDicomDiffusionImageReader_h
19 
20 #include "itkImageSource.h"
21 #include "itkVectorImage.h"
23 #include "itkDataObject.h"
24 #include "mitkCommon.h"
25 
26 namespace mitk
27 {
28 
32 template <class TPixelType, const int TDimension>
33 class DicomDiffusionImageReader : public itk::ImageSource< itk::VectorImage< TPixelType, TDimension > >
34 {
35 public:
36 
37  typedef itk::VectorImage< TPixelType, TDimension > OutputImageType;
38  typedef itk::Image<TPixelType, TDimension > InputImageType;
39  typedef itk::ImageSource< OutputImageType > ImageSourceType;
40 
41  mitkClassMacro( DicomDiffusionImageReader, ImageSourceType );
42  itkFactorylessNewMacro(Self)
43  itkCloneMacro(Self)
44 
45 
47  typedef typename OutputImageType::SizeType SizeType;
48 
50  typedef typename OutputImageType::RegionType ImageRegionType;
51 
53 
56  void SetHeaders (const HeaderContainer &headers)
57  {
58  if ( m_Headers != headers)
59  {
60  m_Headers = headers;
61  this->Modified();
62  }
63  }
64  const HeaderContainer & GetHeaders() const
65  {
66  return m_Headers;
67  }
68 
71  virtual void GenerateOutputInformation(void);
72 
78  virtual void EnlargeOutputRequestedRegion(itk::DataObject *output);
79 
80 protected:
81  void PrintSelf(std::ostream& os, itk::Indent indent) const;
82 
84  virtual void GenerateData();
85 
88 
92 
93 
94 private:
95  void operator=(const Self&); //purposely not implemented
96 };
97 
98 } //namespace MITK
99 
101 
102 #endif // __mitkDicomDiffusionImageReader_h
OutputImageType::RegionType ImageRegionType
STL namespace.
DataCollection - Class to facilitate loading/accessing structured data.
itk::VectorImage< TPixelType, TDimension > OutputImageType
std::vector< DiffusionImageHeaderInformation::Pointer > HeaderContainer
const HeaderContainer & GetHeaders() const
void SetHeaders(const HeaderContainer &headers)
mitkClassMacro(DicomDiffusionImageReader, ImageSourceType)
itk::Image< TPixelType, TDimension > InputImageType
virtual void EnlargeOutputRequestedRegion(itk::DataObject *output)
void PrintSelf(std::ostream &os, itk::Indent indent) const
Reads in the image data stored as DICOM series. The series is specified by a HeaderContainer.
itk::ImageSource< OutputImageType > ImageSourceType