Loading...
Searching...
No Matches
itk::LimiterFunctionBase< TInput, NDimension > Class Template Referenceabstract

`#include <itkLimiterFunctionBase.h>`

## Detailed Description

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

Base class for all ITK limiter function objects.

LimiterFunctionBase is the base class for ITK limiter function objects. The abstract method Evaluate() should limit a function, i.e. it should make sure that its output is below a certain value. The derivative of a function that is limited also changes.

In formula:

where is the original function. and the limited version. The derivative with respect to should satisfy:

Subclasses must override Evaluate(value) and Evaluate(value, derivative) .

This class is template over the input type and the dimension of .

Definition at line 50 of file itkLimiterFunctionBase.h.

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

## Public Types

using | ConstPointer = SmartPointer<const Self>
using | DerivativeType = CovariantVector<DerivativeValueType, Self::Dimension>
using | DerivativeValueType = OutputType
using | Pointer = SmartPointer<Self>
using | Self = LimiterFunctionBase
using | Superclass = FunctionBase<TInput, typename NumericTraits<TInput>::RealType>

## Public Member Functions

OutputType | Evaluate (const InputType &input) const override=0
virtual OutputType | Evaluate (const InputType &input, DerivativeType &derivative) const =0
virtual const char * | GetClassName () const
virtual OutputType | GetLowerBound () const
virtual InputType | GetLowerThreshold () const
virtual OutputType | GetUpperBound () const
virtual InputType | GetUpperThreshold () const
virtual void | Initialize ()
| ITK_DISALLOW_COPY_AND_MOVE (LimiterFunctionBase)
| 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)

## Protected Member Functions

| LimiterFunctionBase ()
| ~LimiterFunctionBase () override=default

## Protected Attributes

OutputType | m_LowerBound {}
InputType | m_LowerThreshold {}
OutputType | m_UpperBound {}
InputType | m_UpperThreshold {}

## Member Typedef Documentation

## ConstPointer

template<class TInput, unsigned int NDimension>

using itk::LimiterFunctionBase< TInput, NDimension >::ConstPointer = SmartPointer<const Self>

Definition at line 59 of file itkLimiterFunctionBase.h.

## DerivativeType

template<class TInput, unsigned int NDimension>

using itk::LimiterFunctionBase< TInput, NDimension >::DerivativeType = CovariantVector<DerivativeValueType, Self::Dimension>

Definition at line 71 of file itkLimiterFunctionBase.h.

## DerivativeValueType

template<class TInput, unsigned int NDimension>

using itk::LimiterFunctionBase< TInput, NDimension >::DerivativeValueType = OutputType

Definition at line 70 of file itkLimiterFunctionBase.h.

## Pointer

template<class TInput, unsigned int NDimension>

using itk::LimiterFunctionBase< TInput, NDimension >::Pointer = SmartPointer<Self>

Definition at line 58 of file itkLimiterFunctionBase.h.

## Self

template<class TInput, unsigned int NDimension>

using itk::LimiterFunctionBase< TInput, NDimension >::Self = LimiterFunctionBase

Standard class typedefs.

Definition at line 56 of file itkLimiterFunctionBase.h.

## Superclass

template<class TInput, unsigned int NDimension>

using itk::LimiterFunctionBase< TInput, NDimension >::Superclass = FunctionBase<TInput, typename NumericTraits<TInput>::RealType>

Definition at line 57 of file itkLimiterFunctionBase.h.

## Constructor & Destructor Documentation

## LimiterFunctionBase()

template<class TInput, unsigned int NDimension>

itk::LimiterFunctionBase< TInput, NDimension >::LimiterFunctionBase | ( |  | ) |

inline protected

Definition at line 107 of file itkLimiterFunctionBase.h.

## ~LimiterFunctionBase()

template<class TInput, unsigned int NDimension>

itk::LimiterFunctionBase< TInput, NDimension >::~LimiterFunctionBase | ( |  | ) |

override protected default

## Member Function Documentation

## Evaluate() [1/2]

template<class TInput, unsigned int NDimension>

OutputType itk::LimiterFunctionBase< TInput, NDimension >::Evaluate | ( | const InputType & | input | ) | const

override pure virtual

Limit the input value.

Implemented in itk::ExponentialLimiterFunction< TInput, NDimension >, and itk::HardLimiterFunction< TInput, NDimension >.

## Evaluate() [2/2]

template<class TInput, unsigned int NDimension>

virtual OutputType itk::LimiterFunctionBase< TInput, NDimension >::Evaluate | ( | const InputType & | input,
|  | DerivativeType & | derivative ) const

pure virtual

