go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkBSplineInterpolationWeightFunction2.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 #ifndef __itkBSplineInterpolationWeightFunction2_h
15 #define __itkBSplineInterpolationWeightFunction2_h
16 
18 
19 namespace itk
20 {
21 
38 template < class TCoordRep = float,
39  unsigned int VSpaceDimension = 2,
40  unsigned int VSplineOrder = 3 >
43  TCoordRep, VSpaceDimension, VSplineOrder >
44 {
45 public:
49  TCoordRep, VSpaceDimension, VSplineOrder > Superclass;
50  typedef SmartPointer<Self> Pointer;
51  typedef SmartPointer<const Self> ConstPointer;
52 
54  itkNewMacro( Self );
55 
59 
61  itkStaticConstMacro( SpaceDimension, unsigned int, VSpaceDimension );
62 
64  itkStaticConstMacro( SplineOrder, unsigned int, VSplineOrder );
65 
68  typedef typename Superclass::IndexType IndexType;
69  typedef typename Superclass::SizeType SizeType;
71 
72 protected:
75 
77  typedef typename Superclass::KernelType KernelType;
79  typedef typename Superclass
81  typedef typename Superclass::TableType TableType;
84 
85  /* Compute the 1D weights, which are:
86  * [ \beta^3( x[i] - startIndex[i] ), \beta^3( x[i] - startIndex[i] - 1 ),
87  * \beta^3( x[i] - startIndex[i] - 2 ), \beta^3( x[i] - startIndex[i] - 3 ) ]
88  */
89  virtual void Compute1DWeights(
90  const ContinuousIndexType & index,
91  const IndexType & startIndex,
92  OneDWeightsType & weights1D ) const;
93 
94 private:
95  BSplineInterpolationWeightFunction2(const Self&); //purposely not implemented
96  void operator=(const Self&); //purposely not implemented
97 
98 };
99 
100 } // end namespace itk
101 
102 // Define instantiation macro for this template.
103 #define ITK_TEMPLATE_BSplineInterpolationWeightFunction2(_, EXPORT, x, y) namespace itk { \
104  _(3(class EXPORT BSplineInterpolationWeightFunction2< ITK_TEMPLATE_3 x >)) \
105  namespace Templates { typedef BSplineInterpolationWeightFunction2< ITK_TEMPLATE_3 x > BSplineInterpolationWeightFunction2##y; } \
106  }
107 
108 #if ITK_TEMPLATE_EXPLICIT
109 # include "Templates/itkBSplineInterpolationWeightFunction2+-.h"
110 #endif
111 
112 #if ITK_TEMPLATE_TXX
113 # include "itkBSplineInterpolationWeightFunction2.txx"
114 #endif
115 
116 
117 #endif
Matrix< double, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder)+1 > OneDWeightsType
BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder > Superclass
BSplineDerivativeKernelFunction< itkGetStaticConstMacro(SplineOrder) > DerivativeKernelType
Superclass::SecondOrderDerivativeKernelType SecondOrderDerivativeKernelType
Returns the weights over the support region used for B-spline interpolation/reconstruction.
ContinuousIndex< TCoordRep, VSpaceDimension > ContinuousIndexType
Returns the weights over the support region used for B-spline interpolation/reconstruction.
Derivative of a B-spline kernel used for density estimation and nonparametric regression.


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