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
itkRegularizedIVIMReconstructionFilter.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 __itkRegularizedIVIMReconstructionFilter_h
18 #define __itkRegularizedIVIMReconstructionFilter_h
19 
21 #include "itkImageToImageFilter.h"
22 #include "itkCastImageFilter.h"
23 #include "itkImage.h"
24 
25 namespace itk
26 {
39 template <class TInputPixel, class TOutputPixel, class TRefPixelType>
41 public ImageToImageFilter< itk::Image<itk::Vector<TInputPixel,3>, 3>, itk::Image<itk::Vector<TOutputPixel,3>, 3> >
42 {
43 public:
44 
45  typedef TInputPixel InputPixelType;
46  typedef TOutputPixel OutputPixelType;
47  typedef TRefPixelType RefPixelType;
48 
50  typedef itk::Image<itk::Vector<TInputPixel,3>, 3> InputImageType;
51  typedef itk::Image<itk::Vector<TOutputPixel,3>, 3> OutputImageType;
52  typedef itk::VectorImage<TRefPixelType,3> RefImageType;
53 
58 
60  itkStaticConstMacro(InputImageDimension, unsigned int,
61  InputImageType::ImageDimension);
62  itkStaticConstMacro(OutputImageDimension, unsigned int,
63  InputImageType::ImageDimension);
64 
67  typedef ImageToImageFilter< InputImageType, OutputImageType> Superclass;
70 
72  itkFactorylessNewMacro(Self)
73  itkCloneMacro(Self)
74 
76  itkTypeMacro(RegularizedIVIMReconstructionFilter, ImageToImageFilter);
77 
78  typedef typename InputImageType::RegionType InputImageRegionType;
79  typedef typename OutputImageType::RegionType OutputImageRegionType;
80  typedef typename RefImageType::RegionType RefImageRegionType;
81 
82  typedef typename InputImageType::SizeType InputSizeType;
83 
85  <OutputPixelType, OutputPixelType, RefPixelType>
87 
88  typedef typename itk::CastImageFilter< InputImageType, OutputImageType > CastType;
89 
90  itkSetMacro(Lambda, double);
91  itkGetMacro(Lambda, double);
92 
93  itkSetMacro(NumberIterations, int);
94  itkGetMacro(NumberIterations, int);
95 
96  void SetBValues( vnl_vector<double> bvals )
97  { this->m_BValues = bvals; }
98  vnl_vector<double> GetBValues()
99  { return this->m_BValues; }
100 
101  void SetReferenceImage( typename RefImageType::Pointer refimg )
102  { this->m_ReferenceImage = refimg; }
104  { return this->m_ReferenceImage; }
105 
106 protected:
109  void PrintSelf(std::ostream& os, Indent indent) const;
110 
111  void GenerateData();
112 
113  double m_Lambda;
114 
116 
118 
119  vnl_vector<double> m_BValues;
120 
121 private:
122  RegularizedIVIMReconstructionFilter(const Self&); //purposely not implemented
123  void operator=(const Self&); //purposely not implemented
124 };
125 
126 } // end namespace itk
127 
128 #ifndef ITK_MANUAL_INSTANTIATION
130 #endif
131 
132 #endif //__itkRegularizedIVIMReconstructionFilter__
itk::SmartPointer< Self > Pointer
void SetReferenceImage(typename RefImageType::Pointer refimg)
itkStaticConstMacro(InputImageDimension, unsigned int, InputImageType::ImageDimension)
itk::Image< itk::Vector< TInputPixel, 3 >, 3 > InputImageType
Applies a total variation denoising filter to an image.
ImageToImageFilter< InputImageType, OutputImageType > Superclass
itk::Image< itk::Vector< TOutputPixel, 3 >, 3 > OutputImageType
void PrintSelf(std::ostream &os, Indent indent) const
Applies a total variation denoising filter to an image.
unsigned short PixelType
itk::CastImageFilter< InputImageType, OutputImageType > CastType