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

Implements Fletch-Reeves & Polak-Ribiere optimization using dBrent line search. More...

#include <itkFRPROptimizer.h>

+ Inheritance diagram for itk::FRPROptimizer:
+ Collaboration diagram for itk::FRPROptimizer:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef CostFunctionType::Pointer CostFunctionPointer
typedef SingleValuedCostFunction CostFunctionType
typedef
CostFunctionType::DerivativeType 
DerivativeType
typedef
CostFunctionType::MeasureType 
MeasureType
typedef
SingleValuedNonLinearOptimizer::ParametersType 
ParametersType
typedef SmartPointer< SelfPointer
typedef Superclass::ScalesType ScalesType
typedef FRPROptimizer Self
typedef PowellOptimizer Superclass

Public Member Functions

unsigned long AddObserver (const EventObject &event, Command *)
unsigned long AddObserver (const EventObject &event, Command *) const
virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual void DebugOff () const
virtual void DebugOn () const
virtual void Delete ()
virtual const bool & GetCatchGetValueException ()
CommandGetCommand (unsigned long tag)
virtual const CostFunctionTypeGetCostFunction ()
virtual const MeasureTypeGetCurrentCost ()
virtual const unsigned int & GetCurrentIteration ()
virtual const unsigned int & GetCurrentLineIteration ()
virtual const ParametersTypeGetCurrentPosition ()
bool GetDebug () const
virtual const ParametersTypeGetInitialPosition ()
virtual const bool & GetMaximize ()
virtual const unsigned int & GetMaximumIteration ()
virtual unsigned int GetMaximumLineIteration () const
MetaDataDictionaryGetMetaDataDictionary (void)
const MetaDataDictionaryGetMetaDataDictionary (void) const
virtual const double & GetMetricWorstPossibleValue ()
virtual unsigned long GetMTime () const
virtual const char * GetNameOfClass () const
virtual int GetReferenceCount () const
virtual const ScalesTypeGetScales ()
virtual const double & GetStepLength ()
virtual const double & GetStepTolerance ()
const std::string GetStopConditionDescription () const
virtual bool GetUseUnitLengthGradient () const
MeasureType GetValue (const ParametersType &parameters) const
MeasureType GetValue () const
virtual const double & GetValueTolerance ()
bool HasObserver (const EventObject &event) const
void InvokeEvent (const EventObject &)
void InvokeEvent (const EventObject &) const
virtual void MaximizeOff ()
virtual void MaximizeOn ()
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 SetCatchGetValueException (bool _arg)
virtual void SetCostFunction (CostFunctionType *costFunction)
void SetDebug (bool debugFlag) const
virtual void SetInitialPosition (const ParametersType &param)
virtual void SetMaximize (bool _arg)
virtual void SetMaximumIteration (unsigned int _arg)
virtual void SetMaximumLineIteration (unsigned int _arg)
void SetMetaDataDictionary (const MetaDataDictionary &rhs)
virtual void SetMetricWorstPossibleValue (double _arg)
virtual void SetReferenceCount (int)
void SetScales (const ScalesType &scales)
virtual void SetStepLength (double _arg)
virtual void SetStepTolerance (double _arg)
void SetToFletchReeves ()
void SetToPolakRibiere ()
virtual void SetUseUnitLengthGradient (bool _arg)
virtual void SetValueTolerance (double _arg)
void StartOptimization ()
void StopOptimization ()
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 int InternalReferenceCountType

Protected Member Functions

 FRPROptimizer ()
virtual ~FRPROptimizer ()
virtual void BracketedLineOptimize (double ax, double bx, double cx, double fa, double fb, double fc, double *extX, double *extVal)
virtual void BracketedLineOptimize (double ax, double bx, double cx, double fa, double fb, double fc, double *extX, double *extVal, ParametersType &tempCoord)
double GetLineValue (double x) const
double GetLineValue (double x, ParametersType &tempCoord) const
virtual unsigned int GetSpaceDimension ()
virtual bool GetStop ()
virtual void GetValueAndDerivative (ParametersType &p, double *val, ParametersType *xi)
virtual void LineBracket (double *ax, double *bx, double *cx, double *fa, double *fb, double *fc)
virtual void LineBracket (double *ax, double *bx, double *cx, double *fa, double *fb, double *fc, ParametersType &tempCoord)
virtual void LineOptimize (ParametersType *p, ParametersType &xi, double *val)
virtual void LineOptimize (ParametersType *p, ParametersType &xi, double *val, ParametersType &tempCoord)
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
virtual void SetCurrentCost (double _arg)
virtual void SetCurrentIteration (unsigned int _arg)
void SetCurrentLinePoint (double x, double fx)
virtual void SetCurrentPosition (const ParametersType &param)
void SetLine (const ParametersType &origin, const vnl_vector< double > &direction)
void SetSpaceDimension (unsigned int dim)
virtual void SetStop (bool _arg)
void Shift (double *a, double *b, double *c, double d) const
void Swap (double *a, double *b) const

