ITK
6.0.0
Insight Toolkit
|
#include <itkSingleValuedCostFunctionv4.h>
This class is a base for a CostFunction that returns a single value.
This class differs from the SingleValuedCostFunction in that it is fine- tuned for managing very large numbers of parameters. For example, to be used in conditions where the number of parameters is in the range of thousands or even millions. Due to the large number of parameters, the API of this class avoids any copying of the parameters array, and of the classes that have dimensionality related to the size of the parameters array.
As you look at the code of this class, keep in mind that the types ParametersType and DerivativeType will be some sort of array-like type with millions of elements.
Derived classes must provide implementations for: GetValue GetValueAndDerivative
Definition at line 50 of file itkSingleValuedCostFunctionv4.h.
Public Member Functions | |
const char * | GetNameOfClass () const override |
virtual MeasureType | GetValue () const =0 |
virtual void | GetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const =0 |
Public Member Functions inherited from itk::CostFunctionTemplate< TInternalComputationValueType > | |
const char * | GetNameOfClass () const override |
virtual unsigned int | GetNumberOfParameters () const =0 |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
const char * | GetNameOfClass () const override |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
Pointer | Clone () const |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual const char * | GetNameOfClass () const |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Protected Member Functions | |
SingleValuedCostFunctionv4Template ()=default | |
~SingleValuedCostFunctionv4Template () override=default | |
Protected Member Functions inherited from itk::CostFunctionTemplate< TInternalComputationValueType > | |
CostFunctionTemplate ()=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~CostFunctionTemplate () override=default | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount {} |
using itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >::ConstPointer = SmartPointer<const Self> |
Definition at line 60 of file itkSingleValuedCostFunctionv4.h.
using itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >::DerivativeType = Array<TInternalComputationValueType> |
DerivativeType type alias. It defines a type used to return the cost function derivative.
Definition at line 75 of file itkSingleValuedCostFunctionv4.h.
using itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >::MeasureType = TInternalComputationValueType |
MeasureType type alias. It defines a type used to return the cost function value.
Definition at line 67 of file itkSingleValuedCostFunctionv4.h.
using itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >::Pointer = SmartPointer<Self> |
Definition at line 59 of file itkSingleValuedCostFunctionv4.h.
using itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >::Self = SingleValuedCostFunctionv4Template |
Standard class type aliases.
Definition at line 57 of file itkSingleValuedCostFunctionv4.h.
using itk::SingleValuedCostFunctionv4Template< TInternalComputationValueType >::Superclass = CostFunctionTemplate<TInternalComputationValueType> |
Definition at line 58 of file itkSingleValuedCostFunctionv4.h.
|
protecteddefault |
|
overrideprotecteddefault |
|
overridevirtual |
Reimplemented from itk::CostFunctionTemplate< TInternalComputationValueType >.
Reimplemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TFixedImage, double, DefaultImageToImageMetricTraitsv4< TFixedImage, TMovingImage, TFixedImage, double > >, itk::PointSetToPointSetMetricv4< TFixedPointSet, TFixedPointSet, double >, itk::PointSetToPointSetMetricv4< TPointSet, TPointSet, double >, itk::PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TFixedPointSet, double >, and itk::PointSetToPointSetMetricWithIndexv4< TPointSet, TPointSet, double >.
|
pure virtual |
This method returns the value of the cost function corresponding to the specified parameters.
Implemented in itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TFixedImage, double, DefaultImageToImageMetricTraitsv4< TFixedImage, TMovingImage, TFixedImage, double > >, itk::JointHistogramMutualInformationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::ObjectToObjectMultiMetricv4< TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType >, itk::PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TFixedPointSet, double >, itk::PointSetToPointSetMetricWithIndexv4< TPointSet, TPointSet, double >, itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >, and itk::ObjectToObjectMetricBaseTemplate< double >.
|
pure virtual |
This method returns the value and derivative of the cost function. derivative
will be sized and allocated as needed by metric. If it's already proper size, no new allocation is done.
Implemented in itk::PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TMovingPointSet, TInternalComputationValueType >, itk::PointSetToPointSetMetricWithIndexv4< TFixedPointSet, TFixedPointSet, double >, itk::PointSetToPointSetMetricWithIndexv4< TPointSet, TPointSet, double >, itk::ObjectToObjectMultiMetricv4< TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType >, itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage, TInternalComputationValueType, TMetricTraits >, itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TFixedImage, double, DefaultImageToImageMetricTraitsv4< TFixedImage, TMovingImage, TFixedImage, double > >, itk::ObjectToObjectMetricBaseTemplate< TInternalComputationValueType >, and itk::ObjectToObjectMetricBaseTemplate< double >.