go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkDisplacementMagnitudePenaltyTerm.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 __itkDisplacementMagnitudePenaltyTerm_h
15 #define __itkDisplacementMagnitudePenaltyTerm_h
16 
18 
19 namespace itk
20 {
21 
29 template< class TFixedImage, class TScalarType >
31  : public TransformPenaltyTerm< TFixedImage, TScalarType >
32 {
33 public:
34 
37  typedef TransformPenaltyTerm<
38  TFixedImage, TScalarType > Superclass;
39  typedef SmartPointer<Self> Pointer;
40  typedef SmartPointer<const Self> ConstPointer;
41 
43  itkNewMacro( Self );
44 
47 
66  typedef typename Superclass::RealType RealType;
84 
87  typedef typename Superclass
90  typedef typename Superclass
93 
95  itkStaticConstMacro( FixedImageDimension, unsigned int, FixedImageType::ImageDimension );
96 
100  virtual MeasureType GetValue( const ParametersType & parameters ) const;
101 
104  virtual void GetDerivative( const ParametersType & parameters,
105  DerivativeType & derivative ) const;
106 
111  virtual void GetValueAndDerivative(
112  const ParametersType & parameters,
113  MeasureType & value,
114  DerivativeType & derivative ) const;
115 
116 protected:
117 
126 
129 
132 
136 private:
137 
139  DisplacementMagnitudePenaltyTerm( const Self& ); // purposely not implemented
141  void operator=( const Self& ); // purposely not implemented
142 
143 }; // end class DisplacementMagnitudePenaltyTerm
144 
145 
146 } // end namespace itk
147 
148 #ifndef ITK_MANUAL_INSTANTIATION
149 #include "itkDisplacementMagnitudePenaltyTerm.txx"
150 #endif
151 
152 #endif // #ifndef __itkDisplacementMagnitudePenaltyTerm_h
153 


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