NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
itkBSplineSmoothVectorFieldFilter.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 itkBSplineSmoothVectorFieldFilter_h
16 #define itkBSplineSmoothVectorFieldFilter_h
18 #include <itkVectorNeighborhoodOperatorImageFilter.h>
19 #include "itkBSplineOperator.h"
20 
21 namespace itk {
31 template <
32  class TScalarType, // Data type for the vectors
33  unsigned int NumberImageDimensions=3, // Number of image dimensions
34  unsigned int NumberVectorDimensions=NumberImageDimensions> // 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 
57  typedef FixedArray<TScalarType, NumberImageDimensions> GridSpacingType;
58 
60  itkGetMacro(GridSpacing, GridSpacingType);
61  itkSetMacro(GridSpacing, GridSpacingType);
62 
63 protected:
64 
67 
69  NeighborhoodOperatorType* CreateOperator(int dimension);
70 
71 private:
72 
76  BSplineSmoothVectorFieldFilter(const Self&);
77  void operator=(const Self&);
78 
80  GridSpacingType m_GridSpacing;
81 
82 };
83 
84 }
85 
86 #ifndef ITK_MANUAL_INSTANTIATION
87 #include "itkBSplineSmoothVectorFieldFilter.txx"
88 #endif
89 
90 #endif
SmartPointer< Self > Pointer
Definition: itkBSplineSmoothVectorFieldFilter.h:45
BSplineSmoothVectorFieldFilter Self
Definition: itkBSplineSmoothVectorFieldFilter.h:41
SmartPointer< const Self > ConstPointer
Definition: itkBSplineSmoothVectorFieldFilter.h:46
FixedArray< TScalarType, NumberImageDimensions > GridSpacingType
Definition: itkBSplineSmoothVectorFieldFilter.h:57
Definition: niftkITKAffineResampleImage.cxx:74
Superclass::NeighborhoodOperatorType NeighborhoodOperatorType
Definition: itkBSplineSmoothVectorFieldFilter.h:52
BSplineOperator< TScalarType, NumberImageDimensions > BSplineOperatorType
Definition: itkBSplineSmoothVectorFieldFilter.h:56
Class that takes a vector field, and applies BSpline smoothing.
Definition: itkBSplineSmoothVectorFieldFilter.h:35
SmoothVectorFieldFilter< TScalarType, NumberImageDimensions, NumberVectorDimensions > Superclass
Definition: itkBSplineSmoothVectorFieldFilter.h:44
Abstract base class that takes a vector field as input and smoothes it.
Definition: itkSmoothVectorFieldFilter.h:47
A NeighborhoodOperator whose coefficients are a one dimensional, discrete BSpline kernel...
Definition: itkBSplineOperator.h:37
~BSplineSmoothVectorFieldFilter()
Definition: itkBSplineSmoothVectorFieldFilter.h:66
NeighborhoodOperator< TScalarType, NumberImageDimensions > NeighborhoodOperatorType
Definition: itkSmoothVectorFieldFilter.h:88