go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkBSplineInterpolationDerivativeWeightFunction.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 __itkBSplineInterpolationDerivativeWeightFunction_h
15 #define __itkBSplineInterpolationDerivativeWeightFunction_h
16 
18 
19 namespace itk
20 {
21 
39 template < class TCoordRep = float,
40  unsigned int VSpaceDimension = 2,
41  unsigned int VSplineOrder = 3 >
44  TCoordRep, VSpaceDimension, VSplineOrder >
45 {
46 public:
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 
74  virtual void SetDerivativeDirection( unsigned int dir );
75 
76 protected:
79 
83  typedef typename Superclass
85  typedef typename Superclass::TableType TableType;
87 
95  virtual void Compute1DWeights(
96  const ContinuousIndexType & index,
97  const IndexType & startIndex,
98  OneDWeightsType & weights1D ) const;
99 
101  virtual void PrintSelf( std::ostream & os, Indent indent ) const;
102 
103 private:
104  BSplineInterpolationDerivativeWeightFunction(const Self&); //purposely not implemented
105  void operator=(const Self&); //purposely not implemented
106 
108  unsigned int m_DerivativeDirection;
109 
110 };
111 
112 } // end namespace itk
113 
114 // Define instantiation macro for this template.
115 #define ITK_TEMPLATE_BSplineInterpolationDerivativeWeightFunction(_, EXPORT, x, y) namespace itk { \
116  _(3(class EXPORT BSplineInterpolationDerivativeWeightFunction< ITK_TEMPLATE_3 x >)) \
117  namespace Templates { typedef BSplineInterpolationDerivativeWeightFunction< ITK_TEMPLATE_3 x > BSplineInterpolationDerivativeWeightFunction##y; } \
118  }
119 
120 #if ITK_TEMPLATE_EXPLICIT
121 # include "Templates/itkBSplineInterpolationDerivativeWeightFunction+-.h"
122 #endif
123 
124 #if ITK_TEMPLATE_TXX
125 # include "itkBSplineInterpolationDerivativeWeightFunction.txx"
126 #endif
127 
128 
129 #endif
Matrix< double, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder)+1 > OneDWeightsType
BSplineDerivativeKernelFunction< itkGetStaticConstMacro(SplineOrder) > DerivativeKernelType
B-spline kernel used for density estimation and nonparameteric regression.
ContinuousIndex< TCoordRep, VSpaceDimension > ContinuousIndexType
Returns the weights over the support region used for B-spline interpolation/reconstruction.
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.
BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder > Superclass


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