Orfeo Toolbox  3.16
Public Types | Public Member Functions | Static Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::AmoebaOptimizer Class Reference

Wrap of the vnl_amoeba algorithm. More...

#include <itkAmoebaOptimizer.h>

+ Inheritance diagram for itk::AmoebaOptimizer:
+ Collaboration diagram for itk::AmoebaOptimizer:

List of all members.

Public Types

typedef ReceptorMemberCommand
< Self
CommandType
typedef SmartPointer< const SelfConstPointer
typedef CostFunctionType::Pointer CostFunctionPointer
typedef SingleValuedCostFunction CostFunctionType
typedef
CostFunctionType::DerivativeType 
DerivativeType
typedef vnl_amoeba InternalOptimizerType
typedef vnl_vector< double > InternalParametersType
typedef
CostFunctionType::MeasureType 
MeasureType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalesType ScalesType
typedef AmoebaOptimizer Self
typedef
SingleValuedNonLinearVnlOptimizer 
Superclass

Public Member Functions

unsigned long AddObserver (const EventObject &event, Command *)
unsigned long AddObserver (const EventObject &event, Command *) const
virtual void AutomaticInitialSimplexOff ()
virtual void AutomaticInitialSimplexOn ()
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual void DebugOff () const
virtual void DebugOn () const
virtual void Delete ()
virtual bool GetAutomaticInitialSimplex () const
virtual const ParametersTypeGetCachedCurrentPosition ()
virtual const DerivativeTypeGetCachedDerivative ()
virtual const MeasureTypeGetCachedValue ()
CommandGetCommand (unsigned long tag)
virtual const CostFunctionTypeGetCostFunction ()
virtual const ParametersTypeGetCurrentPosition ()
bool GetDebug () const
virtual double GetFunctionConvergenceTolerance () const
virtual const ParametersTypeGetInitialPosition ()
virtual ParametersType GetInitialSimplexDelta () const
virtual const bool & GetMaximize ()
virtual unsigned int GetMaximumNumberOfIterations () const
MetaDataDictionaryGetMetaDataDictionary (void)
const MetaDataDictionaryGetMetaDataDictionary (void) const
bool GetMinimize () const
virtual unsigned long GetMTime () const
virtual const char * GetNameOfClass () const
vnl_amoeba * GetOptimizer (void)
virtual double GetParametersConvergenceTolerance () const
virtual int GetReferenceCount () const
virtual const ScalesTypeGetScales ()
const std::string GetStopConditionDescription () const
MeasureType GetValue (const ParametersType &parameters) const
MeasureType GetValue () const
bool HasObserver (const EventObject &event) const
void InvokeEvent (const EventObject &)
void InvokeEvent (const EventObject &) const
virtual void MaximizeOff ()
virtual void MaximizeOn ()
void MinimizeOff ()
void MinimizeOn ()
virtual void Modified () const
void Print (std::ostream &os, Indent indent=0) const
virtual void Register () const
void RemoveAllObservers ()
void RemoveObserver (unsigned long tag)
virtual void SetAutomaticInitialSimplex (bool _arg)
virtual void SetCostFunction (CostFunctionType *costFunction)
virtual void SetCostFunction (SingleValuedCostFunction *costFunction)
void SetDebug (bool debugFlag) const
virtual void SetFunctionConvergenceTolerance (double tol)
virtual void SetInitialPosition (const ParametersType &param)
virtual void SetInitialSimplexDelta (ParametersType _arg)
virtual void SetMaximize (bool _arg)
virtual void SetMaximumNumberOfIterations (unsigned int n)
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
void SetMinimize (bool v)
virtual void SetParametersConvergenceTolerance (double tol)
virtual void SetReferenceCount (int)
void SetScales (const ScalesType &scales)
void StartOptimization (void)
virtual void UnRegister () const

Static Public Member Functions

static void BreakOnError ()
static bool GetGlobalWarningDisplay ()
static void GlobalWarningDisplayOff ()
static void GlobalWarningDisplayOn ()
static Pointer New ()
static void SetGlobalWarningDisplay (bool flag)

Protected Types

typedef
Superclass::CostFunctionAdaptorType 
CostFunctionAdaptorType
typedef int InternalReferenceCountType

Protected Member Functions

 AmoebaOptimizer ()