Protected Attributes

CostFunctionPointer m_CostFunction
ParametersType m_CurrentPosition
InternalReferenceCountType m_ReferenceCount
SimpleFastMutexLock m_ReferenceCountLock
bool m_ScalesInitialized

Private Types

enum  OptimizationType {
  FletchReeves,
  PolakRibiere
}

Private Member Functions

 FRPROptimizer (const FRPROptimizer &)

Private Attributes

OptimizationType m_OptimizationType
bool m_UseUnitLengthGradient

Detailed Description

Implements Fletch-Reeves & Polak-Ribiere optimization using dBrent line search.

This optimizer needs a cost function. This optimizer needs to be able to compute partial derivatives of the cost function with respect to each parameter.

The SetStepLength determines the initial distance to step in a line direction when bounding the minimum (using bracketing triple spaced using a derivative-based search strategy).

The StepTolerance terminates optimization when the parameter values are known to be within this (scaled) distance of the local extreme.

The ValueTolerance terminates optimization when the cost function values at the current parameters and at the local extreme are likely (within a second order approximation) to be within this is tolerance.

Definition at line 50 of file itkFRPROptimizer.h.


Member Typedef Documentation

Reimplemented from itk::PowellOptimizer.

Definition at line 58 of file itkFRPROptimizer.h.

Reimplemented from itk::PowellOptimizer.

Definition at line 70 of file itkFRPROptimizer.h.

Type of the Cost Function

Reimplemented from itk::PowellOptimizer.

Definition at line 66 of file itkFRPROptimizer.h.

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

Definition at line 64 of file itkSingleValuedNonLinearOptimizer.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.

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

Reimplemented from itk::PowellOptimizer.

Definition at line 60 of file itkFRPROptimizer.h.

Reimplemented from itk::PowellOptimizer.

Definition at line 57 of file itkFRPROptimizer.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::PowellOptimizer.

Definition at line 55 of file itkFRPROptimizer.h.

Reimplemented from itk::PowellOptimizer.

Definition at line 56 of file itkFRPROptimizer.h.


Member Enumeration Documentation

Enumerator:
FletchReeves 
PolakRibiere 

Definition at line 107 of file itkFRPROptimizer.h.


Constructor & Destructor Documentation

itk::FRPROptimizer::FRPROptimizer ( )
protected

Definition at line 29 of file itkFRPROptimizer.cxx.

itk::FRPROptimizer::~FRPROptimizer ( )
protectedvirtual

Definition at line 36 of file itkFRPROptimizer.cxx.

itk::FRPROptimizer::FRPROptimizer ( const FRPROptimizer )
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().

void itk::PowellOptimizer::BracketedLineOptimize ( double  ax,
double  bx,
double  cx,
double  fa,
double  fb,
double  fc,
double *  extX,
double *  extVal 
)
protectedvirtualinherited

Given a bracketing triple of points and their function values, returns a bounded extreme. These values are in parameter space, along the current line and wrt the current origin set via SetLine. Optimization terminates based on MaximumIteration, StepTolerance, or ValueTolerance. Implemented as Brent line optimers from NRC.

Definition at line 228 of file itkPowellOptimizer.cxx.

void itk::PowellOptimizer::BracketedLineOptimize ( double  ax,
double  bx,
double  cx,
double  fa,
double  fb,
double  fc,
double *  extX,
double *  extVal,
ParametersType tempCoord 
)
protectedvirtualinherited

Definition at line 238 of file itkPowellOptimizer.cxx.

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::FRPROptimizer::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::PowellOptimizer.

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 const bool& itk::PowellOptimizer::GetCatchGetValueException ( )
virtualinherited
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.

virtual const MeasureType& itk::PowellOptimizer::GetCurrentCost ( )
virtualinherited

