Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
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