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

From KitwarePublic
Jump to navigationJump to search
No edit summary
 
(5 intermediate revisions by one other user not shown)
Line 1: Line 1:
= The Optimizer =
= Optimizers =
 
== LBFGSB Optimizer ==


The LBFGSB optimizer is commonly used for optimization problems involving a high dimensional parametric space.
The LBFGSB optimizer is commonly used for optimization problems involving a high dimensional parametric space.
Line 5: Line 7:
The LBFGSB optimizer provides the functionality of defining bounds for each one of the parameters in the optimization space.
The LBFGSB optimizer provides the functionality of defining bounds for each one of the parameters in the optimization space.


= Examples =
=== Examples ===


The optimizer is commonly used to drive Deformable registration problems.
The optimizer is commonly used to drive Deformable registration problems.
Line 22: Line 24:
They can be run by doing:
They can be run by doing:


   ctest -R  DeformableRegistration4
   ctest -R  DeformableRegistration4   -V
 
 
Of particular interest is the 3D example in
 
* DeformableRegistration8.cxx
 
Because it uses
 
* The LBFSGB optimizer
* And computes in 3D image
 
=== 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 ==

Latest revision as of 16:01, 9 December 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


Of particular interest is the 3D example in

  • DeformableRegistration8.cxx

Because it uses

  • The LBFSGB optimizer
  • And computes in 3D image

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