![]() |
Orfeo Toolbox
3.16
|
Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. More...
#include <itkLBFGSBOptimizer.h>
Inheritance diagram for itk::LBFGSBOptimizer:
Collaboration diagram for itk::LBFGSBOptimizer:Public Types | |
| typedef Array< long > | BoundSelectionType |
| typedef Array< double > | BoundValueType |
| typedef ReceptorMemberCommand < Self > | CommandType |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef CostFunctionType::Pointer | CostFunctionPointer |
| typedef SingleValuedCostFunction | CostFunctionType |
| typedef CostFunctionType::DerivativeType | DerivativeType |
| typedef vnl_vector< long > | InternalBoundSelectionType |
| typedef vnl_vector< double > | InternalBoundValueType |
| typedef LBFGSBOptimizerHelper | InternalOptimizerType |
| typedef CostFunctionType::MeasureType | MeasureType |
| typedef Superclass::ParametersType | ParametersType |
| typedef SmartPointer< Self > | Pointer |
| typedef Superclass::ScalesType | ScalesType |
| typedef LBFGSBOptimizer | Self |
| typedef SingleValuedNonLinearVnlOptimizer | 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 BoundSelectionType & | GetBoundSelection () |
| virtual const ParametersType & | GetCachedCurrentPosition () |
| virtual const DerivativeType & | GetCachedDerivative () |
| virtual const MeasureType & | GetCachedValue () |
| Command * | GetCommand (unsigned long tag) |
| virtual const CostFunctionType * | GetCostFunction () |
| virtual double | GetCostFunctionConvergenceFactor () |
| virtual const unsigned int & | GetCurrentIteration () |
| virtual const ParametersType & | GetCurrentPosition () |
| bool | GetDebug () const |
| virtual const double & | GetInfinityNormOfProjectedGradient () |
| virtual const ParametersType & | GetInitialPosition () |
| virtual const BoundValueType & | GetLowerBound () |
| virtual const bool & | GetMaximize () |
| virtual unsigned int | GetMaximumNumberOfCorrections () |
| virtual unsigned int | GetMaximumNumberOfEvaluations () |
| virtual unsigned int | GetMaximumNumberOfIterations () |
| MetaDataDictionary & | GetMetaDataDictionary (void) |
| const MetaDataDictionary & | GetMetaDataDictionary (void) const |
| bool | GetMinimize () const |
| virtual unsigned long | GetMTime () const |
| virtual const char * | GetNameOfClass () const |
| virtual double | GetProjectedGradientTolerance () |
| virtual int | GetReferenceCount () const |
| virtual const ScalesType & | GetScales () |
| const std::string | GetStopConditionDescription () const |
| virtual bool | GetTrace () |
| virtual const BoundValueType & | GetUpperBound () |
| MeasureType | GetValue (const ParametersType ¶meters) 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 | SetBoundSelection (const BoundSelectionType &select) |
| virtual void | SetCostFunction (CostFunctionType *costFunction) |
| virtual void | SetCostFunction (SingleValuedCostFunction *costFunction) |
| virtual void | SetCostFunctionConvergenceFactor (double) |
| void | SetDebug (bool debugFlag) const |
| virtual void | SetInitialPosition (const ParametersType ¶m) |
| virtual void | SetLowerBound (const BoundValueType &value) |
| virtual void | SetMaximize (bool _arg) |
| virtual void | SetMaximumNumberOfCorrections (unsigned int) |
| virtual void | SetMaximumNumberOfEvaluations (unsigned int) |
| virtual void | SetMaximumNumberOfIterations (unsigned int) |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| void | SetMinimize (bool v) |
| virtual void | SetProjectedGradientTolerance (double) |
| virtual void | SetReferenceCount (int) |
| void | SetScales (const ScalesType &scales) |
| void | SetScales (const ScalesType &) |
| virtual void | SetTrace (bool flag) |
| virtual void | SetUpperBound (const BoundValueType &value) |
| void | StartOptimization (void) |
| virtual void | TraceOff () |
| virtual void | TraceOn () |
| 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 | |
| LBFGSBOptimizer () | |
| virtual | ~LBFGSBOptimizer () |
| const CostFunctionAdaptorType * | GetCostFunctionAdaptor (void) const |
| CostFunctionAdaptorType * | GetCostFunctionAdaptor (void) |
| CostFunctionAdaptorType * | GetNonConstCostFunctionAdaptor (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 ¶m) |
Protected Attributes | |
| CostFunctionPointer | m_CostFunction |
| ParametersType | m_CurrentPosition |
| InternalReferenceCountType | m_ReferenceCount |
| SimpleFastMutexLock | m_ReferenceCountLock |
| bool | m_ScalesInitialized |
Private Member Functions | |
| LBFGSBOptimizer (const Self &) | |
| void | operator= (const Self &) |
Private Attributes | |
| BoundSelectionType | m_BoundSelection |
| double | m_CostFunctionConvergenceFactor |
| unsigned int | m_CurrentIteration |
| double | m_InfinityNormOfProjectedGradient |
| BoundValueType | m_LowerBound |
| unsigned int | m_MaximumNumberOfCorrections |
| unsigned int | m_MaximumNumberOfEvaluations |
| unsigned int | m_MaximumNumberOfIterations |
| bool | m_OptimizerInitialized |
| double | m_ProjectedGradientTolerance |
| OStringStream | m_StopConditionDescription |
| bool | m_Trace |
| BoundValueType | m_UpperBound |
| InternalOptimizerType * | m_VnlOptimizer |
Friends | |
| class | LBFGSBOptimizerHelper |
Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
This class is a wrapper for converted fortan code for performing limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The algorithm miminizes a nonlinear function f(x) of n variables subject to simple bound constraints of l <= x <= u.
See also the documentation in Numerics/lbfgsb.c
References:
[1] R. H. Byrd, P. Lu and J. Nocedal. A Limited Memory Algorithm for Bound Constrained Optimization, (1995), SIAM Journal on Scientific and Statistical Computing , 16, 5, pp. 1190-1208.
[2] C. Zhu, R. H. Byrd and J. Nocedal. L-BFGS-B: Algorithm 778: L-BFGS-B, FORTRAN routines for large scale bound constrained optimization (1997), ACM Transactions on Mathematical Software, Vol 23, Num. 4, pp. 550 - 560.
Definition at line 59 of file itkLBFGSBOptimizer.h.
| typedef Array<long> itk::LBFGSBOptimizer::BoundSelectionType |
BoundSelection type Use for defining the boundary condition for each variables.
Definition at line 83 of file itkLBFGSBOptimizer.h.
| typedef Array<double> itk::LBFGSBOptimizer::BoundValueType |
BoundValue type. Use for defining the lower and upper bounds on the variables.
Definition at line 73 of file itkLBFGSBOptimizer.h.
|
inherited |
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.
| typedef SmartPointer<const Self> itk::LBFGSBOptimizer::ConstPointer |
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.
Definition at line 67 of file itkLBFGSBOptimizer.h.
|
protected |
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.
Definition at line 177 of file itkLBFGSBOptimizer.h.
|
inherited |
Reimplemented in itk::OnePlusOneEvolutionaryOptimizer, itk::PowellOptimizer, itk::FRPROptimizer, and itk::RegularStepGradientDescentOptimizer.
Definition at line 56 of file itkSingleValuedNonLinearOptimizer.h.
Type of the Cost Function
Reimplemented in itk::OnePlusOneEvolutionaryOptimizer, itk::PowellOptimizer, itk::FRPROptimizer, and itk::RegularStepGradientDescentOptimizer.
Definition at line 55 of file itkSingleValuedNonLinearOptimizer.h.
|
inherited |
Derivative type. It defines a type used to return the cost function derivative.
Definition at line 64 of file itkSingleValuedNonLinearOptimizer.h.
| typedef vnl_vector<long> itk::LBFGSBOptimizer::InternalBoundSelectionType |
Internal boundary selection storage type
Definition at line 89 of file itkLBFGSBOptimizer.h.
| typedef vnl_vector<double> itk::LBFGSBOptimizer::InternalBoundValueType |
Internal boundary value storage type
Definition at line 86 of file itkLBFGSBOptimizer.h.
The vnl optimizer
Definition at line 92 of file itkLBFGSBOptimizer.h.
|
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.
|
inherited |
Parameters type. It defines a position in the optimization search space.
Reimplemented from itk::NonLinearOptimizer.
Reimplemented in itk::PowellOptimizer, itk::QuaternionRigidTransformGradientDescentOptimizer, itk::AmoebaOptimizer, and itk::FRPROptimizer.
Definition at line 48 of file itkSingleValuedNonLinearOptimizer.h.
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.
Definition at line 66 of file itkLBFGSBOptimizer.h.
|
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 64 of file itkLBFGSBOptimizer.h.
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.
Definition at line 65 of file itkLBFGSBOptimizer.h.
|
protected |
Constructor
Definition at line 63 of file itkLBFGSBOptimizer.cxx.
|
protectedvirtual |
Destructor
Definition at line 89 of file itkLBFGSBOptimizer.cxx.
|
private |
|
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().
|
inherited |
Definition at line 401 of file itkObject.cxx.
References itk::SubjectImplementation::AddObserver().
|
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 |
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.
|
virtualinherited |
Turn debugging output off.
Definition at line 253 of file itkObject.cxx.
|
virtualinherited |
Turn debugging output on.
Definition at line 242 of file itkObject.cxx.
|
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 |
Get bound selection array
Definition at line 260 of file itkLBFGSBOptimizer.cxx.
|
virtualinherited |
|
virtualinherited |
|
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().
|
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().
|
virtualinherited |
Get the cost function.
|
protectedinherited |
Definition at line 72 of file itkSingleValuedNonLinearVnlOptimizer.cxx.
|
protectedinherited |
Definition at line 80 of file itkSingleValuedNonLinearVnlOptimizer.cxx.
|
virtual |
|
virtual |
Get the current iteration number.
|
virtualinherited |
Get current position of the optimization.
Referenced by CommandIterationUpdate::Execute().
|
inherited |
Get the value of the debug flag.
Definition at line 264 of file itkObject.cxx.
Referenced by otb::ogr::ImageReference< double >::GetDebug().
|
staticinherited |
Get the value of the global debug output control flag.
Definition at line 381 of file itkObject.cxx.
|
virtual |
Get the current infinity norm of the project gradient of the cost function.
|
virtualinherited |
Get the position to initialize the optimization.
Referenced by itk::SPSAOptimizer::GuessParameters().
|
virtual |
Get lower bound
Definition at line 192 of file itkLBFGSBOptimizer.cxx.
|
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 |
|
virtual |
|
virtual |
|
inherited |
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().
|
inherited |
Reimplemented in otb::ImageMetadataInterfaceBase.
Definition at line 543 of file itkObject.cxx.
References NULL.
|
inlineinherited |
Definition at line 72 of file itkSingleValuedNonLinearVnlOptimizer.h.
|
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 |
Run-time type information (and related methods).
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.
Referenced by GetStopConditionDescription().
|
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.
|
virtual |
|
inlinevirtualinherited |
Gets the reference count on this object.
Definition at line 105 of file itkLightObject.h.
|
virtualinherited |
Get current parameters scaling.
Referenced by itk::SPSAOptimizer::ComputeGradient().
|
virtual |
Get the reason for termination
Reimplemented from itk::Optimizer.
Definition at line 499 of file itkLBFGSBOptimizer.cxx.
References GetNameOfClass(), m_CostFunctionConvergenceFactor, m_CurrentIteration, m_MaximumNumberOfEvaluations, m_ProjectedGradientTolerance, m_StopConditionDescription, m_VnlOptimizer, and v3p_netlib_dpmeps_().
|
virtual |
|
virtual |
Get upper bound
Definition at line 231 of file itkLBFGSBOptimizer.cxx.
|
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().
| LBFGSBOptimizer::MeasureType itk::LBFGSBOptimizer::GetValue | ( | void | ) | const |
Get the current cost function value.
Return Current Value
Definition at line 202 of file itkLBFGSBOptimizer.cxx.
|
inlinestaticinherited |
Definition at line 100 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
Referenced by itk::OutputWindow::DisplayText(), itk::Win32OutputWindow::PromptText(), and itk::Win32OutputWindow::WndProc().
|
inlinestaticinherited |
Definition at line 98 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
|
inherited |
Return true if an observer is registered for this event.
Definition at line 467 of file itkObject.cxx.
|
inherited |
Call Execute on all the Commands observing this event id.
Definition at line 446 of file itkObject.cxx.
Referenced by otb::Wrapper::Application::AddProcess(), itk::ParallelSparseFieldLevelSetImageFilter< TInputImage, TOutputImage >::IterateThreaderCallback(), and itk::VTKImageExportBase::UpdateDataCallback().
|
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.
|
virtualinherited |
|
virtualinherited |
|
inlineinherited |
Definition at line 78 of file itkSingleValuedNonLinearVnlOptimizer.h.
|
inlineinherited |
Definition at line 76 of file itkSingleValuedNonLinearVnlOptimizer.h.
|
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(), 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 |
Method for creation through the object factory.
Reimplemented from itk::SingleValuedNonLinearOptimizer.
|
private |
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.
|
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<<().
|
protectedvirtualinherited |
Define a default print header for all objects.
Definition at line 320 of file itkLightObject.cxx.
|
protectedinherited |
Definition at line 478 of file itkObject.cxx.
|
protectedvirtual |
PrintSelf
Reimplemented from itk::SingleValuedNonLinearVnlOptimizer.
Definition at line 99 of file itkLBFGSBOptimizer.cxx.
|
protectedvirtualinherited |
Define a default print trailer for all objects.
Definition at line 331 of file itkLightObject.cxx.
|
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().
|
inherited |
Remove all observers .
Definition at line 435 of file itkObject.cxx.
|
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 |
Set the boundary condition for each variable, where select[i] = 0 if x[i] is unbounded, = 1 if x[i] has only a lower bound, = 2 if x[i] has both lower and upper bounds, and = 3 if x[1] has only an upper bound
Set bound selection array
Definition at line 242 of file itkLBFGSBOptimizer.cxx.
|
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 |
Plug in a Cost Function into the optimizer
Connect a Cost Function
Implements itk::SingleValuedNonLinearVnlOptimizer.
Definition at line 354 of file itkLBFGSBOptimizer.cxx.
References itk::CostFunction::GetNumberOfParameters(), m_BoundSelection, itk::SingleValuedNonLinearOptimizer::m_CostFunction, m_CostFunctionConvergenceFactor, m_LowerBound, m_MaximumNumberOfCorrections, m_MaximumNumberOfEvaluations, m_OptimizerInitialized, m_ProjectedGradientTolerance, m_UpperBound, m_VnlOptimizer, itk::Object::Modified(), and itk::SingleValuedNonLinearVnlOptimizer::SetCostFunctionAdaptor().
|
protectedinherited |
Definition at line 52 of file itkSingleValuedNonLinearVnlOptimizer.cxx.
References itk::SingleValuedVnlCostFunctionAdaptor::AddObserver().
Referenced by SetCostFunction().
|
virtual |
Set/Get the CostFunctionConvergenceFactor. Algorithm terminates when the reduction in cost function is less than factor * epsmcj where epsmch is the machine precision. Typical values for factor: 1e+12 for low accuracy; 1e+7 for moderate accuracy and 1e+1 for extremely high accuracy.
Definition at line 274 of file itkLBFGSBOptimizer.cxx.
|
protectedvirtualinherited |
|
inherited |
Set the value of the debug flag. A non-zero value turns debugging on.
Definition at line 275 of file itkObject.cxx.
|
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().
|
virtualinherited |
Set the position to initialize the optimization.
Set the initial position
Definition at line 53 of file itkOptimizer.cxx.
|
virtual |
Set the lower bound value for each variable.
Set lower bound
Definition at line 173 of file itkLBFGSBOptimizer.cxx.
|
virtualinherited |
|
virtual |
Set/Get the MaximumNumberOfCorrections. Default is 5
Definition at line 337 of file itkLBFGSBOptimizer.cxx.
|
virtual |
Set/Get the MaximumNumberOfEvaluations. Default is 500
Definition at line 323 of file itkLBFGSBOptimizer.cxx.
|
virtual |
Set/Get the MaximumNumberOfIterations. Default is 500
Definition at line 313 of file itkLBFGSBOptimizer.cxx.
|
inherited |
Reimplemented in otb::ImageMetadataInterfaceBase.
Definition at line 554 of file itkObject.cxx.
References NULL.
Referenced by otb::VectorImage< TPixel, VImageDimension >::CopyInformation(), and otb::Image< TPixel, VImageDimension >::CopyInformation().
|
inlineinherited |
Definition at line 74 of file itkSingleValuedNonLinearVnlOptimizer.h.
|
virtual |
Set/Get the ProjectedGradientTolerance. Algorithm terminates when the project gradient is below the tolerance. Default value is 1e-5.
Definition at line 298 of file itkLBFGSBOptimizer.cxx.
|
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.
|
inherited |
Set current parameters scaling.
Set scaling as an array of factors
Definition at line 40 of file itkOptimizer.cxx.
|
inline |
This optimizer does not support scaling of the derivatives.
Definition at line 154 of file itkLBFGSBOptimizer.h.
|
virtual |
Set/Get the optimizer trace flag. If set to true, the optimizer prints out information every iteration.
Set the optimizer trace flag
Definition at line 152 of file itkLBFGSBOptimizer.cxx.
|
virtual |
Set the upper bound value for each variable.
Set upper bound
Definition at line 212 of file itkLBFGSBOptimizer.cxx.
|
virtual |
Start optimization with an initial value.
Start the optimization
Reimplemented from itk::Optimizer.
Definition at line 398 of file itkLBFGSBOptimizer.cxx.
References itk::Array< TValueType >::Size().
|
virtual |
|
virtual |
|
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().
|
friend |
Definition at line 185 of file itkLBFGSBOptimizer.h.
|
private |
Definition at line 193 of file itkLBFGSBOptimizer.h.
Referenced by SetCostFunction().
|
protectedinherited |
Definition at line 80 of file itkSingleValuedNonLinearOptimizer.h.
Referenced by itk::SPSAOptimizer::GuessParameters(), and SetCostFunction().
|
private |
Definition at line 195 of file itkLBFGSBOptimizer.h.
Referenced by GetStopConditionDescription(), and SetCostFunction().
|
private |
Definition at line 201 of file itkLBFGSBOptimizer.h.
Referenced by GetStopConditionDescription().
|
protectedinherited |
Definition at line 98 of file itkOptimizer.h.
|
private |
Definition at line 202 of file itkLBFGSBOptimizer.h.
|
private |
Definition at line 191 of file itkLBFGSBOptimizer.h.
Referenced by SetCostFunction().
|
private |
Definition at line 199 of file itkLBFGSBOptimizer.h.
Referenced by SetCostFunction().
|
private |
Definition at line 198 of file itkLBFGSBOptimizer.h.
Referenced by GetStopConditionDescription(), and SetCostFunction().
|
private |
Definition at line 197 of file itkLBFGSBOptimizer.h.
|
private |
Definition at line 188 of file itkLBFGSBOptimizer.h.
Referenced by SetCostFunction().
|
private |
Definition at line 196 of file itkLBFGSBOptimizer.h.
Referenced by GetStopConditionDescription(), and SetCostFunction().
|
mutableprotectedinherited |
Number of uses of this object by other objects.
Definition at line 141 of file itkLightObject.h.
|
mutableprotectedinherited |
Mutex lock to protect modification to the reference count
Definition at line 144 of file itkLightObject.h.
|
protectedinherited |
Definition at line 93 of file itkOptimizer.h.
|
mutableprivate |
Definition at line 190 of file itkLBFGSBOptimizer.h.
Referenced by GetStopConditionDescription().
|
private |
Definition at line 187 of file itkLBFGSBOptimizer.h.
|
private |
Definition at line 192 of file itkLBFGSBOptimizer.h.
Referenced by SetCostFunction().
|
private |
Definition at line 189 of file itkLBFGSBOptimizer.h.
Referenced by GetStopConditionDescription(), and SetCostFunction().