Return Current Value

virtual const unsigned int& itk::PowellOptimizer::GetCurrentIteration ( )
virtualinherited

Return Current Iteration

virtual const unsigned int& itk::PowellOptimizer::GetCurrentLineIteration ( )
virtualinherited

Get the current line search iteration

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().

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().

double itk::PowellOptimizer::GetLineValue ( double  x) const
protectedinherited

Get the value of the n-dimensional cost function at this scalar step distance along the current line direction from the current line origin. Line origin and distances are set via SetLine

Definition at line 72 of file itkPowellOptimizer.cxx.

double itk::PowellOptimizer::GetLineValue ( double  x,
ParametersType tempCoord 
) const
protectedinherited

Definition at line 80 of file itkPowellOptimizer.cxx.

virtual const bool& itk::PowellOptimizer::GetMaximize ( )
virtualinherited
virtual const unsigned int& itk::PowellOptimizer::GetMaximumIteration ( )
virtualinherited
virtual unsigned int itk::PowellOptimizer::GetMaximumLineIteration ( ) const
virtualinherited
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.

virtual const double& itk::PowellOptimizer::GetMetricWorstPossibleValue ( )
virtualinherited
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::FRPROptimizer::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::PowellOptimizer.

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().

virtual unsigned int itk::PowellOptimizer::GetSpaceDimension ( )
protectedvirtualinherited
virtual const double& itk::PowellOptimizer::GetStepLength ( )
virtualinherited
virtual const double& itk::PowellOptimizer::GetStepTolerance ( )
virtualinherited
virtual bool itk::PowellOptimizer::GetStop ( )
protectedvirtualinherited
const std::string itk::PowellOptimizer::GetStopConditionDescription ( ) const
virtualinherited

Get the reason for termination

Reimplemented from itk::Optimizer.

Definition at line 547 of file itkPowellOptimizer.cxx.

virtual bool itk::FRPROptimizer::GetUseUnitLengthGradient ( ) const
virtual
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().

MeasureType itk::PowellOptimizer::GetValue ( void  ) const
inlineinherited

Definition at line 114 of file itkPowellOptimizer.h.

void itk::FRPROptimizer::GetValueAndDerivative ( ParametersType p,
double *  val,
ParametersType xi 
)
protectedvirtual

Get the value of the n-dimensional cost function at this scalar step distance along the current line direction from the current line origin. Line origin and distances are set via SetLine

Definition at line 42 of file itkFRPROptimizer.cxx.

virtual const double& itk::PowellOptimizer::GetValueTolerance ( )
virtualinherited
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.

void itk::PowellOptimizer::LineBracket ( double *  ax,
double *  bx,
double *  cx,
double *  fa,
double *  fb,
double *  fc 
)
protectedvirtualinherited

The LineBracket routine from NRC. Later reimplemented from the description of the method available in the Wikipedia.

Uses current origin and line direction (from SetLine) to find a triple of points (ax, bx, cx) that bracket the extreme "near" the origin. Search first considers the point StepLength distance from ax.

IMPORTANT: The value of ax and the value of the function at ax (i.e., fa), must both be provided to this function.

Definition at line 169 of file itkPowellOptimizer.cxx.

void itk::PowellOptimizer::LineBracket ( double *  ax,
double *  bx,
double *  cx,
double *  fa,
double *  fb,
double *  fc,
ParametersType tempCoord 
)
protectedvirtualinherited

Definition at line 178 of file itkPowellOptimizer.cxx.

void itk::FRPROptimizer::LineOptimize ( ParametersType p,
ParametersType xi,
double *  val 
)
protectedvirtual

Definition at line 71 of file itkFRPROptimizer.cxx.

void itk::FRPROptimizer::LineOptimize ( ParametersType p,
ParametersType xi,
double *  val,
ParametersType tempCoord 
)
protectedvirtual

Definition at line 79 of file itkFRPROptimizer.cxx.

virtual void itk::PowellOptimizer::MaximizeOff ( )
virtualinherited
virtual void itk::PowellOptimizer::MaximizeOn ( )
virtualinherited
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::FRPROptimizer::New ( )
static

Method for creation through the object factory.

Reimplemented from itk::PowellOptimizer.

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::FRPROptimizer::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

Print Self method

Reimplemented from itk::PowellOptimizer.

