ITK  5.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
itk::SingleValuedVnlCostFunctionAdaptor Class Reference

#include <itkSingleValuedVnlCostFunctionAdaptor.h>

+ Inheritance diagram for itk::SingleValuedVnlCostFunctionAdaptor:
+ Collaboration diagram for itk::SingleValuedVnlCostFunctionAdaptor:

Detailed Description

This class is an Adaptor that allows to pass itk::SingleValuedCostFunctions to vnl_optimizers expecting a vnl_cost_function.

This class returns a single valued.

Definition at line 37 of file itkSingleValuedVnlCostFunctionAdaptor.h.

Public Types

using DerivativeType = SingleValuedCostFunction::DerivativeType
using InternalDerivativeType = vnl_vector< double >
using InternalMeasureType = double
using InternalParametersType = vnl_vector< double >
using MeasureType = SingleValuedCostFunction::MeasureType
using ParametersType = SingleValuedCostFunction::ParametersType
using ScalesType = Array< double >

Public Member Functions

unsigned long AddObserver (const EventObject &event, Command *) const
void compute (const InternalParametersType &x, InternalMeasureType *f, InternalDerivativeType *g) override
void ConvertExternalToInternalGradient (const DerivativeType &input, InternalDerivativeType &output) const
InternalMeasureType f (const InternalParametersType &inparameters) override
const ParametersTypeGetCachedCurrentParameters () const
const DerivativeTypeGetCachedDerivative () const
const MeasureTypeGetCachedValue () const
const SingleValuedCostFunctionGetCostFunction () const
bool GetNegateCostFunction () const
void gradf (const InternalParametersType &inparameters, InternalDerivativeType &gradient) override
void NegateCostFunctionOff ()
void NegateCostFunctionOn ()
void SetCostFunction (SingleValuedCostFunction *costFunction)
void SetNegateCostFunction (bool value)
void SetScales (const ScalesType &scales)
 SingleValuedVnlCostFunctionAdaptor (unsigned int spaceDimension)

Protected Member Functions

void ReportIteration (const EventObject &event) const

Private Member Functions

virtual const ScalesTypeGetInverseScales () const

Private Attributes

ParametersType m_CachedCurrentParameters
DerivativeType m_CachedDerivative
MeasureType m_CachedValue
SingleValuedCostFunction::Pointer m_CostFunction
ScalesType m_InverseScales
bool m_NegateCostFunction
Object::Pointer m_Reporter
bool m_ScalesInitialized

Member Typedef Documentation

Derivatives of the SingleValuedCostFunction

Definition at line 55 of file itkSingleValuedVnlCostFunctionAdaptor.h.

InternalGradientType type alias.

Definition at line 49 of file itkSingleValuedVnlCostFunctionAdaptor.h.

InternalMeasureType type alias.

Definition at line 46 of file itkSingleValuedVnlCostFunctionAdaptor.h.

InternalParametersType type alias.

Definition at line 43 of file itkSingleValuedVnlCostFunctionAdaptor.h.

Type of the SingleValuedCostFunction value

Definition at line 58 of file itkSingleValuedVnlCostFunctionAdaptor.h.

Parameters of the SingleValuedCostFunction

Definition at line 52 of file itkSingleValuedVnlCostFunctionAdaptor.h.

Scales type alias

Definition at line 61 of file itkSingleValuedVnlCostFunctionAdaptor.h.

Constructor & Destructor Documentation

itk::SingleValuedVnlCostFunctionAdaptor::SingleValuedVnlCostFunctionAdaptor ( unsigned int  spaceDimension)

Constructor with size

Member Function Documentation

unsigned long itk::SingleValuedVnlCostFunctionAdaptor::AddObserver ( const EventObject event,
) const

This AddObserver method allows to simulate that this class derives from an itkObject for the purpose of reporting iteration events. The goal of this method is to allow ITK-vnl optimizer adaptors to get iteration events despite the fact that VNL does not provide callbacks.

