go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkExponentialLimiterFunction.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 
15 #ifndef __itkExponentialLimiterFunction_h
16 #define __itkExponentialLimiterFunction_h
17 
18 #include "itkLimiterFunctionBase.h"
19 
20 namespace itk
21 {
22 
38 template< class TInput, unsigned int NDimension >
40  public LimiterFunctionBase< TInput, NDimension >
41 {
42 public:
43 
47  typedef SmartPointer< Self > Pointer;
48  typedef SmartPointer< const Self > ConstPointer;
49 
52 
54  itkNewMacro( Self );
55 
57  itkStaticConstMacro( Dimension, unsigned int, Superclass::Dimension );
58 
60  typedef typename Superclass::InputType InputType;
64 
66  virtual OutputType Evaluate( const InputType & input ) const;
67 
69  virtual OutputType Evaluate( const InputType & input, DerivativeType & derivative ) const;
70 
72  virtual void Initialize( void ) throw ( ExceptionObject );
73 
74 protected:
75 
77  ~ExponentialLimiterFunction(){}
78 
79  virtual void ComputeLimiterSettings( void );
80 
81  double m_UTminUB;
82  double m_UTminUBinv;
83  double m_LTminLB;
84  double m_LTminLBinv;
85 
86 private:
87 
88  ExponentialLimiterFunction( const Self & ); // purposely not implemented
89  void operator=( const Self & ); // purposely not implemented
90 
91 };
92 
93 } // end namespace itk
94 
95 #ifndef ITK_MANUAL_INSTANTIATION
96 #include "itkExponentialLimiterFunction.hxx"
97 #endif
98 
99 #endif
CovariantVector< DerivativeValueType, itkGetStaticConstMacro(Dimension) > DerivativeType
virtual void Initialize(void)
void operator=(const Self &)
LimiterFunctionBase< TInput, NDimension > Superclass
virtual OutputType Evaluate(const InputType &input) const
Base class for all ITK limiter function objects.
itkStaticConstMacro(Dimension, unsigned int, Superclass::Dimension)
Superclass::InputType InputType
virtual void ComputeLimiterSettings(void)
Superclass::DerivativeValueType DerivativeValueType
Superclass::OutputType OutputType


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