go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions
itk::ExponentialLimiterFunction< TInput, NDimension > Class Template Reference

#include <itkExponentialLimiterFunction.h>

Detailed Description

template<class TInput, unsigned int NDimension>
class itk::ExponentialLimiterFunction< TInput, NDimension >

A soft limiter.

If the input value exceeds the upper/lower threshold the output is diminished/increased, such that it never will exceed the UpperBound/LowerBound. It does this in a smooth manner, with an exponential function.

\[ L(f(x)) = (T-B) e^{(f-T)/(T-B)} + B, \]

where $B$ is the upper/lower bound and $T$ the upper/lower threshold

See also
LimiterFunctionBase, HardLimiterFunction

Definition at line 43 of file itkExponentialLimiterFunction.h.

Inheritance diagram for itk::ExponentialLimiterFunction< TInput, NDimension >:
Inheritance graph
[legend]

Public Types

typedef SmartPointer< const SelfConstPointer
 
typedef Superclass::DerivativeType DerivativeType
 
typedef Superclass::DerivativeValueType DerivativeValueType
 
typedef Superclass::InputType InputType
 
typedef Superclass::OutputType OutputType
 
typedef SmartPointer< SelfPointer
 
typedef ExponentialLimiterFunction Self
 
typedef LimiterFunctionBase< TInput, NDimension > Superclass
 
- Public Types inherited from itk::LimiterFunctionBase< TInput, NDimension >
typedef SmartPointer< const SelfConstPointer
 
typedef CovariantVector< DerivativeValueType, itkGetStaticConstMacro(Dimension) > DerivativeType
 
typedef OutputType DerivativeValueType
 
typedef Superclass::InputType InputType
 
typedef Superclass::OutputType OutputType
 
typedef SmartPointer< SelfPointer
 
typedef LimiterFunctionBase Self
 
typedef FunctionBase< TInput, typename NumericTraits< TInput >::RealType > Superclass
 

Public Member Functions

virtual OutputType Evaluate (const InputType &input) const
 
virtual OutputType Evaluate (const InputType &input, DerivativeType &derivative) const
 
virtual const char * GetClassName () const
 
virtual void Initialize (void) throw ( ExceptionObject )
 
 itkStaticConstMacro (Dimension, unsigned int, Superclass::Dimension)
 
- Public Member Functions inherited from itk::LimiterFunctionBase< TInput, NDimension >
virtual OutputType GetLowerBound () const
 
virtual InputType GetLowerThreshold () const
 
virtual OutputType GetUpperBound () const
 
virtual InputType GetUpperThreshold () const
 
 itkStaticConstMacro (Dimension, unsigned int, NDimension)
 
virtual void SetLowerBound (OutputType _arg)
 
virtual void SetLowerThreshold (InputType _arg)
 
virtual void SetUpperBound (OutputType _arg)
 
virtual void SetUpperThreshold (InputType _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

virtual void ComputeLimiterSettings (void)
 
 ExponentialLimiterFunction ()
 
 ~ExponentialLimiterFunction ()
 
- Protected Member Functions inherited from itk::LimiterFunctionBase< TInput, NDimension >
 LimiterFunctionBase ()
 
 ~LimiterFunctionBase ()
 

Protected Attributes

double m_LTminLB
 
double m_LTminLBinv
 
double m_UTminUB
 
double m_UTminUBinv
 
- Protected Attributes inherited from itk::LimiterFunctionBase< TInput, NDimension >
OutputType m_LowerBound
 
InputType m_LowerThreshold
 
OutputType m_UpperBound
 
InputType m_UpperThreshold
 

Private Member Functions

 ExponentialLimiterFunction (const Self &)
 
void operator= (const Self &)
 

Member Typedef Documentation

template<class TInput , unsigned int NDimension>
typedef SmartPointer< const Self > itk::ExponentialLimiterFunction< TInput, NDimension >::ConstPointer

Definition at line 52 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
typedef Superclass::DerivativeType itk::ExponentialLimiterFunction< TInput, NDimension >::DerivativeType

Definition at line 67 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
typedef Superclass::DerivativeValueType itk::ExponentialLimiterFunction< TInput, NDimension >::DerivativeValueType

Definition at line 66 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
typedef Superclass::InputType itk::ExponentialLimiterFunction< TInput, NDimension >::InputType

Superclass' typedefs

Definition at line 64 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
typedef Superclass::OutputType itk::ExponentialLimiterFunction< TInput, NDimension >::OutputType

Definition at line 65 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
typedef SmartPointer< Self > itk::ExponentialLimiterFunction< TInput, NDimension >::Pointer

Definition at line 51 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
typedef ExponentialLimiterFunction itk::ExponentialLimiterFunction< TInput, NDimension >::Self

Standard class typedefs.

Definition at line 49 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
typedef LimiterFunctionBase< TInput, NDimension > itk::ExponentialLimiterFunction< TInput, NDimension >::Superclass

Definition at line 50 of file itkExponentialLimiterFunction.h.

Constructor & Destructor Documentation

template<class TInput , unsigned int NDimension>
itk::ExponentialLimiterFunction< TInput, NDimension >::ExponentialLimiterFunction ( )
protected
template<class TInput , unsigned int NDimension>
itk::ExponentialLimiterFunction< TInput, NDimension >::~ExponentialLimiterFunction ( )
inlineprotected

Definition at line 81 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
itk::ExponentialLimiterFunction< TInput, NDimension >::ExponentialLimiterFunction ( const Self )
private

Member Function Documentation

template<class TInput , unsigned int NDimension>
virtual void itk::ExponentialLimiterFunction< TInput, NDimension >::ComputeLimiterSettings ( void  )
protectedvirtual
template<class TInput , unsigned int NDimension>
virtual OutputType itk::ExponentialLimiterFunction< TInput, NDimension >::Evaluate ( const InputType input) const
virtual

Limit the input value

Implements itk::LimiterFunctionBase< TInput, NDimension >.

template<class TInput , unsigned int NDimension>
virtual OutputType itk::ExponentialLimiterFunction< TInput, NDimension >::Evaluate ( const InputType input,
DerivativeType derivative 
) const
virtual

Limit the input value and change the input function derivative accordingly

Implements itk::LimiterFunctionBase< TInput, NDimension >.

template<class TInput , unsigned int NDimension>
virtual const char* itk::ExponentialLimiterFunction< TInput, NDimension >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::LimiterFunctionBase< TInput, NDimension >.

template<class TInput , unsigned int NDimension>
virtual void itk::ExponentialLimiterFunction< TInput, NDimension >::Initialize ( void  )
throw (ExceptionObject
)
virtual

Initialize the limiter; calls the ComputeLimiterSettings() function

Reimplemented from itk::LimiterFunctionBase< TInput, NDimension >.

template<class TInput , unsigned int NDimension>
itk::ExponentialLimiterFunction< TInput, NDimension >::itkStaticConstMacro ( Dimension  ,
unsigned  int,
Superclass::Dimension   
)

Superclass' static consts

template<class TInput , unsigned int NDimension>
static Pointer itk::ExponentialLimiterFunction< TInput, NDimension >::New ( )
static

Define the New() function, for creation via the ObjectFactory

template<class TInput , unsigned int NDimension>
void itk::ExponentialLimiterFunction< TInput, NDimension >::operator= ( const Self )
private

Field Documentation

template<class TInput , unsigned int NDimension>
double itk::ExponentialLimiterFunction< TInput, NDimension >::m_LTminLB
protected

Definition at line 87 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
double itk::ExponentialLimiterFunction< TInput, NDimension >::m_LTminLBinv
protected

Definition at line 88 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
double itk::ExponentialLimiterFunction< TInput, NDimension >::m_UTminUB
protected

Definition at line 85 of file itkExponentialLimiterFunction.h.

template<class TInput , unsigned int NDimension>
double itk::ExponentialLimiterFunction< TInput, NDimension >::m_UTminUBinv
protected

Definition at line 86 of file itkExponentialLimiterFunction.h.



Generated on 04-09-2015 for elastix by doxygen 1.8.9.1 elastix logo