go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkThinPlateR2LogRSplineKernelTransform2.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkThinPlateR2LogRSplineKernelTransform2.h,v $
5  Language: C++
6  Date: $Date: 2006/03/19 04:36:59 $
7  Version: $Revision: 1.7 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkThinPlateR2LogRSplineKernelTransform2_h
18 #define __itkThinPlateR2LogRSplineKernelTransform2_h
19 
20 #include "itkKernelTransform2.h"
21 
22 namespace itk
23 {
34 template< class TScalarType, // Data type for scalars (float or double)
35 unsigned int NDimensions = 3 >
36 // Number of dimensions
38  public KernelTransform2< TScalarType, NDimensions >
39 {
40 public:
41 
45  typedef SmartPointer< Self > Pointer;
46  typedef SmartPointer< const Self > ConstPointer;
47 
49  itkNewMacro( Self );
50 
53 
55  typedef typename Superclass::ScalarType ScalarType;
56 
59 
62 
64  itkStaticConstMacro( SpaceDimension, unsigned int, Superclass::SpaceDimension );
65 
75 
76 protected:
77 
79  {
80  this->m_FastComputationPossible = true;
81  }
82 
83 
85 
89 
98  void ComputeG( const InputVectorType & x, GMatrixType & GMatrix ) const;
99 
102  virtual void ComputeDeformationContribution( const InputPointType & inputPoint,
103  OutputPointType & result ) const;
104 
105 private:
106 
107  ThinPlateR2LogRSplineKernelTransform2( const Self & ); // purposely not implemented
108  void operator=( const Self & ); // purposely not implemented
109 
110 };
111 
112 } // namespace itk
113 
114 #ifndef ITK_MANUAL_INSTANTIATION
115 #include "itkThinPlateR2LogRSplineKernelTransform2.hxx"
116 #endif
117 
118 #endif // __itkThinPlateR2LogRSplineKernelTransform2_h
Superclass::OutputPointType OutputPointType
Superclass::InputVectorType InputVectorType
vnl_matrix_fixed< TScalarType, NDimensions, NDimensions > GMatrixType
Superclass::InputPointType InputPointType
virtual void ComputeDeformationContribution(const InputPointType &inputPoint, OutputPointType &result) const
PointSetType::PointsContainerIterator PointsIterator
KernelTransform2< TScalarType, NDimensions > Superclass
itkStaticConstMacro(SpaceDimension, unsigned int, Superclass::SpaceDimension)
void ComputeG(const InputVectorType &x, GMatrixType &GMatrix) const


Generated on 11-03-2014 for elastix by doxygen 1.8.6 elastix logo