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

From KitwarePublic
Jump to navigationJump to search
 
(3 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 24: Line 26:
   ctest  -R  DeformableRegistration4  -V
   ctest  -R  DeformableRegistration4  -V


= The Code =


== In ITK ==
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
The ITK optimizer class can be found in
Line 42: Line 54:




== In VXL ==
==== In VXL ====


The ITK class invokes the VXL class in
The ITK class invokes the VXL class in
Line 48: Line 60:
   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 ==

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