Optimizer derived from BestNeighbourOptimizer. More...
#include <cmtkBestDirectionOptimizer.h>
Public Types | |
typedef BestDirectionOptimizer | Self |
This class. | |
typedef Optimizer | Superclass |
Superclass. | |
Public Member Functions | |
cmtkGetSetMacroDefault (bool, UseMaxNorm, true) | |
Flag whether to use maximum (1) or Euclid (0) for normalization. | |
cmtkGetSetMacroDefault (Self::ParameterType, DirectionThreshold,-1) | |
Threshold for direction components. | |
cmtkGetSetMacro (int, RepeatLevelCount) | |
Number of repetitions of each search level, even if previously unsuccessful. | |
cmtkGetSetMacro (bool, AggressiveMode) | |
Agressive mode. | |
BestDirectionOptimizer (const Self::ParameterType stepFactor=0.5, const Self::ParameterType=0.1) | |
Constructor. | |
virtual CallbackResult | Optimize (CoordinateVector &, const Self::ParameterType=1, const Self::ParameterType=0) |
Optimize functional. | |
Private Attributes | |
Self::ParameterType | StepFactor |
Factor by which the step size is reduced after each pass. |
Optimizer derived from BestNeighbourOptimizer.
Definition at line 49 of file cmtkBestDirectionOptimizer.h.
This class.
Reimplemented from cmtk::Optimizer.
Definition at line 55 of file cmtkBestDirectionOptimizer.h.
Superclass.
Reimplemented from cmtk::Optimizer.
Definition at line 58 of file cmtkBestDirectionOptimizer.h.
cmtk::BestDirectionOptimizer::BestDirectionOptimizer | ( | const Self::ParameterType | stepFactor = 0.5 , |
const Self::ParameterType | = 0.1 |
||
) | [inline] |
Constructor.
Definition at line 90 of file cmtkBestDirectionOptimizer.h.
cmtk::BestDirectionOptimizer::cmtkGetSetMacro | ( | int | , |
RepeatLevelCount | |||
) |
Number of repetitions of each search level, even if previously unsuccessful.
This is one by default, so whenever no successful update was made, the level is finished. Setting this to values larger than 1 only makes sense if the optimized functional is changing over time, e.g., due to probabilistic effects.
cmtk::BestDirectionOptimizer::cmtkGetSetMacro | ( | bool | , |
AggressiveMode | |||
) |
Agressive mode.
If this flag is set, the optimization is continued at one level as long as there is an improvement to the target function at any step level. Otherwise, steps in the binary seach phase are not considered and search terminates earlier.
cmtk::BestDirectionOptimizer::cmtkGetSetMacroDefault | ( | Self::ParameterType | , |
DirectionThreshold | , | ||
- | 1 | ||
) |
Threshold for direction components.
Before searching in a certain directions, all components below this fraction of the maximum absolute component are set to zero. This is done to prevent changes in irrelevant parameters and thus support local recomputation when optimizing elastic deformation parameters for example. set this flag to 0 to disable thresholding; set it to 1 to remove all but the most significant components.
cmtk::BestDirectionOptimizer::cmtkGetSetMacroDefault | ( | bool | , |
UseMaxNorm | , | ||
true | |||
) |
Flag whether to use maximum (1) or Euclid (0) for normalization.
Factor by which the step size is reduced after each pass.
Definition at line 104 of file cmtkBestDirectionOptimizer.h.