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 
21 namespace itk
22 {
23 
39 template < class TInput, unsigned int NDimension >
41  public LimiterFunctionBase<TInput, NDimension>
42 {
43 public:
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 
59 
61  typedef typename Superclass::InputType InputType;
65 
67  virtual OutputType Evaluate( const InputType & input ) const;
68 
70  virtual OutputType Evaluate( const InputType & input, DerivativeType & derivative) const;
71 
73  virtual void Initialize(void) throw (ExceptionObject);
74 
75 protected:
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 
87 private:
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
virtual void Initialize(void)
void operator=(const Self &)
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)
CovariantVector< DerivativeValueType, itkGetStaticConstMacro(Dimension)> DerivativeType
Superclass::DerivativeValueType DerivativeValueType
LimiterFunctionBase< TInput, NDimension > Superclass
Superclass::OutputType OutputType


Generated on 05-01-2014 for elastix by doxygen 1.8.5 elastix logo