Definition at line 245 of file itkFRPROptimizer.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::PowellOptimizer::SetCatchGetValueException ( bool  _arg)
virtualinherited
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 itk::AmoebaOptimizer::SetCostFunction().

virtual void itk::PowellOptimizer::SetCurrentCost ( double  _arg)
protectedvirtualinherited
virtual void itk::PowellOptimizer::SetCurrentIteration ( unsigned int  _arg)
protectedvirtualinherited
void itk::PowellOptimizer::SetCurrentLinePoint ( double  x,
double  fx 
)
protectedinherited

Set the given scalar step distance (x) and function value (fx) as the "best-so-far" optimizer values.

Definition at line 113 of file itkPowellOptimizer.cxx.

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::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.

void itk::PowellOptimizer::SetLine ( const ParametersType origin,
const vnl_vector< double > &  direction 
)
protectedinherited

Used to specify the line direction through the n-dimensional parameter space the is currently being bracketed and optimized.

Definition at line 60 of file itkPowellOptimizer.cxx.

virtual void itk::PowellOptimizer::SetMaximize ( bool  _arg)
virtualinherited

Set if the Optimizer should Maximize the metric

virtual void itk::PowellOptimizer::SetMaximumIteration ( unsigned int  _arg)
virtualinherited

Set/Get maximum iteration limit.

virtual void itk::PowellOptimizer::SetMaximumLineIteration ( unsigned int  _arg)
virtualinherited

Set/Get the maximum number of line search iterations

void itk::Object::SetMetaDataDictionary ( const MetaDataDictionary rhs)
inherited
virtual void itk::PowellOptimizer::SetMetricWorstPossibleValue ( double  _arg)
virtualinherited
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::PowellOptimizer::SetSpaceDimension ( unsigned int  dim)
inlineprotectedinherited

Definition at line 202 of file itkPowellOptimizer.h.

virtual void itk::PowellOptimizer::SetStepLength ( double  _arg)
virtualinherited

Set/Get StepLength for the (scaled) spacing of the sampling of parameter space while bracketing the extremum

virtual void itk::PowellOptimizer::SetStepTolerance ( double  _arg)
virtualinherited

Set/Get StepTolerance. Once the local extreme is known to be within this distance of the current parameter values, optimization terminates

virtual void itk::PowellOptimizer::SetStop ( bool  _arg)
protectedvirtualinherited
void itk::FRPROptimizer::SetToFletchReeves ( )

Set it to the Fletch-Reeves optimizer

Definition at line 234 of file itkFRPROptimizer.cxx.

void itk::FRPROptimizer::SetToPolakRibiere ( )

Set it to the Fletch-Reeves optimizer

Definition at line 223 of file itkFRPROptimizer.cxx.

virtual void itk::FRPROptimizer::SetUseUnitLengthGradient ( bool  _arg)
virtual

Convert gradient to a unit length vector

virtual void itk::PowellOptimizer::SetValueTolerance ( double  _arg)
virtualinherited

Set/Get ValueTolerance. Once this current cost function value is known to be within this tolerance of the cost function value at the local extreme, optimization terminates

void itk::PowellOptimizer::Shift ( double *  a,
double *  b,
double *  c,
double  d 
) const
protectedinherited

Used in bracketing the extreme along the current line. Adapted from NRC

Definition at line 142 of file itkPowellOptimizer.cxx.

void itk::FRPROptimizer::StartOptimization ( void  )
virtual

Start optimization.

Reimplemented from itk::PowellOptimizer.

Definition at line 107 of file itkFRPROptimizer.cxx.

References itk::FRPR_TINY.

void itk::PowellOptimizer::StopOptimization ( void  )
inlineinherited

When users call StartOptimization, this value will be set false. By calling StopOptimization, this flag will be set true, and optimization will stop at the next iteration.

Definition at line 128 of file itkPowellOptimizer.h.

void itk::PowellOptimizer::Swap ( double *  a,
double *  b 
) const
protectedinherited

Used in bracketing the extreme along the current line. Adapted from NRC

Definition at line 132 of file itkPowellOptimizer.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

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

Definition at line 98 of file itkOptimizer.h.

OptimizationType itk::FRPROptimizer::m_OptimizationType
private

Definition at line 113 of file itkFRPROptimizer.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.

bool itk::FRPROptimizer::m_UseUnitLengthGradient
private

Definition at line 115 of file itkFRPROptimizer.h.


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

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