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  * Copyright UMC Utrecht and contributors
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
18 
19 #ifndef __itkVectorMeanDiffusionImageFilter_H__
20 #define __itkVectorMeanDiffusionImageFilter_H__
21 
22 #include "itkImageToImageFilter.h"
23 #include "itkImage.h"
24 #include "itkVector.h"
25 #include "itkNumericTraits.h"
26 
27 #include "itkRescaleIntensityImageFilter.h"
28 
29 namespace itk
30 {
48 template< class TInputImage, class TGrayValueImage >
50  public ImageToImageFilter< TInputImage, TInputImage >
51 {
52 public:
53 
55  typedef TInputImage InputImageType;
56  typedef TGrayValueImage GrayValueImageType;
57  typedef typename GrayValueImageType::Pointer GrayValueImagePointer;
58 
61  typedef ImageToImageFilter<
62  InputImageType, InputImageType > Superclass;
64  typedef SmartPointer< const Self > ConstPointer;
65 
67  itkStaticConstMacro( InputImageDimension, unsigned int,
68  TInputImage::ImageDimension );
69 
71  itkNewMacro( Self );
72 
74  itkTypeMacro( VectorMeanDiffusionImageFilter, ImageToImageFilter );
75 
77  typedef typename InputImageType::PixelType InputPixelType;
78  typedef typename InputPixelType::ValueType ValueType;
79  //typedef typename NumericTraits<InputPixelType>::RealType InputRealType;
80  typedef typename InputImageType::RegionType InputImageRegionType;
81  typedef typename InputImageType::SizeType InputSizeType;
82  typedef typename InputImageType::IndexType IndexType;
83  typedef Vector< double,
84  itkGetStaticConstMacro( InputImageDimension ) > VectorRealType;
85  typedef Image< double,
86  itkGetStaticConstMacro( InputImageDimension ) > DoubleImageType;
87  typedef typename DoubleImageType::Pointer DoubleImagePointer;
88  typedef typename GrayValueImageType::PixelType GrayValuePixelType;
89 
91  typedef RescaleIntensityImageFilter<
93  typedef typename RescaleImageFilterType::Pointer RescaleImageFilterPointer;
94 
96  itkSetMacro( Radius, InputSizeType );
97 
99  itkGetConstReferenceMacro( Radius, InputSizeType );
100 
108  virtual void GenerateInputRequestedRegion() throw( InvalidRequestedRegionError );
109 
111  itkSetMacro( NumberOfIterations, unsigned int );
112  itkGetConstMacro( NumberOfIterations, unsigned int );
113 
115  void SetGrayValueImage( GrayValueImageType * _arg );
116 
117  typename GrayValueImageType::Pointer GetGrayValueImage( void )
118  {
119  return this->m_GrayValueImage.GetPointer();
120  }
121 
122 
123 protected:
124 
127 
128  void PrintSelf( std::ostream & os, Indent indent ) const;
129 
141  void GenerateData( void );
142 
143 private:
144 
145  VectorMeanDiffusionImageFilter( const Self & ); // purposely not implemented
146  void operator=( const Self & ); // purposely not implemented
147 
149  InputSizeType m_Radius;
150  unsigned int m_NumberOfIterations;
151 
153  GrayValueImagePointer m_GrayValueImage;
154  DoubleImagePointer m_Cx;
155 
156  RescaleImageFilterPointer m_RescaleFilter;
157 
159  void FilterGrayValueImage( void );
160 
161 };
162 
163 } // end namespace itk
164 
165 #ifndef ITK_MANUAL_INSTANTIATION
166 #include "itkVectorMeanDiffusionImageFilter.hxx"
167 #endif
168 
169 #endif // end #ifndef __itkVectorMeanDiffusionImageFilter_H__
void SetGrayValueImage(GrayValueImageType *_arg)
GrayValueImageType::Pointer GetGrayValueImage(void)
itkStaticConstMacro(InputImageDimension, unsigned int, TInputImage::ImageDimension)
Vector< double, itkGetStaticConstMacro(InputImageDimension) > VectorRealType
void PrintSelf(std::ostream &os, Indent indent) const
Applies an averaging filter to an image.
RescaleImageFilterType::Pointer RescaleImageFilterPointer
Image< double, itkGetStaticConstMacro(InputImageDimension) > DoubleImageType
ImageToImageFilter< InputImageType, InputImageType > Superclass
RescaleIntensityImageFilter< GrayValueImageType, DoubleImageType > RescaleImageFilterType


Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo