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

A soft limiter. More...

#include <itkExponentialLimiterFunction.h>

Inheritance diagram for itk::ExponentialLimiterFunction< TInput, NDimension >:
Inheritance graph
[legend]
Collaboration diagram for itk::ExponentialLimiterFunction< TInput, NDimension >:
Collaboration 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 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)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

virtual void ComputeLimiterSettings (void)
 ExponentialLimiterFunction ()
 ~ExponentialLimiterFunction ()

Protected Attributes

double m_LTminLB
double m_LTminLBinv
double m_UTminUB
double m_UTminUBinv

Private Member Functions

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

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 40 of file itkExponentialLimiterFunction.h.


Member Typedef Documentation

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

Superclass' typedefs

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

Definition at line 61 of file itkExponentialLimiterFunction.h.

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

Standard class typedefs.

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

Definition at line 45 of file itkExponentialLimiterFunction.h.

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

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 ( ) [inline, protected]

Definition at line 77 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  ) [protected, virtual]
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 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 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 83 of file itkExponentialLimiterFunction.h.

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

Definition at line 84 of file itkExponentialLimiterFunction.h.

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

Definition at line 81 of file itkExponentialLimiterFunction.h.

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

Definition at line 82 of file itkExponentialLimiterFunction.h.



Generated on 24-10-2011 for elastix by doxygen 1.7.4 elastix logo