void itk::SingleValuedVnlCostFunctionAdaptor::compute ( const InternalParametersType x,
InternalMeasureType f,
InternalDerivativeType g 

Delegate computation of value and gradient to the costFunction.

void itk::SingleValuedVnlCostFunctionAdaptor::ConvertExternalToInternalGradient ( const DerivativeType input,
InternalDerivativeType output 
) const

Convert external derviative measures into internal type

InternalMeasureType itk::SingleValuedVnlCostFunctionAdaptor::f ( const InternalParametersType inparameters)

Delegate computation of the value to the CostFunction.

const ParametersType& itk::SingleValuedVnlCostFunctionAdaptor::GetCachedCurrentParameters ( ) const
const DerivativeType& itk::SingleValuedVnlCostFunctionAdaptor::GetCachedDerivative ( ) const
const MeasureType& itk::SingleValuedVnlCostFunctionAdaptor::GetCachedValue ( ) const

Return the value of the last evaluation to the value of the cost function. Note that this method DOES NOT triggers a computation of the function or the derivatives, it only returns previous values. Therefore the values here are only valid after you invoke the f() or gradf() methods.

const SingleValuedCostFunction* itk::SingleValuedVnlCostFunctionAdaptor::GetCostFunction ( ) const

Get the CostFunction deriving from SingleValuedCostFunction

Definition at line 71 of file itkSingleValuedVnlCostFunctionAdaptor.h.

virtual const ScalesType& itk::SingleValuedVnlCostFunctionAdaptor::GetInverseScales ( ) const

Get current parameters scaling.

bool itk::SingleValuedVnlCostFunctionAdaptor::GetNegateCostFunction ( ) const
void itk::SingleValuedVnlCostFunctionAdaptor::gradf ( const InternalParametersType inparameters,
InternalDerivativeType gradient 

Delegate computation of the gradient to the costFunction.

void itk::SingleValuedVnlCostFunctionAdaptor::NegateCostFunctionOff ( )

Definition at line 107 of file itkSingleValuedVnlCostFunctionAdaptor.h.

void itk::SingleValuedVnlCostFunctionAdaptor::NegateCostFunctionOn ( )

Definition at line 106 of file itkSingleValuedVnlCostFunctionAdaptor.h.

void itk::SingleValuedVnlCostFunctionAdaptor::ReportIteration ( const EventObject event) const

This method is intended to be called by the derived classes in order to notify of an iteration event to any Command/Observers

void itk::SingleValuedVnlCostFunctionAdaptor::SetCostFunction ( SingleValuedCostFunction costFunction)

Set the CostFunction deriving from SingleValuedCostFunction

Definition at line 67 of file itkSingleValuedVnlCostFunctionAdaptor.h.

void itk::SingleValuedVnlCostFunctionAdaptor::SetNegateCostFunction ( bool  value)

Set/Get Negate cost function. The purpose of this boolean flag is to make possible to take certain VNL optimizers that are only minimizers, and use them for maximizing functions. When the boolean flag is set to true, the values returned by GetValue in the internal ITK cost function will be multiplied by -1 before returning it in the f() function. Similar operations will be done for the gradf() and compute() methods. When the boolean flag is set to false, then the values returned by the ITK cost function will be passed unchanged to the VNL optimizers.

void itk::SingleValuedVnlCostFunctionAdaptor::SetScales ( const ScalesType scales)

Set current parameters scaling.

Member Data Documentation

ParametersType itk::SingleValuedVnlCostFunctionAdaptor::m_CachedCurrentParameters

Definition at line 144 of file itkSingleValuedVnlCostFunctionAdaptor.h.

DerivativeType itk::SingleValuedVnlCostFunctionAdaptor::m_CachedDerivative

Definition at line 143 of file itkSingleValuedVnlCostFunctionAdaptor.h.

MeasureType itk::SingleValuedVnlCostFunctionAdaptor::m_CachedValue

Definition at line 142 of file itkSingleValuedVnlCostFunctionAdaptor.h.

SingleValuedCostFunction::Pointer itk::SingleValuedVnlCostFunctionAdaptor::m_CostFunction

Definition at line 134 of file itkSingleValuedVnlCostFunctionAdaptor.h.

ScalesType itk::SingleValuedVnlCostFunctionAdaptor::m_InverseScales

Definition at line 138 of file itkSingleValuedVnlCostFunctionAdaptor.h.

bool itk::SingleValuedVnlCostFunctionAdaptor::m_NegateCostFunction

Definition at line 139 of file itkSingleValuedVnlCostFunctionAdaptor.h.

Object::Pointer itk::SingleValuedVnlCostFunctionAdaptor::m_Reporter

Definition at line 140 of file itkSingleValuedVnlCostFunctionAdaptor.h.

bool itk::SingleValuedVnlCostFunctionAdaptor::m_ScalesInitialized

Definition at line 137 of file itkSingleValuedVnlCostFunctionAdaptor.h.

The documentation for this class was generated from the following file: