ITK/Release 4/Refactor Numerical Libraries/Inventory/Non-Linear Optimization: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
No edit summary
Line 50: Line 50:
   ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo/vnl_lbfgsb.cxx
   ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo/vnl_lbfgsb.cxx
   ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo/vnl_lbfgsb.h
   ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo/vnl_lbfgsb.h
== Amoeba Optimizer ==
== Conjugate Gradient Optimizer ==

Revision as of 12:46, 12 September 2011

Optimizers

LBFGSB Optimizer

The LBFGSB optimizer is commonly used for optimization problems involving a high dimensional parametric space.

The LBFGSB optimizer provides the functionality of defining bounds for each one of the parameters in the optimization space.

Examples

The optimizer is commonly used to drive Deformable registration problems.

Specific examples can be found in

  ITK/Examples/Registration/


  • DeformableRegistration4.cxx
  • DeformableRegistration6.cxx
  • DeformableRegistration7.cxx
  • DeformableRegistration8.cxx
  • DeformableRegistration12.cxx

They can be run by doing:

  ctest  -R   DeformableRegistration4   -V

The Code

In ITK

The ITK optimizer class can be found in

 ITK/Modules/Numerics/Optimizers

in the files

 ./src/itkLBFGSBOptimizer.cxx
 ./include/itkLBFGSBOptimizer.h

and a test is available at

./test/itkLBFGSBOptimizerTest.cxx


In VXL

The ITK class invokes the VXL class in

 ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo/vnl_lbfgsb.cxx
 ITK/Modules/ThirdParty/VNL/src/vxl/core/vnl/algo/vnl_lbfgsb.h


Amoeba Optimizer

Conjugate Gradient Optimizer