ITK
6.0.0
Insight Toolkit
|
#include <itkSingleValuedVnlCostFunctionAdaptor.h>
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 > |
Protected Member Functions | |
void | ReportIteration (const EventObject &event) const |
Private Member Functions | |
virtual const ScalesType & | GetInverseScales () 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 {} |
using itk::SingleValuedVnlCostFunctionAdaptor::DerivativeType = SingleValuedCostFunction::DerivativeType |
Derivatives of the SingleValuedCostFunction
Definition at line 53 of file itkSingleValuedVnlCostFunctionAdaptor.h.
using itk::SingleValuedVnlCostFunctionAdaptor::InternalDerivativeType = vnl_vector<double> |
InternalGradientType type alias.
Definition at line 47 of file itkSingleValuedVnlCostFunctionAdaptor.h.
using itk::SingleValuedVnlCostFunctionAdaptor::InternalMeasureType = double |
InternalMeasureType type alias.
Definition at line 44 of file itkSingleValuedVnlCostFunctionAdaptor.h.
using itk::SingleValuedVnlCostFunctionAdaptor::InternalParametersType = vnl_vector<double> |
InternalParametersType type alias.
Definition at line 41 of file itkSingleValuedVnlCostFunctionAdaptor.h.
Type of the SingleValuedCostFunction value
Definition at line 56 of file itkSingleValuedVnlCostFunctionAdaptor.h.
using itk::SingleValuedVnlCostFunctionAdaptor::ParametersType = SingleValuedCostFunction::ParametersType |
Parameters of the SingleValuedCostFunction
Definition at line 50 of file itkSingleValuedVnlCostFunctionAdaptor.h.
using itk::SingleValuedVnlCostFunctionAdaptor::ScalesType = Array<double> |
Scales type alias
Definition at line 59 of file itkSingleValuedVnlCostFunctionAdaptor.h.
itk::SingleValuedVnlCostFunctionAdaptor::SingleValuedVnlCostFunctionAdaptor | ( | unsigned int | spaceDimension | ) |
Constructor with size
unsigned long itk::SingleValuedVnlCostFunctionAdaptor::AddObserver | ( | const EventObject & | event, |
Command * | |||
) | 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.
|
override |
Delegate computation of value and gradient to the costFunction.
void itk::SingleValuedVnlCostFunctionAdaptor::ConvertExternalToInternalGradient | ( | const DerivativeType & | input, |
InternalDerivativeType & | output | ||
) | const |
Convert external derivative measures into internal type
|
override |
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 |
|
inline |
Get the CostFunction deriving from SingleValuedCostFunction
Definition at line 73 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
privatevirtual |
Get current parameters scaling.
bool itk::SingleValuedVnlCostFunctionAdaptor::GetNegateCostFunction | ( | ) | const |
|
override |
Delegate computation of the gradient to the costFunction.
|
inline |
Definition at line 118 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
inline |
Definition at line 113 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
protected |
This method is intended to be called by the derived classes in order to notify of an iteration event to any Command/Observers
|
inline |
Set the CostFunction deriving from SingleValuedCostFunction
Definition at line 66 of file itkSingleValuedVnlCostFunctionAdaptor.h.
void itk::SingleValuedVnlCostFunctionAdaptor::SetNegateCostFunction | ( | bool | flag | ) |
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.
|
mutableprivate |
Definition at line 161 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
mutableprivate |
Definition at line 160 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
mutableprivate |
Definition at line 159 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
private |
Definition at line 153 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
private |
Definition at line 155 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
private |
Definition at line 156 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
private |
Definition at line 157 of file itkSingleValuedVnlCostFunctionAdaptor.h.
|
private |
Definition at line 154 of file itkSingleValuedVnlCostFunctionAdaptor.h.