go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkVectorMeanDiffusionImageFilter.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 #ifndef __itkVectorMeanDiffusionImageFilter_H__
16 #define __itkVectorMeanDiffusionImageFilter_H__
17 
18 #include "itkImageToImageFilter.h"
19 #include "itkImage.h"
20 #include "itkVector.h"
21 #include "itkNumericTraits.h"
22 
23 #include "itkRescaleIntensityImageFilter.h"
24 
25 namespace itk
26 {
44 template <class TInputImage, class TGrayValueImage >
46  : public ImageToImageFilter< TInputImage, TInputImage >
47 {
48 public:
49 
51  typedef TInputImage InputImageType;
52  typedef TGrayValueImage GrayValueImageType;
53 
56  typedef ImageToImageFilter<
58  typedef SmartPointer< Self > Pointer;
59  typedef SmartPointer< const Self > ConstPointer;
60 
62  itkStaticConstMacro( InputImageDimension, unsigned int,
63  TInputImage::ImageDimension );
64 
66  itkNewMacro( Self );
67 
69  itkTypeMacro( VectorMeanDiffusionImageFilter, ImageToImageFilter );
70 
72  typedef typename InputImageType::PixelType InputPixelType;
73  typedef typename InputPixelType::ValueType ValueType;
74  //typedef typename NumericTraits<InputPixelType>::RealType InputRealType;
75  typedef typename InputImageType::RegionType InputImageRegionType;
76  typedef typename InputImageType::SizeType InputSizeType;
77  typedef typename InputImageType::IndexType IndexType;
78  typedef Vector< double,
79  itkGetStaticConstMacro( InputImageDimension ) > VectorRealType;
80  typedef Image< double,
81  itkGetStaticConstMacro( InputImageDimension ) > DoubleImageType;
82  typedef typename GrayValueImageType::PixelType GrayValuePixelType;
83 
85  typedef RescaleIntensityImageFilter<
87 
89  itkSetMacro( Radius, InputSizeType );
90 
92  itkGetConstReferenceMacro( Radius, InputSizeType );
93 
101  virtual void GenerateInputRequestedRegion() throw( InvalidRequestedRegionError );
102 
104  itkSetMacro( NumberOfIterations, unsigned int );
105  itkGetConstMacro( NumberOfIterations, unsigned int );
106 
108  void SetGrayValueImage( GrayValueImageType * _arg );
109  typename GrayValueImageType::Pointer GetGrayValueImage( void )
110  {
111  return this->m_GrayValueImage.GetPointer();
112  }
113 
114 protected:
115 
118 
119  void PrintSelf( std::ostream& os, Indent indent ) const;
120 
132  void GenerateData( void );
133 
134 private:
135 
136  VectorMeanDiffusionImageFilter( const Self& ); // purposely not implemented
137  void operator=( const Self& ); // purposely not implemented
138 
141  unsigned int m_NumberOfIterations;
142 
144  typename GrayValueImageType::Pointer m_GrayValueImage;
145  typename DoubleImageType::Pointer m_Cx;
146 
147  typename RescaleImageFilterType::Pointer m_RescaleFilter;
148 
150  void FilterGrayValueImage( void );
151 
152 }; // end class VectorMeanDiffusionImageFilter
153 
154 } // end namespace itk
155 
156 #ifndef ITK_MANUAL_INSTANTIATION
157 #include "itkVectorMeanDiffusionImageFilter.hxx"
158 #endif
159 
160 #endif // end #ifndef __itkVectorMeanDiffusionImageFilter_H__
161 
Vector< double, itkGetStaticConstMacro(InputImageDimension) > VectorRealType
Applies an averaging filter to an image.
Image< double, itkGetStaticConstMacro(InputImageDimension) > DoubleImageType
ImageToImageFilter< InputImageType, InputImageType > Superclass
RescaleIntensityImageFilter< GrayValueImageType, DoubleImageType > RescaleImageFilterType


Generated on 04-01-2014 for elastix by doxygen 1.8.5 elastix logo