go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkBSplineInterpolationSecondOrderDerivativeWeightFunction.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 __itkBSplineInterpolationSecondOrderDerivativeWeightFunction_h
15 #define __itkBSplineInterpolationSecondOrderDerivativeWeightFunction_h
16 
18 #include "vnl/vnl_vector_fixed.h"
19 
20 namespace itk
21 {
22 
40 template < class TCoordRep = float,
41  unsigned int VSpaceDimension = 2,
42  unsigned int VSplineOrder = 3 >
45  TCoordRep, VSpaceDimension, VSplineOrder >
46 {
47 public:
51  TCoordRep, VSpaceDimension, VSplineOrder > Superclass;
52  typedef SmartPointer<Self> Pointer;
53  typedef SmartPointer<const Self> ConstPointer;
54 
56  itkNewMacro( Self );
57 
61 
63  itkStaticConstMacro( SpaceDimension, unsigned int, VSpaceDimension );
64 
66  itkStaticConstMacro( SplineOrder, unsigned int, VSplineOrder );
67 
70  typedef typename Superclass::IndexType IndexType;
71  typedef typename Superclass::SizeType SizeType;
73 
75  virtual void SetDerivativeDirections( unsigned int dir0, unsigned int dir1 );
76 
77 protected:
80 
84  typedef typename Superclass
86  typedef typename Superclass::TableType TableType;
88 
98  virtual void Compute1DWeights(
99  const ContinuousIndexType & index,
100  const IndexType & startIndex,
101  OneDWeightsType & weights1D ) const;
102 
104  virtual void PrintSelf( std::ostream & os, Indent indent ) const;
105 
106 private:
107  BSplineInterpolationSecondOrderDerivativeWeightFunction(const Self&); //purposely not implemented
108  void operator=(const Self&); //purposely not implemented
109 
110  vnl_vector_fixed< double, 2 > m_DerivativeDirections;
112 
113 };
114 
115 } // end namespace itk
116 
117 // Define instantiation macro for this template.
118 #define ITK_TEMPLATE_BSplineInterpolationSecondOrderDerivativeWeightFunction(_, EXPORT, x, y) namespace itk { \
119  _(3(class EXPORT BSplineInterpolationSecondOrderDerivativeWeightFunction< ITK_TEMPLATE_3 x >)) \
120  namespace Templates { typedef BSplineInterpolationSecondOrderDerivativeWeightFunction< ITK_TEMPLATE_3 x > BSplineInterpolationSecondOrderDerivativeWeightFunction##y; } \
121  }
122 
123 #if ITK_TEMPLATE_EXPLICIT
124 # include "Templates/itkBSplineInterpolationSecondOrderDerivativeWeightFunction+-.h"
125 #endif
126 
127 #if ITK_TEMPLATE_TXX
128 # include "itkBSplineInterpolationSecondOrderDerivativeWeightFunction.txx"
129 #endif
130 
131 
132 #endif
BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder > Superclass
Matrix< double, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder)+1 > OneDWeightsType
Returns the weights over the support region used for B-spline interpolation/reconstruction.
B-spline kernel used for density estimation and nonparameteric regression.
ContinuousIndex< TCoordRep, VSpaceDimension > ContinuousIndexType
Derivative of a B-spline kernel used for density estimation and nonparametric 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 06-12-2013 for elastix by doxygen 1.8.5 elastix logo