virtual ~AmoebaOptimizer ()
const CostFunctionAdaptorTypeGetCostFunctionAdaptor (void) const
CostFunctionAdaptorTypeGetCostFunctionAdaptor (void)
CostFunctionAdaptorTypeGetNonConstCostFunctionAdaptor (void) const
virtual void PrintHeader (std::ostream &os, Indent indent) const
bool PrintObservers (std::ostream &os, Indent indent) const
void PrintSelf (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
void SetCostFunctionAdaptor (CostFunctionAdaptorType *adaptor)
virtual void SetCurrentPosition (const ParametersType &param)

Protected Attributes

CostFunctionPointer m_CostFunction
ParametersType m_CurrentPosition
InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock
bool m_ScalesInitialized

Private Member Functions

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

Private Attributes

bool m_AutomaticInitialSimplex
double m_FunctionConvergenceTolerance
ParametersType m_InitialSimplexDelta
unsigned int m_MaximumNumberOfIterations
bool m_OptimizerInitialized
double m_ParametersConvergenceTolerance
OStringStream m_StopConditionDescription
InternalOptimizerTypem_VnlOptimizer

Detailed Description

Wrap of the vnl_amoeba algorithm.

AmoebaOptimizer is a wrapper around the vnl_amoeba algorithm which is an implementation of the Nelder-Meade downhill simplex problem. For most problems, it is a few times slower than a Levenberg-Marquardt algorithm but does not require derivatives of its cost function. It works by creating a simplex (n+1 points in ND space). The cost function is evaluated at each corner of the simplex. The simplex is then modified (by reflecting a corner about the opposite edge, by shrinking the entire simplex, by contracting one edge of the simplex, or by expanding the simplex) in searching for the minimum of the cost function.

The methods AutomaticInitialSimplex() and SetInitialSimplexDelta() control whether the optimizer defines the initial simplex automatically (by constructing a very small simplex around the initial position) or uses a user supplied simplex size.

AmoebaOptimizer can only minimize a function.

Definition at line 49 of file itkAmoebaOptimizer.h.


Member Typedef Documentation

Command observer that will interact with the ITK-VNL cost-function adaptor in order to generate iteration events. This will allow to overcome the limitation of VNL optimizers not offering callbacks for every iteration

Definition at line 48 of file itkSingleValuedNonLinearVnlOptimizer.h.

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 57 of file itkAmoebaOptimizer.h.

typedef Superclass::CostFunctionAdaptorType itk::AmoebaOptimizer::CostFunctionAdaptorType
protected

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 131 of file itkAmoebaOptimizer.h.

Derivative type. It defines a type used to return the cost function derivative.

Definition at line 64 of file itkSingleValuedNonLinearOptimizer.h.

Internal optimizer type.

Definition at line 73 of file itkAmoebaOptimizer.h.

InternalParameters typedef.

Definition at line 70 of file itkAmoebaOptimizer.h.

typedef int itk::LightObject::InternalReferenceCountType
protectedinherited

Define the type of the reference count according to the target. This allows the use of atomic operations

Definition at line 137 of file itkLightObject.h.

Measure type. It defines a type used to return the cost function value.

Definition at line 60 of file itkSingleValuedNonLinearOptimizer.h.

typedef Superclass::ParametersType itk::AmoebaOptimizer::ParametersType

Parameters type. It defines a position in the optimization search space.

Reimplemented from itk::SingleValuedNonLinearOptimizer.

Definition at line 63 of file itkAmoebaOptimizer.h.

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 56 of file itkAmoebaOptimizer.h.

typedef Superclass::ScalesType itk::NonLinearOptimizer::ScalesType
inherited

Scale type. This array defines scale to be applied to parameters before being evaluated in the cost function. This allows to map to a more convenient space. In particular this is used to normalize parameter spaces in which some parameters have a different dynamic range.

Reimplemented from itk::Optimizer.

Definition at line 52 of file itkNonLinearOptimizer.h.

Standard "Self" typedef.

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 54 of file itkAmoebaOptimizer.h.

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 55 of file itkAmoebaOptimizer.h.


Constructor & Destructor Documentation

itk::AmoebaOptimizer::AmoebaOptimizer ( )
protected

Constructor

Definition at line 29 of file itkAmoebaOptimizer.cxx.

itk::AmoebaOptimizer::~AmoebaOptimizer ( )
protectedvirtual

Destructor

Definition at line 46 of file itkAmoebaOptimizer.cxx.

itk::AmoebaOptimizer::AmoebaOptimizer ( const Self )
private

Member Function Documentation

unsigned long itk::Object::AddObserver ( const EventObject event,
Command cmd 
)
inherited

Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects

Definition at line 389 of file itkObject.cxx.

References itk::SubjectImplementation::AddObserver().

Referenced by otb::StreamingImageVirtualWriter< TInputImage >::GenerateData(), itk::ProgressAccumulator::RegisterInternalFilter(), otb::ImageFileWriter< TInputImage >::Update(), and otb::WriterWatcherBase::WriterWatcherBase().

unsigned long itk::Object::AddObserver ( const EventObject event,
Command cmd 
) const
inherited

Definition at line 401 of file itkObject.cxx.

References itk::SubjectImplementation::AddObserver().

virtual void itk::AmoebaOptimizer::AutomaticInitialSimplexOff ( )
virtual
virtual void itk::AmoebaOptimizer::AutomaticInitialSimplexOn ( )
virtual
void itk::LightObject::BreakOnError ( )
staticinherited

This method is called when itkExceptionMacro executes. It allows the debugger to break on error.

Definition at line 149 of file itkLightObject.cxx.

virtual::itk::LightObject::Pointer itk::AmoebaOptimizer::CreateAnother ( void  ) const
virtual

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::SingleValuedNonLinearOptimizer.

void itk::Object::DebugOff ( ) const
virtualinherited

Turn debugging output off.

Definition at line 253 of file itkObject.cxx.

void itk::Object::DebugOn ( ) const
virtualinherited

Turn debugging output on.

Definition at line 242 of file itkObject.cxx.

void itk::LightObject::Delete ( )
virtualinherited

Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.

Delete a itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C++ delete method will not work with reference counting.

Definition at line 88 of file itkLightObject.cxx.

virtual bool itk::AmoebaOptimizer::GetAutomaticInitialSimplex ( ) const
virtual
virtual const ParametersType& itk::SingleValuedNonLinearVnlOptimizer::GetCachedCurrentPosition ( )
virtualinherited
virtual const DerivativeType& itk::SingleValuedNonLinearVnlOptimizer::GetCachedDerivative ( )
virtualinherited
virtual const MeasureType& itk::SingleValuedNonLinearVnlOptimizer::GetCachedValue ( )
virtualinherited

Return Cached Values. These method have the advantage of not triggering a recomputation of the metric value, but it has the disadvantage of returning a value that may not be the one corresponding to the current parameters. For GUI update purposes, this method is a good option, for mathematical validation you should rather call GetValue().

Command * itk::Object::GetCommand ( unsigned long  tag)
inherited

Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.

Definition at line 414 of file itkObject.cxx.

References itk::Object::GetCommand(), and NULL.

Referenced by itk::Object::GetCommand().

virtual const CostFunctionType* itk::SingleValuedNonLinearOptimizer::GetCostFunction ( )
virtualinherited

Get the cost function.

const SingleValuedNonLinearVnlOptimizer::CostFunctionAdaptorType * itk::SingleValuedNonLinearVnlOptimizer::GetCostFunctionAdaptor ( void  ) const
protectedinherited

Definition at line 72 of file itkSingleValuedNonLinearVnlOptimizer.cxx.

SingleValuedNonLinearVnlOptimizer::CostFunctionAdaptorType * itk::SingleValuedNonLinearVnlOptimizer::GetCostFunctionAdaptor ( void  )
protectedinherited

Definition at line 80 of file itkSingleValuedNonLinearVnlOptimizer.cxx.

virtual const ParametersType& itk::Optimizer::GetCurrentPosition ( )
virtualinherited

Get current position of the optimization.

Referenced by CommandIterationUpdate::Execute().

bool itk::Object::GetDebug ( ) const
inherited

Get the value of the debug flag.

Definition at line 264 of file itkObject.cxx.

Referenced by otb::ogr::ImageReference< double >::GetDebug().

virtual double itk::AmoebaOptimizer::GetFunctionConvergenceTolerance ( ) const
virtual
bool itk::Object::GetGlobalWarningDisplay ( )
staticinherited

Get the value of the global debug output control flag.

Definition at line 381 of file itkObject.cxx.

virtual const ParametersType& itk::Optimizer::GetInitialPosition ( )
virtualinherited

Get the position to initialize the optimization.

Referenced by itk::SPSAOptimizer::GuessParameters().

virtual ParametersType itk::AmoebaOptimizer::GetInitialSimplexDelta ( ) const
virtual
virtual const bool& itk::SingleValuedNonLinearVnlOptimizer::GetMaximize ( )
virtualinherited

Methods to define whether the cost function will be maximized or minimized. By default the VNL amoeba optimizer is only a minimizer. Maximization is implemented here by notifying the CostFunctionAdaptor which in its turn will multiply the function values and its derivative by -1.0.

virtual unsigned int itk::AmoebaOptimizer::GetMaximumNumberOfIterations ( ) const
virtual
MetaDataDictionary & itk::Object::GetMetaDataDictionary ( void  )
inherited
Returns:
A reference to this objects MetaDataDictionary.
Warning:
This reference may be changed.

Reimplemented in otb::ImageMetadataInterfaceBase.

Definition at line 532 of file itkObject.cxx.

References NULL.

Referenced by otb::RenderingImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData(), itk::Brains2MaskImageIO::CanReadFile(), otb::DataNode< TPrecision, VDimension, TValuePrecision >::CopyFieldList(), otb::VectorImage< TPixel, VImageDimension >::CopyInformation(), otb::Image< TPixel, VImageDimension >::CopyInformation(), itk::GDCMImageIO::GetBodyPart(), itk::GDCMImageIO::GetInstitution(), itk::GDCMImageIO::GetManufacturer(), itk::GDCMImageIO::GetModality(), itk::GDCMImageIO::GetModel(), itk::GDCMImageIO::GetNumberOfSeriesInStudy(), itk::GDCMImageIO::GetNumberOfStudyRelatedSeries(), itk::GDCMImageIO::GetPatientAge(), itk::GDCMImageIO::GetPatientDOB(), itk::GDCMImageIO::GetPatientID(), itk::GDCMImageIO::GetPatientName(), itk::GDCMImageIO::GetPatientSex(), itk::GDCMImageIO::GetScanOptions(), itk::GDCMImageIO::GetStudyDate(), itk::GDCMImageIO::GetStudyDescription(), itk::GDCMImageIO::GetStudyID(), itk::GDCMImageIO::GetValueFromTag(), otb::GDALImageIO::InternalReadImageInformation(), itk::GDCMImageIO::InternalReadImageInformation(), otb::GDALImageIO::InternalWriteImageInformation(), otb::RAMDrivenAdaptativeStreamingManager< TImage >::PrepareStreaming(), itk::DICOMImageIO2::Read(), itk::DICOMImageIO2::ReadImageInformation(), itk::NrrdImageIO::ReadImageInformation(), otb::JPEG2000ImageIO::ReadImageInformation(), itk::MetaImageIO::ReadImageInformation(), itk::VoxBoCUBImageIO::ReadImageInformation(), itk::MRCImageIO::ReadImageInformation(), itk::IPLCommonImageIO::ReadImageInformation(), itk::PhilipsRECImageIO::ReadImageInformation(), itk::AnalyzeImageIO::ReadImageInformation(), itk::Bruker2DSEQImageIO::ReadImageInformation(), otb::ImageMetadataInterfaceBase::SetImage(), itk::NiftiImageIO::SetImageIOMetadataFromNIfTI(), otb::VectorDataToLabelImageFilter< TVectorData, TOutputImage >::SetOutputParametersFromImage(), itk::NrrdImageIO::Write(), itk::GDCMImageIO::Write(), and itk::PolygonGroupSpatialObjectXMLFileWriter::WriteFile().

const MetaDataDictionary & itk::Object::GetMetaDataDictionary ( void  ) const
inherited
Returns:
A constant reference to this objects MetaDataDictionary.

Reimplemented in otb::ImageMetadataInterfaceBase.

Definition at line 543 of file itkObject.cxx.

References NULL.

bool itk::SingleValuedNonLinearVnlOptimizer::GetMinimize ( ) const
inlineinherited

Definition at line 72 of file itkSingleValuedNonLinearVnlOptimizer.h.

unsigned long itk::Object::GetMTime ( void  ) const
virtualinherited

Return this objects modified time.

Return the modification for this object.

Reimplemented in itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::SpatialObject< TDimension >, itk::SpatialObject< 3 >, itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::MeshSpatialObject< TMesh >, and itk::SceneSpatialObject< TSpaceDimension >.

Definition at line 286 of file itkObject.cxx.

Referenced by itk::DeformationFieldSource< TOutputImage >::GetMTime(), itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >::GetMTime(), itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >::GetMTime(), itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >::GetMTime(), itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::SpatialObject< TDimension >::GetMTime(), itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >::GetMTime(), itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime(), otb::Function::NoStretchRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::Initialize(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::Initialize(), itk::VTKImageExportBase::PipelineModifiedCallback(), and itk::ProcessObject::UpdateOutputInformation().

virtual const char* itk::AmoebaOptimizer::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

SingleValuedNonLinearVnlOptimizer::CostFunctionAdaptorType * itk::SingleValuedNonLinearVnlOptimizer::GetNonConstCostFunctionAdaptor ( void  ) const
protectedinherited

The purpose of this method is to get around the lack of const-correctness in VNL cost-functions and optimizers

Definition at line 90 of file itkSingleValuedNonLinearVnlOptimizer.cxx.

vnl_amoeba * itk::AmoebaOptimizer::GetOptimizer ( void  )

Method for getting access to the internal optimizer.

Get the Optimizer

Definition at line 284 of file itkAmoebaOptimizer.cxx.

virtual double itk::AmoebaOptimizer::GetParametersConvergenceTolerance ( ) const
virtual
virtual int itk::LightObject::GetReferenceCount ( ) const
inlinevirtualinherited

Gets the reference count on this object.

Definition at line 105 of file itkLightObject.h.

virtual const ScalesType& itk::Optimizer::GetScales ( )
virtualinherited

Get current parameters scaling.

Referenced by itk::SPSAOptimizer::ComputeGradient().

const std::string itk::AmoebaOptimizer::GetStopConditionDescription ( ) const
virtual

Report the reason for stopping.

Reimplemented from itk::Optimizer.

Definition at line 53 of file itkAmoebaOptimizer.cxx.

SingleValuedNonLinearOptimizer::MeasureType itk::SingleValuedNonLinearOptimizer::GetValue ( const ParametersType parameters) const
inherited

Get the cost function value at the given parameters.

Get the cost function value at the given parameters

Reimplemented in itk::SPSAOptimizer.

Definition at line 67 of file itkSingleValuedNonLinearOptimizer.cxx.

References itk::ExceptionObject::SetDescription(), and itk::ExceptionObject::SetLocation().

AmoebaOptimizer::MeasureType itk::AmoebaOptimizer::GetValue ( void  ) const

Return Current Value

Definition at line 81 of file itkAmoebaOptimizer.cxx.

static void itk::Object::GlobalWarningDisplayOff ( )
inlinestaticinherited
static void itk::Object::GlobalWarningDisplayOn ( )
inlinestaticinherited

Definition at line 98 of file itkObject.h.

References itk::Object::SetGlobalWarningDisplay().

bool itk::Object::HasObserver ( const EventObject event) const
inherited

Return true if an observer is registered for this event.

Definition at line 467 of file itkObject.cxx.

void itk::Object::InvokeEvent ( const EventObject event)
inherited
void itk::Object::InvokeEvent ( const EventObject event) const
inherited

Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.

Definition at line 457 of file itkObject.cxx.

virtual void itk::SingleValuedNonLinearVnlOptimizer::MaximizeOff ( )
virtualinherited
virtual void itk::SingleValuedNonLinearVnlOptimizer::MaximizeOn ( )
virtualinherited
void itk::SingleValuedNonLinearVnlOptimizer::MinimizeOff ( )
inlineinherited

Definition at line 78 of file itkSingleValuedNonLinearVnlOptimizer.h.

void itk::SingleValuedNonLinearVnlOptimizer::MinimizeOn ( )
inlineinherited

Definition at line 76 of file itkSingleValuedNonLinearVnlOptimizer.h.

void itk::Object::Modified ( void  ) const
virtualinherited

Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.

Make sure this object's modified time is greater than all others.

Reimplemented in otb::SVMModel< TValue, TLabel >, otb::SurfaceAdjacencyEffect6SCorrectionSchemeFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, otb::Accessor::VectorImageToASPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ShiftScalePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, otb::GenericRSTransform< TScalarType, NInputDimensions, NOutputDimensions >, otb::MeanShiftImageFilter< TInputImage, TOutputImage, TLabeledOutput, TBufferConverter >, otb::MeanShiftImageFilter< TInputImage, TOutputImage, TLabeledOutput, MeanShift::VectorBufferConverter >, otb::GCPsToRPCSensorModelImageFilter< TImage >, otb::Polygon< TValue >, otb::ImageRegionAdaptativeSplitter< VImageDimension >, otb::GenericInterpolateImageFunction< TInputImage, TFunction, TBoundaryCondition, TCoordRep >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, otb::PolyLineParametricPathWithValue< TValue, VDimension >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, otb::PolyLineParametricPathWithValue< TValue, 2 >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, otb::PhysicalToRPCSensorModelImageFilter< TImage >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >, itk::NormalizeImageFilter< TInputImage, TOutputImage >, and otb::StatisticsXMLFileReader< TMeasurementVector >.

Definition at line 297 of file itkObject.cxx.

Referenced by otb::Wrapper::InputImageListParameter::AddFromFileName(), otb::Wrapper::InputVectorDataListParameter::AddFromFileName(), otb::Wrapper::InputImageListParameter::AddImage(), otb::Wrapper::InputImageListParameter::AddNullElement(), otb::Wrapper::InputVectorDataListParameter::AddNullElement(), otb::Wrapper::StringListParameter::AddNullElement(), otb::VectorDataModel::AddPointToGeometry(), otb::Wrapper::InputVectorDataListParameter::AddVectorData(), otb::Wrapper::InputImageListParameter::ClearValue(), otb::Wrapper::InputVectorDataListParameter::ClearValue(), otb::VectorDataModel::DeleteGeometry(), otb::VectorDataModel::EndGeometry(), otb::Wrapper::InputImageListParameter::Erase(), otb::Wrapper::InputVectorDataListParameter::Erase(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), otb::ImageWidget< TInputImage >::LinearInterpolationOff(), otb::ImageWidget< TInputImage >::LinearInterpolationOn(), itk::MatrixOffsetTransformBase< TScalarType, NInputDimensions, NOutputDimensions >::MatrixOffsetTransformBase(), otb::ogr::ImageReference< double >::Modified(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetAutoMinMax(), otb::BlendingImageFilter< TInputImage1, TInputImage2, TOutputImage >::SetBlendingFunction(), otb::ImageLayerGenerator< TImageLayer >::SetBlendingFunction(), otb::TileMapImageIO::SetCacheDirectory(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetChannelList(), itk::LBFGSBOptimizer::SetCostFunction(), itk::MINC2ImageIO::SetDimensionName(), itk::ImageIOBase::SetDimensions(), itk::ImageIOBase::SetDirection(), otb::Wrapper::InputImageListParameter::SetImageList(), itk::GDCMSeriesFileNames::SetInputDirectory(), otb::HistogramStatisticsFunction< TInputHistogram, TOutput >::SetInputHistogram(), otb::ImageToGenericRSOutputParameters< TImage >::SetInputKeywordList(), otb::Wrapper::InputVectorDataListParameter::SetListFromFileName(), otb::Wrapper::InputImageListParameter::SetListFromFileName(), otb::Function::RenderingFunction< TPixel, TRGBPixel >::SetListSample(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), otb::Wrapper::InputImageListParameter::SetNthFileName(), otb::Wrapper::InputVectorDataListParameter::SetNthFileName(), itk::ImageIOBase::SetNumberOfDimensions(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ImageIOBase::SetOrigin(), otb::ImageToGenericRSOutputParameters< TImage >::SetOutputProjectionRef(), otb::MapProjectionAdapter::SetParameter(), otb::Function::GaussianRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetParameters(), otb::Function::StandardRenderingFunction< TPixel, TRGBPixel, TPixelRepresentationFunction, TTransferFunction >::SetParameters(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), otb::ImageLayerGenerator< TImageLayer >::SetRenderingFunction(), otb::RenderingImageFilter< TInputImage, TOutputImage >::SetRenderingFunction(), itk::ImageIOBase::SetSpacing(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation(), otb::Wrapper::OutputFilenameParameter::SetValue(), otb::Wrapper::InputFilenameParameter::SetValue(), otb::Wrapper::ListViewParameter::SetValue(), otb::Wrapper::ChoiceParameter::SetValue(), otb::Wrapper::InputVectorDataListParameter::SetVectorDataList(), and otb::MapProjectionAdapter::SetWkt().

static Pointer itk::AmoebaOptimizer::New ( )
static

Method for creation through the object factory.

Reimplemented from itk::SingleValuedNonLinearOptimizer.

void itk::AmoebaOptimizer::operator= ( const Self )
private
void itk::LightObject::Print ( std::ostream &  os,
Indent  indent = 0 
) const
inherited

Cause the object to print itself out.

Avoid DLL boundary problems. This function will be common to all itk objects. It just calls the header/self/trailer virtual print methods, which can be overriden by subclasses (any itk object).

Definition at line 135 of file itkLightObject.cxx.

References itk::Indent::GetNextIndent().

Referenced by itk::operator<<().

void itk::LightObject::PrintHeader ( std::ostream &  os,
Indent  indent 
) const
protectedvirtualinherited

Define a default print header for all objects.

Definition at line 320 of file itkLightObject.cxx.

bool itk::Object::PrintObservers ( std::ostream &  os,
Indent  indent 
) const
protectedinherited

Definition at line 478 of file itkObject.cxx.

void itk::AmoebaOptimizer::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

PrintSelf

Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.

Definition at line 63 of file itkAmoebaOptimizer.cxx.

void itk::LightObject::PrintTrailer ( std::ostream &  os,
Indent  indent 
) const
protectedvirtualinherited

Define a default print trailer for all objects.

Definition at line 331 of file itkLightObject.cxx.

void itk::Object::Register ( ) const
virtualinherited

Increase the reference count (mark as used by another object).

Reimplemented from itk::LightObject.

Definition at line 309 of file itkObject.cxx.

Referenced by itk::ObjectFactoryBase::RegisterFactory().

void itk::Object::RemoveAllObservers ( )
inherited

Remove all observers .

Definition at line 435 of file itkObject.cxx.

void itk::Object::RemoveObserver ( unsigned long  tag)
inherited

Remove the observer with this tag value.

Definition at line 425 of file itkObject.cxx.

Referenced by otb::StreamingImageVirtualWriter< TInputImage >::GenerateData(), and otb::ImageFileWriter< TInputImage >::Update().

virtual void itk::AmoebaOptimizer::SetAutomaticInitialSimplex ( bool  _arg)
virtual

Set/Get the mode which determines how the amoeba algorithm defines the initial simplex. Default is AutomaticInitialSimplexOn. If AutomaticInitialSimplex is on, the initial simplex is created with a default size. If AutomaticInitialSimplex is off, then InitialSimplexDelta will be used to define the initial simplex, setting the ith corner of the simplex as [x0[0], x0[1], ..., x0[i]+InitialSimplexDelta[i], ..., x0[d-1]].

void itk::SingleValuedNonLinearOptimizer::SetCostFunction ( CostFunctionType costFunction)
virtualinherited

Set the cost function.

Connect a Cost Function

Definition at line 37 of file itkSingleValuedNonLinearOptimizer.cxx.

References itk::CostFunction::GetNumberOfParameters().

Referenced by SetCostFunction().

void itk::AmoebaOptimizer::SetCostFunction ( SingleValuedCostFunction costFunction)
virtual
void itk::SingleValuedNonLinearVnlOptimizer::SetCostFunctionAdaptor ( CostFunctionAdaptorType adaptor)
protectedinherited
void itk::Optimizer::SetCurrentPosition ( const ParametersType param)
protectedvirtualinherited

Set the current position.

Set the current position

Definition at line 65 of file itkOptimizer.cxx.

void itk::Object::SetDebug ( bool  debugFlag) const
inherited

Set the value of the debug flag. A non-zero value turns debugging on.

Definition at line 275 of file itkObject.cxx.

void itk::AmoebaOptimizer::SetFunctionConvergenceTolerance ( double  tol)
virtual

Set the function convergence tolerance

Definition at line 143 of file itkAmoebaOptimizer.cxx.

void itk::Object::SetGlobalWarningDisplay ( bool  val)
staticinherited

This is a global flag that controls whether any debug, warning or error messages are displayed.

Set the value of the global debug output control flag.

Definition at line 370 of file itkObject.cxx.

Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().

void itk::Optimizer::SetInitialPosition ( const ParametersType param)
virtualinherited

Set the position to initialize the optimization.

Set the initial position

Definition at line 53 of file itkOptimizer.cxx.

virtual void itk::AmoebaOptimizer::SetInitialSimplexDelta ( ParametersType  _arg)
virtual

Set/Get the deltas that are used to define the initial simplex when AutomaticInitialSimplex is off.

virtual void itk::SingleValuedNonLinearVnlOptimizer::SetMaximize ( bool  _arg)
virtualinherited
void itk::AmoebaOptimizer::SetMaximumNumberOfIterations ( unsigned int  n)
virtual

Set/Get the maximum number of iterations. The optimization algorithm will terminate after the maximum number of iterations has been reached. The default value is 500.

Set the maximum number of iterations

Definition at line 100 of file itkAmoebaOptimizer.cxx.

void itk::Object::SetMetaDataDictionary ( const MetaDataDictionary rhs)
inherited
void itk::SingleValuedNonLinearVnlOptimizer::SetMinimize ( bool  v)
inlineinherited

Definition at line 74 of file itkSingleValuedNonLinearVnlOptimizer.h.

void itk::AmoebaOptimizer::SetParametersConvergenceTolerance ( double  tol)
virtual

The optimization algorithm will terminate when the simplex diameter and the difference in cost function at the corners of the simplex falls below user specified thresholds. The simplex diameter threshold is set via method SetParametersConvergenceTolerance() with the default value being 1e-8. The cost function convergence threshold is set via method SetFunctionConvergenceTolerance() with the default value being 1e-4.

Set the parameters convergence tolerance

Definition at line 121 of file itkAmoebaOptimizer.cxx.

void itk::Object::SetReferenceCount ( int  ref)
virtualinherited

Sets the reference count (use with care)

If there is a delete method, invoke it.

Reimplemented from itk::LightObject.

Definition at line 347 of file itkObject.cxx.

void itk::Optimizer::SetScales ( const ScalesType scales)
inherited

Set current parameters scaling.

Set scaling as an array of factors

Definition at line 40 of file itkOptimizer.cxx.

void itk::AmoebaOptimizer::StartOptimization ( void  )
virtual

Start optimization with an initial value.

Start the optimization

Reimplemented from itk::Optimizer.

Definition at line 198 of file itkAmoebaOptimizer.cxx.

void itk::Object::UnRegister ( ) const
virtualinherited

Decrease the reference count (release by another object).

If there is a delete method, invoke it.

Reimplemented from itk::LightObject.

Definition at line 324 of file itkObject.cxx.

Referenced by itk::Object::New(), and itk::ObjectFactoryBase::UnRegisterFactory().


Member Data Documentation

bool itk::AmoebaOptimizer::m_AutomaticInitialSimplex
private

Definition at line 143 of file itkAmoebaOptimizer.h.

CostFunctionPointer itk::SingleValuedNonLinearOptimizer::m_CostFunction
protectedinherited
ParametersType itk::Optimizer::m_CurrentPosition
protectedinherited

Definition at line 98 of file itkOptimizer.h.

double itk::AmoebaOptimizer::m_FunctionConvergenceTolerance
private

Definition at line 141 of file itkAmoebaOptimizer.h.

ParametersType itk::AmoebaOptimizer::m_InitialSimplexDelta
private

Definition at line 144 of file itkAmoebaOptimizer.h.

unsigned int itk::AmoebaOptimizer::m_MaximumNumberOfIterations
private

Definition at line 139 of file itkAmoebaOptimizer.h.

bool itk::AmoebaOptimizer::m_OptimizerInitialized
private

Definition at line 137 of file itkAmoebaOptimizer.h.

double itk::AmoebaOptimizer::m_ParametersConvergenceTolerance
private

Definition at line 140 of file itkAmoebaOptimizer.h.

InternalReferenceCountType itk::LightObject::m_ReferenceCount
mutableprotectedinherited

Number of uses of this object by other objects.

Definition at line 141 of file itkLightObject.h.

SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock
mutableprotectedinherited

Mutex lock to protect modification to the reference count

Definition at line 144 of file itkLightObject.h.

bool itk::Optimizer::m_ScalesInitialized
protectedinherited

Definition at line 93 of file itkOptimizer.h.

OStringStream itk::AmoebaOptimizer::m_StopConditionDescription
private

Definition at line 146 of file itkAmoebaOptimizer.h.

InternalOptimizerType* itk::AmoebaOptimizer::m_VnlOptimizer
private

Definition at line 138 of file itkAmoebaOptimizer.h.


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

Generated at Sun Feb 3 2013 01:03:01 for Orfeo Toolbox with doxygen 1.8.1.1