go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkTransformBendingEnergyPenaltyTerm.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 __itkTransformBendingEnergyPenaltyTerm_h
15 #define __itkTransformBendingEnergyPenaltyTerm_h
16 
18 #include "itkImageGridSampler.h"
19 
20 namespace itk
21 {
22 
45 template< class TFixedImage, class TScalarType >
47  : public TransformPenaltyTerm< TFixedImage, TScalarType >
48 {
49 public:
50 
53  typedef TransformPenaltyTerm<
54  TFixedImage, TScalarType > Superclass;
55  typedef SmartPointer<Self> Pointer;
56  typedef SmartPointer<const Self> ConstPointer;
57 
59  itkNewMacro( Self );
60 
63 
82  typedef typename Superclass::RealType RealType;
100 
103  typedef typename Superclass
106  typedef typename Superclass
111 
113  itkStaticConstMacro( FixedImageDimension, unsigned int, FixedImageType::ImageDimension );
114 
116  virtual MeasureType GetValue( const ParametersType & parameters ) const;
117 
119  virtual void GetDerivative( const ParametersType & parameters,
120  DerivativeType & derivative ) const;
121 
123  virtual void GetValueAndDerivative(
124  const ParametersType & parameters,
125  MeasureType & value,
126  DerivativeType & derivative ) const;
127 
129  virtual void GetSelfHessian( const TransformParametersType & parameters, HessianType & H ) const;
130 
132  itkSetMacro( NumberOfSamplesForSelfHessian, unsigned int );
133  itkGetConstMacro( NumberOfSamplesForSelfHessian, unsigned int );
134 
135 protected:
136 
145 
149 
152 
155 
158 
159 private:
160 
162  TransformBendingEnergyPenaltyTerm( const Self& ); // purposely not implemented
164  void operator=( const Self& ); // purposely not implemented
165 
167 
168 }; // end class TransformBendingEnergyPenaltyTerm
169 
170 
171 } // end namespace itk
172 
173 #ifndef ITK_MANUAL_INSTANTIATION
174 #include "itkTransformBendingEnergyPenaltyTerm.txx"
175 #endif
176 
177 #endif // #ifndef __itkTransformBendingEnergyPenaltyTerm_h
178 


Generated on 21-03-2014 for elastix by doxygen 1.8.1.2 elastix logo