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:
46 
50  TCoordRep, VSpaceDimension, VSplineOrder > Superclass;
51  typedef SmartPointer< Self > Pointer;
52  typedef SmartPointer< const Self > ConstPointer;
53 
55  itkNewMacro( Self );
56 
60 
62  itkStaticConstMacro( SpaceDimension, unsigned int, VSpaceDimension );
63 
65  itkStaticConstMacro( SplineOrder, unsigned int, VSplineOrder );
66 
69  typedef typename Superclass::IndexType IndexType;
70  typedef typename Superclass::SizeType SizeType;
72 
73 protected:
74 
77 
81  typedef typename Superclass
83  typedef typename Superclass::TableType TableType;
86 
87  /* Compute the 1D weights, which are:
88  * [ \beta^3( x[i] - startIndex[i] ), \beta^3( x[i] - startIndex[i] - 1 ),
89  * \beta^3( x[i] - startIndex[i] - 2 ), \beta^3( x[i] - startIndex[i] - 3 ) ]
90  */
91  virtual void Compute1DWeights(
92  const ContinuousIndexType & index,
93  const IndexType & startIndex,
94  OneDWeightsType & weights1D ) const;
95 
96 private:
97 
98  BSplineInterpolationWeightFunction2( const Self & ); // purposely not implemented
99  void operator=( const Self & ); // purposely not implemented
100 
101 };
102 
103 } // end namespace itk
104 
105 #ifndef ITK_MANUAL_INSTANTIATION
106 #include "itkBSplineInterpolationWeightFunction2.hxx"
107 #endif
108 
109 #endif
Matrix< double, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder)+1 > OneDWeightsType
ContinuousIndex< TCoordRep, VSpaceDimension > ContinuousIndexType
BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder > Superclass
Superclass::SecondOrderDerivativeKernelType SecondOrderDerivativeKernelType
Returns the weights over the support region used for B-spline interpolation/reconstruction.
BSplineDerivativeKernelFunction< Self::SplineOrder > DerivativeKernelType
virtual void Compute1DWeights(const ContinuousIndexType &index, const IndexType &startIndex, OneDWeightsType &weights1D) const
itkStaticConstMacro(SpaceDimension, unsigned int, VSpaceDimension)
B-spline kernel used for density estimation and nonparameteric regression.
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 11-03-2014 for elastix by doxygen 1.8.6 elastix logo