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:
48 
52  TCoordRep, VSpaceDimension, VSplineOrder > Superclass;
53  typedef SmartPointer< Self > Pointer;
54  typedef SmartPointer< const Self > ConstPointer;
55 
57  itkNewMacro( Self );
58 
62 
64  itkStaticConstMacro( SpaceDimension, unsigned int, VSpaceDimension );
65 
67  itkStaticConstMacro( SplineOrder, unsigned int, VSplineOrder );
68 
71  typedef typename Superclass::IndexType IndexType;
72  typedef typename Superclass::SizeType SizeType;
74 
76  virtual void SetDerivativeDirections( unsigned int dir0, unsigned int dir1 );
77 
78 protected:
79 
82 
86  typedef typename Superclass
88  typedef typename Superclass::TableType TableType;
90 
100  virtual void Compute1DWeights(
101  const ContinuousIndexType & index,
102  const IndexType & startIndex,
103  OneDWeightsType & weights1D ) const;
104 
106  virtual void PrintSelf( std::ostream & os, Indent indent ) const;
107 
108 private:
109 
110  BSplineInterpolationSecondOrderDerivativeWeightFunction( const Self & ); // purposely not implemented
111  void operator=( const Self & ); // purposely not implemented
112 
113  vnl_vector_fixed< double, 2 > m_DerivativeDirections;
115 
116 };
117 
118 } // end namespace itk
119 
120 #ifndef ITK_MANUAL_INSTANTIATION
121 #include "itkBSplineInterpolationSecondOrderDerivativeWeightFunction.hxx"
122 #endif
123 
124 #endif
BSplineInterpolationWeightFunctionBase< TCoordRep, VSpaceDimension, VSplineOrder > Superclass
Matrix< double, itkGetStaticConstMacro(SpaceDimension), itkGetStaticConstMacro(SplineOrder)+1 > OneDWeightsType
virtual void Compute1DWeights(const ContinuousIndexType &index, const IndexType &startIndex, OneDWeightsType &weights1D) const
virtual void PrintSelf(std::ostream &os, Indent indent) const
ContinuousIndex< TCoordRep, VSpaceDimension > ContinuousIndexType
virtual void SetDerivativeDirections(unsigned int dir0, unsigned int dir1)
BSplineDerivativeKernelFunction< Self::SplineOrder > DerivativeKernelType
Returns the weights over the support region used for B-spline interpolation/reconstruction.
B-spline kernel used for density estimation and nonparameteric regression.
itkStaticConstMacro(SpaceDimension, unsigned int, VSpaceDimension)
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