Limit the input value and change the input function derivative accordingly

Implemented in itk::ExponentialLimiterFunction< TInput, NDimension >, and itk::HardLimiterFunction< TInput, NDimension >.

## GetClassName()

template<class TInput, unsigned int NDimension>

virtual const char * itk::LimiterFunctionBase< TInput, NDimension >::GetClassName | ( |  | ) | const

virtual

Run-time type information (and related methods).

Reimplemented in itk::ExponentialLimiterFunction< TInput, NDimension >, and itk::HardLimiterFunction< TInput, NDimension >.

## GetLowerBound()

template<class TInput, unsigned int NDimension>

virtual OutputType itk::LimiterFunctionBase< TInput, NDimension >::GetLowerBound | ( |  | ) | const

virtual

## GetLowerThreshold()

template<class TInput, unsigned int NDimension>

virtual InputType itk::LimiterFunctionBase< TInput, NDimension >::GetLowerThreshold | ( |  | ) | const

virtual

## GetUpperBound()

template<class TInput, unsigned int NDimension>

virtual OutputType itk::LimiterFunctionBase< TInput, NDimension >::GetUpperBound | ( |  | ) | const

virtual

## GetUpperThreshold()

template<class TInput, unsigned int NDimension>

virtual InputType itk::LimiterFunctionBase< TInput, NDimension >::GetUpperThreshold | ( |  | ) | const

virtual

## Initialize()

template<class TInput, unsigned int NDimension>

virtual void itk::LimiterFunctionBase< TInput, NDimension >::Initialize | ( |  | ) |

inline virtual

Initialize the limiter

Reimplemented in itk::ExponentialLimiterFunction< TInput, NDimension >.

Definition at line 103 of file itkLimiterFunctionBase.h.

## ITK_DISALLOW_COPY_AND_MOVE()

template<class TInput, unsigned int NDimension>

itk::LimiterFunctionBase< TInput, NDimension >::ITK_DISALLOW_COPY_AND_MOVE | ( | LimiterFunctionBase< TInput, NDimension > |  | ) |

## itkStaticConstMacro()

template<class TInput, unsigned int NDimension>

itk::LimiterFunctionBase< TInput, NDimension >::itkStaticConstMacro | ( | Dimension | ,
|  | unsigned int | ,
|  | NDimension | )

## SetLowerBound()

template<class TInput, unsigned int NDimension>

virtual void itk::LimiterFunctionBase< TInput, NDimension >::SetLowerBound | ( | OutputType | _arg | ) |

virtual

Set/Get the lower bound that the output should respect. Make sure it is lower than the higher bound.

## SetLowerThreshold()

template<class TInput, unsigned int NDimension>

virtual void itk::LimiterFunctionBase< TInput, NDimension >::SetLowerThreshold | ( | InputType | _arg | ) |

virtual

Set the point where the limiter starts to work. Only input values below this number will possibly be affected. Make sure it is >= than the LowerBound.

## SetUpperBound()

template<class TInput, unsigned int NDimension>

virtual void itk::LimiterFunctionBase< TInput, NDimension >::SetUpperBound | ( | OutputType | _arg | ) |

virtual

Set/Get the upper bound that the output should respect. Make sure it is higher than the lower bound.

## SetUpperThreshold()

template<class TInput, unsigned int NDimension>

virtual void itk::LimiterFunctionBase< TInput, NDimension >::SetUpperThreshold | ( | InputType | _arg | ) |

virtual

Set the point where the limiter starts to work. Only input values above this number will possibly be affected. Make sure it is <= than the UpperBound.

## Field Documentation

## m_LowerBound

template<class TInput, unsigned int NDimension>

OutputType itk::LimiterFunctionBase< TInput, NDimension >::m_LowerBound {}

protected

Definition at line 119 of file itkLimiterFunctionBase.h.

## m_LowerThreshold

template<class TInput, unsigned int NDimension>

InputType itk::LimiterFunctionBase< TInput, NDimension >::m_LowerThreshold {}

protected

Definition at line 121 of file itkLimiterFunctionBase.h.

## m_UpperBound

template<class TInput, unsigned int NDimension>

OutputType itk::LimiterFunctionBase< TInput, NDimension >::m_UpperBound {}

protected

Definition at line 118 of file itkLimiterFunctionBase.h.

## m_UpperThreshold

template<class TInput, unsigned int NDimension>

InputType itk::LimiterFunctionBase< TInput, NDimension >::m_UpperThreshold {}

protected

Definition at line 120 of file itkLimiterFunctionBase.h.

Generated on 1768596610 for elastix by 1.15.0 |