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
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