NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkGaussianSmoothVectorFieldFilter.h
Go to the documentation of this file.
1 /*=============================================================================
2 
3  NifTK: A software platform for medical image computing.
4 
5  Copyright (c) University College London (UCL). All rights reserved.
6 
7  This software is distributed WITHOUT ANY WARRANTY; without even
8  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9  PURPOSE.
10 
11  See LICENSE.txt in the top level directory for details.
12 
13 =============================================================================*/
14 
15 #ifndef itkGaussianSmoothVectorFieldFilter_h
16 #define itkGaussianSmoothVectorFieldFilter_h
18 #include <itkGaussianOperator.h>
19 #include <itkFixedArray.h>
20 
21 namespace itk {
31 template <
32  class TScalarType, // Data type for the vectors
33  unsigned int NumberImageDimensions, // Number of image dimensions
34  unsigned int NumberVectorDimensions> // Number of dimensions in the vectors
36  public SmoothVectorFieldFilter<TScalarType, NumberImageDimensions, NumberVectorDimensions>
37 {
38 public:
39 
42  typedef SmoothVectorFieldFilter<TScalarType,
43  NumberImageDimensions,
44  NumberVectorDimensions> Superclass;
45  typedef SmartPointer<Self> Pointer;
46  typedef SmartPointer<const Self> ConstPointer;
47 
49  itkNewMacro(Self);
50 
53 
56  typedef GaussianOperator<TScalarType, NumberImageDimensions> GaussianOperatorType;
57  typedef FixedArray<TScalarType, NumberImageDimensions> SigmaType;
58 
60  itkGetMacro(Sigma, SigmaType);
61  itkSetMacro(Sigma, SigmaType);
62 
63 protected:
64 
67 
69  NeighborhoodOperatorType* CreateOperator(int dimension);
70 
71 private:
72 
76  GaussianSmoothVectorFieldFilter(const Self&);
77  void operator=(const Self&);
78 
80  SigmaType m_Sigma;
81 
82 };
83 
84 }
85 
86 #ifndef ITK_MANUAL_INSTANTIATION
87 #include "itkGaussianSmoothVectorFieldFilter.txx"
88 #endif
89 
90 #endif
~GaussianSmoothVectorFieldFilter()
Definition: itkGaussianSmoothVectorFieldFilter.h:66
SmoothVectorFieldFilter< TScalarType, NumberImageDimensions, NumberVectorDimensions > Superclass
Definition: itkGaussianSmoothVectorFieldFilter.h:44
Definition: niftkITKAffineResampleImage.cxx:74
GaussianOperator< TScalarType, NumberImageDimensions > GaussianOperatorType
Definition: itkGaussianSmoothVectorFieldFilter.h:56
SmartPointer< Self > Pointer
Definition: itkGaussianSmoothVectorFieldFilter.h:45
SmartPointer< const Self > ConstPointer
Definition: itkGaussianSmoothVectorFieldFilter.h:46
FixedArray< TScalarType, NumberImageDimensions > SigmaType
Definition: itkGaussianSmoothVectorFieldFilter.h:57
Abstract base class that takes a vector field as input and smoothes it.
Definition: itkSmoothVectorFieldFilter.h:47
Class that takes a vector field, and applies Gaussian smoothing.
Definition: itkGaussianSmoothVectorFieldFilter.h:35
Superclass::NeighborhoodOperatorType NeighborhoodOperatorType
Definition: itkGaussianSmoothVectorFieldFilter.h:52
NeighborhoodOperator< TScalarType, NumberImageDimensions > NeighborhoodOperatorType
Definition: itkSmoothVectorFieldFilter.h:88
GaussianSmoothVectorFieldFilter Self
Definition: itkGaussianSmoothVectorFieldFilter.h:41