Class ImageRegistrationMethod

java.lang.Object
org.itk.simple.ProcessObject
org.itk.simple.ImageRegistrationMethod

public class ImageRegistrationMethod extends ProcessObject
An interface method to the modular ITKv4 registration framework. This interface method class encapsulates typical registration usage by incorporating all the necessary elements for performing a simple image registration between two images. This method also allows for multistage registration whereby each stage is characterized by possibly different transforms and different image metrics. For example, many users will want to perform a linear registration followed by deformable registration where both stages are performed in multiple levels. Each level can be characterized by: the resolution of the virtual domain image (see below) smoothing of the fixed and moving images Multiple stages are handled by linking multiple instantiations of this class where the output transform is added to the optional composite transform input. See: itk::ImageRegistrationMethodv4 itk::ImageToImageMetricv4 itk::ObjectToObjectOptimizerBaseTemplate C++ includes: sitkImageRegistrationMethod.h
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static final class 
     
    static final class 
     
  • Field Summary

    Fields inherited from class org.itk.simple.ProcessObject

    swigCMemOwn
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
     
    itk::simple::ImageRegistrationMethod::ImageRegistrationMethod()
    protected
    ImageRegistrationMethod(long cPtr, boolean cMemoryOwn)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    itk::simple::ImageRegistrationMethod::~ImageRegistrationMethod() override
    execute(Image fixed, Image moving)
    Transform itk::simple::ImageRegistrationMethod::Execute(const Image &fixed, const Image &moving) Optimize the configured registration problem.
    protected void
     
    protected static long
     
    long
    unsigned int itk::simple::ImageRegistrationMethod::GetCurrentLevel() const
     
     
    boolean
     
     
    long
    uint64_t itk::simple::ImageRegistrationMethod::GetMetricNumberOfValidPoints() const Current number of points used of metric evaluation This is a active measurement connected to the registration processes during registration.
    const std::vector<double>& itk::simple::ImageRegistrationMethod::GetMetricSamplingPercentagePerLevel() const Get the percentage of pixels used for metric evaluation.
    double
    double itk::simple::ImageRegistrationMethod::GetMetricValue() const
     
    std::string itk::simple::ImageRegistrationMethod::GetName() const override return user readable name for the filter
    double
    double itk::simple::ImageRegistrationMethod::GetOptimizerConvergenceValue() const
    long
    unsigned int itk::simple::ImageRegistrationMethod::GetOptimizerIteration() const Active measurements which can be obtained during call backs.
    double
    double itk::simple::ImageRegistrationMethod::GetOptimizerLearningRate() const
    std::vector<double> itk::simple::ImageRegistrationMethod::GetOptimizerPosition() const
    std::vector<double> itk::simple::ImageRegistrationMethod::GetOptimizerScales() const Get the OptimizerScales.
    std::string itk::simple::ImageRegistrationMethod::GetOptimizerStopConditionDescription() const Measurement updated at the end of execution.
     
    double
    metricEvaluate(Image fixed, Image moving)
    double itk::simple::ImageRegistrationMethod::MetricEvaluate(const Image &fixed, const Image &moving) Get the value of the metric given the state of the method.
    void
     
    void
     
    void
     
    void
     
    void
     
    void
     
    void
    setInitialTransform(Transform transform, boolean inPlace)
     
    void
    void itk::simple::ImageRegistrationMethod::SetInitialTransformAsBSpline(BSplineTransform &transform, bool inPlace=true, const std::vector< unsigned int > &scaleFactors=std::vector< unsigned int >()) Set an initial BSpline transform to optimize.
    void
    setInitialTransformAsBSpline(BSplineTransform transform, boolean inPlace)
    void itk::simple::ImageRegistrationMethod::SetInitialTransformAsBSpline(BSplineTransform &transform, bool inPlace=true, const std::vector< unsigned int > &scaleFactors=std::vector< unsigned int >()) Set an initial BSpline transform to optimize.
    void
    setInitialTransformAsBSpline(BSplineTransform transform, boolean inPlace, VectorUInt32 scaleFactors)
    void itk::simple::ImageRegistrationMethod::SetInitialTransformAsBSpline(BSplineTransform &transform, bool inPlace=true, const std::vector< unsigned int > &scaleFactors=std::vector< unsigned int >()) Set an initial BSpline transform to optimize.
    void
     
    void
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsANTSNeighborhoodCorrelation(unsigned int radius) Use normalized cross correlation using a small neighborhood for each voxel between two images, with speed optimizations for dense registration.
    void
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsCorrelation() Use negative normalized cross correlation image metric.
    void
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsDemons(double intensityDifferenceThreshold=0.001) Use demons image metric.
    void
    setMetricAsDemons(double intensityDifferenceThreshold)
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsDemons(double intensityDifferenceThreshold=0.001) Use demons image metric.
    void
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsJointHistogramMutualInformation(unsigned int numberOfHistogramBins=20, double varianceForJointPDFSmoothing=1.5) Use mutual information between two images.
    void
    setMetricAsJointHistogramMutualInformation(long numberOfHistogramBins)
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsJointHistogramMutualInformation(unsigned int numberOfHistogramBins=20, double varianceForJointPDFSmoothing=1.5) Use mutual information between two images.
    void
    setMetricAsJointHistogramMutualInformation(long numberOfHistogramBins, double varianceForJointPDFSmoothing)
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsJointHistogramMutualInformation(unsigned int numberOfHistogramBins=20, double varianceForJointPDFSmoothing=1.5) Use mutual information between two images.
    void
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsMattesMutualInformation(unsigned int numberOfHistogramBins=50) Use the mutual information between two images to be registered using the method of Mattes et al.
    void
    setMetricAsMattesMutualInformation(long numberOfHistogramBins)
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsMattesMutualInformation(unsigned int numberOfHistogramBins=50) Use the mutual information between two images to be registered using the method of Mattes et al.
    void
    Self& itk::simple::ImageRegistrationMethod::SetMetricAsMeanSquares() Use negative means squares image metric.
    void
    Self& itk::simple::ImageRegistrationMethod::SetMetricFixedMask(const Image &binaryMask) Set an image mask in order to restrict the sampled points for the metric.
    void
    Self& itk::simple::ImageRegistrationMethod::SetMetricMovingMask(const Image &binaryMask) Set an image mask in order to restrict the sampled points for the metric in the moving image space.
    void
    setMetricSamplingPercentage(double percentage)
     
    void
    setMetricSamplingPercentage(double percentage, long seed)
     
    void
     
    void
     
    void
    Self& itk::simple::ImageRegistrationMethod::SetMetricSamplingStrategy(MetricSamplingStrategyType strategy) Set sampling strategy for sample generation.
    void
     
    void
     
    void
     
    void
    setOptimizerAsAmoeba(double simplexDelta, long numberOfIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsAmoeba(double simplexDelta, unsigned int numberOfIterations, double parametersConvergenceTolerance=1e-8, double functionConvergenceTolerance=1e-4, bool withRestarts=false) Set optimizer to Nelder-Mead downhill simplex algorithm.
    void
    setOptimizerAsAmoeba(double simplexDelta, long numberOfIterations, double parametersConvergenceTolerance)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsAmoeba(double simplexDelta, unsigned int numberOfIterations, double parametersConvergenceTolerance=1e-8, double functionConvergenceTolerance=1e-4, bool withRestarts=false) Set optimizer to Nelder-Mead downhill simplex algorithm.
    void
    setOptimizerAsAmoeba(double simplexDelta, long numberOfIterations, double parametersConvergenceTolerance, double functionConvergenceTolerance)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsAmoeba(double simplexDelta, unsigned int numberOfIterations, double parametersConvergenceTolerance=1e-8, double functionConvergenceTolerance=1e-4, bool withRestarts=false) Set optimizer to Nelder-Mead downhill simplex algorithm.
    void
    setOptimizerAsAmoeba(double simplexDelta, long numberOfIterations, double parametersConvergenceTolerance, double functionConvergenceTolerance, boolean withRestarts)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsAmoeba(double simplexDelta, unsigned int numberOfIterations, double parametersConvergenceTolerance=1e-8, double functionConvergenceTolerance=1e-4, bool withRestarts=false) Set optimizer to Nelder-Mead downhill simplex algorithm.
    void
    setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
    void
    setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
    void
    setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
    void
    setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
    void
    setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
    void
    setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
    void
    setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
    void
    setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
    void
    setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate, double maximumStepSizeInPhysicalUnits)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
    void
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsExhaustive(const std::vector< unsigned int > &numberOfSteps, double stepLength=1.0) Set the optimizer to sample the metric at regular steps.
    void
    setOptimizerAsExhaustive(VectorUInt32 numberOfSteps, double stepLength)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsExhaustive(const std::vector< unsigned int > &numberOfSteps, double stepLength=1.0) Set the optimizer to sample the metric at regular steps.
    void
    setOptimizerAsGradientDescent(double learningRate, long numberOfIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer.
    void
    setOptimizerAsGradientDescent(double learningRate, long numberOfIterations, double convergenceMinimumValue)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer.
    void
    setOptimizerAsGradientDescent(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer.
    void
    setOptimizerAsGradientDescent(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer.
    void
    setOptimizerAsGradientDescent(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate, double maximumStepSizeInPhysicalUnits)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer.
    void
    setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search.
    void
    setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search.
    void
    setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search.
    void
    setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search.
    void
    setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search.
    void
    setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search.
    void
    setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search.
    void
    setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search.
    void
    setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate, double maximumStepSizeInPhysicalUnits)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search.
    void
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    setOptimizerAsLBFGS2(double solutionAccuracy)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance, long lineSearchMaximumEvaluations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance, long lineSearchMaximumEvaluations, double lineSearchMinimumStep)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance, long lineSearchMaximumEvaluations, double lineSearchMinimumStep, double lineSearchMaximumStep)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance, long lineSearchMaximumEvaluations, double lineSearchMinimumStep, double lineSearchMaximumStep, double lineSearchAccuracy)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds.
    void
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
    void
    setOptimizerAsLBFGSB(double gradientConvergenceTolerance)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
    void
    setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
    void
    setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
    void
    setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
    void
    setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations, double costFunctionConvergenceFactor)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
    void
    setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations, double costFunctionConvergenceFactor, double lowerBound)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
    void
    setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations, double costFunctionConvergenceFactor, double lowerBound, double upperBound)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
    void
    setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations, double costFunctionConvergenceFactor, double lowerBound, double upperBound, boolean trace)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds.
    void
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy.
    void
    setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy.
    void
    setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy.
    void
    setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon, double initialRadius)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy.
    void
    setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon, double initialRadius, double growthFactor)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy.
    void
    setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon, double initialRadius, double growthFactor, double shrinkFactor)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy.
    void
    setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon, double initialRadius, double growthFactor, double shrinkFactor, long seed)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy.
    void
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search.
    void
    setOptimizerAsPowell(long numberOfIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search.
    void
    setOptimizerAsPowell(long numberOfIterations, long maximumLineIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search.
    void
    setOptimizerAsPowell(long numberOfIterations, long maximumLineIterations, double stepLength)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search.
    void
    setOptimizerAsPowell(long numberOfIterations, long maximumLineIterations, double stepLength, double stepTolerance)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search.
    void
    setOptimizerAsPowell(long numberOfIterations, long maximumLineIterations, double stepLength, double stepTolerance, double valueTolerance)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search.
    void
    setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer.
    void
    setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations, double relaxationFactor)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer.
    void
    setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations, double relaxationFactor, double gradientMagnitudeTolerance)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer.
    void
    setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations, double relaxationFactor, double gradientMagnitudeTolerance, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer.
    void
    setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations, double relaxationFactor, double gradientMagnitudeTolerance, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate, double maximumStepSizeInPhysicalUnits)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer.
    void
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerScales(const std::vector< double > &scales) Manually set per parameter weighting for the transform parameters.
    void
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromIndexShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimate scales from maximum voxel shift in index space cause by parameter change.
    void
    setOptimizerScalesFromIndexShift(long centralRegionRadius)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromIndexShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimate scales from maximum voxel shift in index space cause by parameter change.
    void
    setOptimizerScalesFromIndexShift(long centralRegionRadius, double smallParameterVariation)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromIndexShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimate scales from maximum voxel shift in index space cause by parameter change.
    void
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromJacobian(unsigned int centralRegionRadius=5) Estimate scales from Jacobian norms.
    void
    setOptimizerScalesFromJacobian(long centralRegionRadius)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromJacobian(unsigned int centralRegionRadius=5) Estimate scales from Jacobian norms.
    void
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromPhysicalShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimating scales of transform parameters a step sizes, from the maximum voxel shift in physical space caused by a parameter change.
    void
    setOptimizerScalesFromPhysicalShift(long centralRegionRadius)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromPhysicalShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimating scales of transform parameters a step sizes, from the maximum voxel shift in physical space caused by a parameter change.
    void
    setOptimizerScalesFromPhysicalShift(long centralRegionRadius, double smallParameterVariation)
    Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromPhysicalShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimating scales of transform parameters a step sizes, from the maximum voxel shift in physical space caused by a parameter change.
    void
     
    void
    Self& itk::simple::ImageRegistrationMethod::SetShrinkFactorsPerLevel(const std::vector< unsigned int > &shrinkFactors) Set the isotropic shrink factors for each level.
    void
     
    void
    Self& itk::simple::ImageRegistrationMethod::SetSmoothingSigmasPerLevel(const std::vector< double > &smoothingSigmas) Set the sigmas of Gaussian used for smoothing.
    void
    setVirtualDomain(VectorUInt32 virtualSize, VectorDouble virtualOrigin, VectorDouble virtualSpacing, VectorDouble virtualDirection)
     
    void
     
    void
     
    void
     
    boolean
    bool itk::simple::ImageRegistrationMethod::StopRegistration() Stop Registration if actively running.
    protected static long
     
    std::string itk::simple::ImageRegistrationMethod::ToString() const override Print the information about the object to a string.

    Methods inherited from class java.lang.Object

    clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • ImageRegistrationMethod

      protected ImageRegistrationMethod(long cPtr, boolean cMemoryOwn)
    • ImageRegistrationMethod

      public ImageRegistrationMethod()
      itk::simple::ImageRegistrationMethod::ImageRegistrationMethod()
  • Method Details

    • getCPtr

      protected static long getCPtr(ImageRegistrationMethod obj)
    • swigRelease

      protected static long swigRelease(ImageRegistrationMethod obj)
    • finalize

      protected void finalize()
      Overrides:
      finalize in class ProcessObject
    • delete

      public void delete()
      itk::simple::ImageRegistrationMethod::~ImageRegistrationMethod() override
      Overrides:
      delete in class ProcessObject
    • getName

      public String getName()
      std::string itk::simple::ImageRegistrationMethod::GetName() const override return user readable name for the filter
      Overrides:
      getName in class ProcessObject
    • toString

      public String toString()
      std::string itk::simple::ImageRegistrationMethod::ToString() const override Print the information about the object to a string. If called when the process is being executed ( during a callback ), the ITK Optimizer and Transform objects will be printed.
      Overrides:
      toString in class ProcessObject
    • getInterpolator

      public InterpolatorEnum getInterpolator()
    • setInterpolator

      public void setInterpolator(InterpolatorEnum Interpolator)
    • setInitialTransform

      public void setInitialTransform(Transform transform, boolean inPlace)
    • setInitialTransform

      public void setInitialTransform(Transform transform)
    • getInitialTransform

      public Transform getInitialTransform()
    • getInitialTransformInPlace

      public boolean getInitialTransformInPlace()
    • setInitialTransformAsBSpline

      public void setInitialTransformAsBSpline(BSplineTransform transform, boolean inPlace, VectorUInt32 scaleFactors)
      void itk::simple::ImageRegistrationMethod::SetInitialTransformAsBSpline(BSplineTransform &transform, bool inPlace=true, const std::vector< unsigned int > &scaleFactors=std::vector< unsigned int >()) Set an initial BSpline transform to optimize. A specialization of SetInitialTransform for BSplineTransforms which can take an additional scaleFactors parameter. The scaleFactors specifies the a isotropic scaling factor per level for the BSpline transform mesh size with respect to the initial transform. For example to double the BSpline mesh resolution at each of 3 levels the vector [1,2,4] should be provided. If a per level scale factor is 0 or omitted than no transform adapter will be created for that level. See: itk::BSplineTransformParametersAdaptor
    • setInitialTransformAsBSpline

      public void setInitialTransformAsBSpline(BSplineTransform transform, boolean inPlace)
      void itk::simple::ImageRegistrationMethod::SetInitialTransformAsBSpline(BSplineTransform &transform, bool inPlace=true, const std::vector< unsigned int > &scaleFactors=std::vector< unsigned int >()) Set an initial BSpline transform to optimize. A specialization of SetInitialTransform for BSplineTransforms which can take an additional scaleFactors parameter. The scaleFactors specifies the a isotropic scaling factor per level for the BSpline transform mesh size with respect to the initial transform. For example to double the BSpline mesh resolution at each of 3 levels the vector [1,2,4] should be provided. If a per level scale factor is 0 or omitted than no transform adapter will be created for that level. See: itk::BSplineTransformParametersAdaptor
    • setInitialTransformAsBSpline

      public void setInitialTransformAsBSpline(BSplineTransform transform)
      void itk::simple::ImageRegistrationMethod::SetInitialTransformAsBSpline(BSplineTransform &transform, bool inPlace=true, const std::vector< unsigned int > &scaleFactors=std::vector< unsigned int >()) Set an initial BSpline transform to optimize. A specialization of SetInitialTransform for BSplineTransforms which can take an additional scaleFactors parameter. The scaleFactors specifies the a isotropic scaling factor per level for the BSpline transform mesh size with respect to the initial transform. For example to double the BSpline mesh resolution at each of 3 levels the vector [1,2,4] should be provided. If a per level scale factor is 0 or omitted than no transform adapter will be created for that level. See: itk::BSplineTransformParametersAdaptor
    • setMovingInitialTransform

      public void setMovingInitialTransform(Transform transform)
    • getMovingInitialTransform

      public Transform getMovingInitialTransform()
    • setFixedInitialTransform

      public void setFixedInitialTransform(Transform transform)
    • getFixedInitialTransform

      public Transform getFixedInitialTransform()
    • setVirtualDomain

      public void setVirtualDomain(VectorUInt32 virtualSize, VectorDouble virtualOrigin, VectorDouble virtualSpacing, VectorDouble virtualDirection)
    • setVirtualDomainFromImage

      public void setVirtualDomainFromImage(Image virtualImage)
    • setMetricAsANTSNeighborhoodCorrelation

      public void setMetricAsANTSNeighborhoodCorrelation(long radius)
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsANTSNeighborhoodCorrelation(unsigned int radius) Use normalized cross correlation using a small neighborhood for each voxel between two images, with speed optimizations for dense registration. See: itk::ANTSNeighborhoodCorrelationImageToImageMetricv4
    • setMetricAsCorrelation

      public void setMetricAsCorrelation()
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsCorrelation() Use negative normalized cross correlation image metric. See: itk::CorrelationImageToImageMetricv4
    • setMetricAsDemons

      public void setMetricAsDemons(double intensityDifferenceThreshold)
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsDemons(double intensityDifferenceThreshold=0.001) Use demons image metric. See: itk::DemonsImageToImageMetricv4
    • setMetricAsDemons

      public void setMetricAsDemons()
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsDemons(double intensityDifferenceThreshold=0.001) Use demons image metric. See: itk::DemonsImageToImageMetricv4
    • setMetricAsJointHistogramMutualInformation

      public void setMetricAsJointHistogramMutualInformation(long numberOfHistogramBins, double varianceForJointPDFSmoothing)
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsJointHistogramMutualInformation(unsigned int numberOfHistogramBins=20, double varianceForJointPDFSmoothing=1.5) Use mutual information between two images. See: itk::JointHistogramMutualInformationImageToImageMetricv4
    • setMetricAsJointHistogramMutualInformation

      public void setMetricAsJointHistogramMutualInformation(long numberOfHistogramBins)
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsJointHistogramMutualInformation(unsigned int numberOfHistogramBins=20, double varianceForJointPDFSmoothing=1.5) Use mutual information between two images. See: itk::JointHistogramMutualInformationImageToImageMetricv4
    • setMetricAsJointHistogramMutualInformation

      public void setMetricAsJointHistogramMutualInformation()
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsJointHistogramMutualInformation(unsigned int numberOfHistogramBins=20, double varianceForJointPDFSmoothing=1.5) Use mutual information between two images. See: itk::JointHistogramMutualInformationImageToImageMetricv4
    • setMetricAsMeanSquares

      public void setMetricAsMeanSquares()
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsMeanSquares() Use negative means squares image metric. See: itk::MeanSquaresImageToImageMetricv4
    • setMetricAsMattesMutualInformation

      public void setMetricAsMattesMutualInformation(long numberOfHistogramBins)
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsMattesMutualInformation(unsigned int numberOfHistogramBins=50) Use the mutual information between two images to be registered using the method of Mattes et al. See: itk::MattesMutualInformationImageToImageMetricv4
    • setMetricAsMattesMutualInformation

      public void setMetricAsMattesMutualInformation()
      Self& itk::simple::ImageRegistrationMethod::SetMetricAsMattesMutualInformation(unsigned int numberOfHistogramBins=50) Use the mutual information between two images to be registered using the method of Mattes et al. See: itk::MattesMutualInformationImageToImageMetricv4
    • setOptimizerAsConjugateGradientLineSearch

      public void setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate, double maximumStepSizeInPhysicalUnits)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization. See: itk::ConjugateGradientLineSearchOptimizerv4Template
    • setOptimizerAsConjugateGradientLineSearch

      public void setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization. See: itk::ConjugateGradientLineSearchOptimizerv4Template
    • setOptimizerAsConjugateGradientLineSearch

      public void setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization. See: itk::ConjugateGradientLineSearchOptimizerv4Template
    • setOptimizerAsConjugateGradientLineSearch

      public void setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization. See: itk::ConjugateGradientLineSearchOptimizerv4Template
    • setOptimizerAsConjugateGradientLineSearch

      public void setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization. See: itk::ConjugateGradientLineSearchOptimizerv4Template
    • setOptimizerAsConjugateGradientLineSearch

      public void setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization. See: itk::ConjugateGradientLineSearchOptimizerv4Template
    • setOptimizerAsConjugateGradientLineSearch

      public void setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization. See: itk::ConjugateGradientLineSearchOptimizerv4Template
    • setOptimizerAsConjugateGradientLineSearch

      public void setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization. See: itk::ConjugateGradientLineSearchOptimizerv4Template
    • setOptimizerAsConjugateGradientLineSearch

      public void setOptimizerAsConjugateGradientLineSearch(double learningRate, long numberOfIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsConjugateGradientLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization. See: itk::ConjugateGradientLineSearchOptimizerv4Template
    • setOptimizerAsRegularStepGradientDescent

      public void setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations, double relaxationFactor, double gradientMagnitudeTolerance, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate, double maximumStepSizeInPhysicalUnits)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer. See: itk::RegularStepGradientDescentOptimizerv4
    • setOptimizerAsRegularStepGradientDescent

      public void setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations, double relaxationFactor, double gradientMagnitudeTolerance, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer. See: itk::RegularStepGradientDescentOptimizerv4
    • setOptimizerAsRegularStepGradientDescent

      public void setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations, double relaxationFactor, double gradientMagnitudeTolerance)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer. See: itk::RegularStepGradientDescentOptimizerv4
    • setOptimizerAsRegularStepGradientDescent

      public void setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations, double relaxationFactor)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer. See: itk::RegularStepGradientDescentOptimizerv4
    • setOptimizerAsRegularStepGradientDescent

      public void setOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, long numberOfIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsRegularStepGradientDescent(double learningRate, double minStep, unsigned int numberOfIterations, double relaxationFactor=0.5, double gradientMagnitudeTolerance=1e-4, EstimateLearningRateType estimateLearningRate=Never, double maximumStepSizeInPhysicalUnits=0.0) Regular Step Gradient descent optimizer. See: itk::RegularStepGradientDescentOptimizerv4
    • setOptimizerAsGradientDescent

      public void setOptimizerAsGradientDescent(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate, double maximumStepSizeInPhysicalUnits)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer. See: itk::GradientDescentOptimizerv4Template
    • setOptimizerAsGradientDescent

      public void setOptimizerAsGradientDescent(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer. See: itk::GradientDescentOptimizerv4Template
    • setOptimizerAsGradientDescent

      public void setOptimizerAsGradientDescent(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer. See: itk::GradientDescentOptimizerv4Template
    • setOptimizerAsGradientDescent

      public void setOptimizerAsGradientDescent(double learningRate, long numberOfIterations, double convergenceMinimumValue)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer. See: itk::GradientDescentOptimizerv4Template
    • setOptimizerAsGradientDescent

      public void setOptimizerAsGradientDescent(double learningRate, long numberOfIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescent(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer. See: itk::GradientDescentOptimizerv4Template
    • setOptimizerAsGradientDescentLineSearch

      public void setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate, double maximumStepSizeInPhysicalUnits)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search. See: itk::GradientDescentLineSearchOptimizerv4Template
    • setOptimizerAsGradientDescentLineSearch

      public void setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations, ImageRegistrationMethod.EstimateLearningRateType estimateLearningRate)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search. See: itk::GradientDescentLineSearchOptimizerv4Template
    • setOptimizerAsGradientDescentLineSearch

      public void setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon, long lineSearchMaximumIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search. See: itk::GradientDescentLineSearchOptimizerv4Template
    • setOptimizerAsGradientDescentLineSearch

      public void setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit, double lineSearchEpsilon)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search. See: itk::GradientDescentLineSearchOptimizerv4Template
    • setOptimizerAsGradientDescentLineSearch

      public void setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit, double lineSearchUpperLimit)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search. See: itk::GradientDescentLineSearchOptimizerv4Template
    • setOptimizerAsGradientDescentLineSearch

      public void setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize, double lineSearchLowerLimit)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search. See: itk::GradientDescentLineSearchOptimizerv4Template
    • setOptimizerAsGradientDescentLineSearch

      public void setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue, long convergenceWindowSize)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search. See: itk::GradientDescentLineSearchOptimizerv4Template
    • setOptimizerAsGradientDescentLineSearch

      public void setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations, double convergenceMinimumValue)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search. See: itk::GradientDescentLineSearchOptimizerv4Template
    • setOptimizerAsGradientDescentLineSearch

      public void setOptimizerAsGradientDescentLineSearch(double learningRate, long numberOfIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsGradientDescentLineSearch(double learningRate, unsigned int numberOfIterations, double convergenceMinimumValue=1e-6, unsigned int convergenceWindowSize=10, double lineSearchLowerLimit=0, double lineSearchUpperLimit=5.0, double lineSearchEpsilon=0.01, unsigned int lineSearchMaximumIterations=20, EstimateLearningRateType estimateLearningRate=Once, double maximumStepSizeInPhysicalUnits=0.0) Gradient descent optimizer with a golden section line search. See: itk::GradientDescentLineSearchOptimizerv4Template
    • setOptimizerAsLBFGSB

      public void setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations, double costFunctionConvergenceFactor, double lowerBound, double upperBound, boolean trace)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The default parameters utilize LBFGSB in unbounded mode. See: itk::LBFGSBOptimizerv4
    • setOptimizerAsLBFGSB

      public void setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations, double costFunctionConvergenceFactor, double lowerBound, double upperBound)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The default parameters utilize LBFGSB in unbounded mode. See: itk::LBFGSBOptimizerv4
    • setOptimizerAsLBFGSB

      public void setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations, double costFunctionConvergenceFactor, double lowerBound)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The default parameters utilize LBFGSB in unbounded mode. See: itk::LBFGSBOptimizerv4
    • setOptimizerAsLBFGSB

      public void setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations, double costFunctionConvergenceFactor)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The default parameters utilize LBFGSB in unbounded mode. See: itk::LBFGSBOptimizerv4
    • setOptimizerAsLBFGSB

      public void setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections, long maximumNumberOfFunctionEvaluations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The default parameters utilize LBFGSB in unbounded mode. See: itk::LBFGSBOptimizerv4
    • setOptimizerAsLBFGSB

      public void setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations, long maximumNumberOfCorrections)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The default parameters utilize LBFGSB in unbounded mode. See: itk::LBFGSBOptimizerv4
    • setOptimizerAsLBFGSB

      public void setOptimizerAsLBFGSB(double gradientConvergenceTolerance, long numberOfIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The default parameters utilize LBFGSB in unbounded mode. See: itk::LBFGSBOptimizerv4
    • setOptimizerAsLBFGSB

      public void setOptimizerAsLBFGSB(double gradientConvergenceTolerance)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The default parameters utilize LBFGSB in unbounded mode. See: itk::LBFGSBOptimizerv4
    • setOptimizerAsLBFGSB

      public void setOptimizerAsLBFGSB()
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGSB(double gradientConvergenceTolerance=1e-5, unsigned int numberOfIterations=500, unsigned int maximumNumberOfCorrections=5, unsigned int maximumNumberOfFunctionEvaluations=2000, double costFunctionConvergenceFactor=1e+7, double lowerBound=std::numeric_limits< double >::min(), double upperBound=std::numeric_limits< double >::max(), bool trace=false) Limited memory Broyden Fletcher Goldfarb Shannon minimization with simple bounds. The default parameters utilize LBFGSB in unbounded mode. See: itk::LBFGSBOptimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance, long lineSearchMaximumEvaluations, double lineSearchMinimumStep, double lineSearchMaximumStep, double lineSearchAccuracy)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance, long lineSearchMaximumEvaluations, double lineSearchMinimumStep, double lineSearchMaximumStep)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance, long lineSearchMaximumEvaluations, double lineSearchMinimumStep)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance, long lineSearchMaximumEvaluations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance, double deltaConvergenceTolerance)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy, long deltaConvergenceDistance)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations, long hessianApproximateAccuracy)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2(double solutionAccuracy, long numberOfIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2(double solutionAccuracy)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsLBFGS2

      public void setOptimizerAsLBFGS2()
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsLBFGS2(double solutionAccuracy=1e-5, unsigned int numberOfIterations=0, unsigned int hessianApproximateAccuracy=6, unsigned int deltaConvergenceDistance=0, double deltaConvergenceTolerance=1e-5, unsigned int lineSearchMaximumEvaluations=40, double lineSearchMinimumStep=1e-20, double lineSearchMaximumStep=1e20, double lineSearchAccuracy=1e-4) Limited memory Broyden Fletcher Goldfarb Shannon minimization without bounds. The default parameters utilize LBFGSB in unbounded mode. This version is from LibLBFGS. There are upto 3 stopping criteria: the solution accuracy which is the magnitude of the gradient the delta convergence which ensures the decrease of the metric maximum number of iterations See: itk::LBFGS2Optimizerv4
    • setOptimizerAsExhaustive

      public void setOptimizerAsExhaustive(VectorUInt32 numberOfSteps, double stepLength)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsExhaustive(const std::vector< unsigned int > &numberOfSteps, double stepLength=1.0) Set the optimizer to sample the metric at regular steps. At each iteration the GetOptimizerIteration, can be used to index into the sampling grid along with the GetCurrentMetricValue. The resulting transform and value at the end of execution is the best location. The OptimizerScales can be used to perform anisotropic sampling. This optimizer is not suitable for use in conjunction with the multiple scales. See: itk::ExhaustiveOptimizerv4
    • setOptimizerAsExhaustive

      public void setOptimizerAsExhaustive(VectorUInt32 numberOfSteps)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsExhaustive(const std::vector< unsigned int > &numberOfSteps, double stepLength=1.0) Set the optimizer to sample the metric at regular steps. At each iteration the GetOptimizerIteration, can be used to index into the sampling grid along with the GetCurrentMetricValue. The resulting transform and value at the end of execution is the best location. The OptimizerScales can be used to perform anisotropic sampling. This optimizer is not suitable for use in conjunction with the multiple scales. See: itk::ExhaustiveOptimizerv4
    • setOptimizerAsAmoeba

      public void setOptimizerAsAmoeba(double simplexDelta, long numberOfIterations, double parametersConvergenceTolerance, double functionConvergenceTolerance, boolean withRestarts)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsAmoeba(double simplexDelta, unsigned int numberOfIterations, double parametersConvergenceTolerance=1e-8, double functionConvergenceTolerance=1e-4, bool withRestarts=false) Set optimizer to Nelder-Mead downhill simplex algorithm. See: itk::AmoebaOptimizerv4
    • setOptimizerAsAmoeba

      public void setOptimizerAsAmoeba(double simplexDelta, long numberOfIterations, double parametersConvergenceTolerance, double functionConvergenceTolerance)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsAmoeba(double simplexDelta, unsigned int numberOfIterations, double parametersConvergenceTolerance=1e-8, double functionConvergenceTolerance=1e-4, bool withRestarts=false) Set optimizer to Nelder-Mead downhill simplex algorithm. See: itk::AmoebaOptimizerv4
    • setOptimizerAsAmoeba

      public void setOptimizerAsAmoeba(double simplexDelta, long numberOfIterations, double parametersConvergenceTolerance)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsAmoeba(double simplexDelta, unsigned int numberOfIterations, double parametersConvergenceTolerance=1e-8, double functionConvergenceTolerance=1e-4, bool withRestarts=false) Set optimizer to Nelder-Mead downhill simplex algorithm. See: itk::AmoebaOptimizerv4
    • setOptimizerAsAmoeba

      public void setOptimizerAsAmoeba(double simplexDelta, long numberOfIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsAmoeba(double simplexDelta, unsigned int numberOfIterations, double parametersConvergenceTolerance=1e-8, double functionConvergenceTolerance=1e-4, bool withRestarts=false) Set optimizer to Nelder-Mead downhill simplex algorithm. See: itk::AmoebaOptimizerv4
    • setOptimizerWeights

      public void setOptimizerWeights(VectorDouble weights)
    • getOptimizerWeights

      public VectorDouble getOptimizerWeights()
    • setOptimizerAsPowell

      public void setOptimizerAsPowell(long numberOfIterations, long maximumLineIterations, double stepLength, double stepTolerance, double valueTolerance)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search. See: itk::PowellOptimizerv4
    • setOptimizerAsPowell

      public void setOptimizerAsPowell(long numberOfIterations, long maximumLineIterations, double stepLength, double stepTolerance)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search. See: itk::PowellOptimizerv4
    • setOptimizerAsPowell

      public void setOptimizerAsPowell(long numberOfIterations, long maximumLineIterations, double stepLength)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search. See: itk::PowellOptimizerv4
    • setOptimizerAsPowell

      public void setOptimizerAsPowell(long numberOfIterations, long maximumLineIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search. See: itk::PowellOptimizerv4
    • setOptimizerAsPowell

      public void setOptimizerAsPowell(long numberOfIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search. See: itk::PowellOptimizerv4
    • setOptimizerAsPowell

      public void setOptimizerAsPowell()
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsPowell(unsigned int numberOfIterations=100, unsigned int maximumLineIterations=100, double stepLength=1, double stepTolerance=1e-6, double valueTolerance=1e-6) Powell optimization using Brent line search. See: itk::PowellOptimizerv4
    • setOptimizerAsOnePlusOneEvolutionary

      public void setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon, double initialRadius, double growthFactor, double shrinkFactor, long seed)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy. The seed parameter is used to seed the pseudo-random number generator. If the seed parameter is 0, then the wall clock is used to seed, otherwise the fixed seed is used for reproducible behavior. See: itk::OnePlusOneEvolutionaryOptimizerv4
    • setOptimizerAsOnePlusOneEvolutionary

      public void setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon, double initialRadius, double growthFactor, double shrinkFactor)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy. The seed parameter is used to seed the pseudo-random number generator. If the seed parameter is 0, then the wall clock is used to seed, otherwise the fixed seed is used for reproducible behavior. See: itk::OnePlusOneEvolutionaryOptimizerv4
    • setOptimizerAsOnePlusOneEvolutionary

      public void setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon, double initialRadius, double growthFactor)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy. The seed parameter is used to seed the pseudo-random number generator. If the seed parameter is 0, then the wall clock is used to seed, otherwise the fixed seed is used for reproducible behavior. See: itk::OnePlusOneEvolutionaryOptimizerv4
    • setOptimizerAsOnePlusOneEvolutionary

      public void setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon, double initialRadius)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy. The seed parameter is used to seed the pseudo-random number generator. If the seed parameter is 0, then the wall clock is used to seed, otherwise the fixed seed is used for reproducible behavior. See: itk::OnePlusOneEvolutionaryOptimizerv4
    • setOptimizerAsOnePlusOneEvolutionary

      public void setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations, double epsilon)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy. The seed parameter is used to seed the pseudo-random number generator. If the seed parameter is 0, then the wall clock is used to seed, otherwise the fixed seed is used for reproducible behavior. See: itk::OnePlusOneEvolutionaryOptimizerv4
    • setOptimizerAsOnePlusOneEvolutionary

      public void setOptimizerAsOnePlusOneEvolutionary(long numberOfIterations)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy. The seed parameter is used to seed the pseudo-random number generator. If the seed parameter is 0, then the wall clock is used to seed, otherwise the fixed seed is used for reproducible behavior. See: itk::OnePlusOneEvolutionaryOptimizerv4
    • setOptimizerAsOnePlusOneEvolutionary

      public void setOptimizerAsOnePlusOneEvolutionary()
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerAsOnePlusOneEvolutionary(unsigned int numberOfIterations=100, double epsilon=1.5e-4, double initialRadius=1.01, double growthFactor=-1.0, double shrinkFactor=-1.0, unsigned int seed=sitkWallClock) 1+1 evolutionary optimizer strategy. The seed parameter is used to seed the pseudo-random number generator. If the seed parameter is 0, then the wall clock is used to seed, otherwise the fixed seed is used for reproducible behavior. See: itk::OnePlusOneEvolutionaryOptimizerv4
    • setOptimizerScales

      public void setOptimizerScales(VectorDouble scales)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerScales(const std::vector< double > &scales) Manually set per parameter weighting for the transform parameters.
    • setOptimizerScalesFromJacobian

      public void setOptimizerScalesFromJacobian(long centralRegionRadius)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromJacobian(unsigned int centralRegionRadius=5) Estimate scales from Jacobian norms. This scales estimator works well with versor based transforms. See: itk::RegistrationParameterScalesFromJacobian
    • setOptimizerScalesFromJacobian

      public void setOptimizerScalesFromJacobian()
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromJacobian(unsigned int centralRegionRadius=5) Estimate scales from Jacobian norms. This scales estimator works well with versor based transforms. See: itk::RegistrationParameterScalesFromJacobian
    • setOptimizerScalesFromIndexShift

      public void setOptimizerScalesFromIndexShift(long centralRegionRadius, double smallParameterVariation)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromIndexShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimate scales from maximum voxel shift in index space cause by parameter change. See: itk::RegistrationParameterScalesFromIndexShift
    • setOptimizerScalesFromIndexShift

      public void setOptimizerScalesFromIndexShift(long centralRegionRadius)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromIndexShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimate scales from maximum voxel shift in index space cause by parameter change. See: itk::RegistrationParameterScalesFromIndexShift
    • setOptimizerScalesFromIndexShift

      public void setOptimizerScalesFromIndexShift()
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromIndexShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimate scales from maximum voxel shift in index space cause by parameter change. See: itk::RegistrationParameterScalesFromIndexShift
    • setOptimizerScalesFromPhysicalShift

      public void setOptimizerScalesFromPhysicalShift(long centralRegionRadius, double smallParameterVariation)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromPhysicalShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimating scales of transform parameters a step sizes, from the maximum voxel shift in physical space caused by a parameter change. See: itk::RegistrationParameterScalesFromPhysicalShift
    • setOptimizerScalesFromPhysicalShift

      public void setOptimizerScalesFromPhysicalShift(long centralRegionRadius)
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromPhysicalShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimating scales of transform parameters a step sizes, from the maximum voxel shift in physical space caused by a parameter change. See: itk::RegistrationParameterScalesFromPhysicalShift
    • setOptimizerScalesFromPhysicalShift

      public void setOptimizerScalesFromPhysicalShift()
      Self& itk::simple::ImageRegistrationMethod::SetOptimizerScalesFromPhysicalShift(unsigned int centralRegionRadius=5, double smallParameterVariation=0.01) Estimating scales of transform parameters a step sizes, from the maximum voxel shift in physical space caused by a parameter change. See: itk::RegistrationParameterScalesFromPhysicalShift
    • setMetricFixedMask

      public void setMetricFixedMask(Image binaryMask)
      Self& itk::simple::ImageRegistrationMethod::SetMetricFixedMask(const Image &binaryMask) Set an image mask in order to restrict the sampled points for the metric. The image is expected to be in the same physical space as the FixedImage, and if the pixel type is not UInt8 than the image will base cast. See: itk::ImageToImageMetricv4::SetFixedImageMask
    • setMetricMovingMask

      public void setMetricMovingMask(Image binaryMask)
      Self& itk::simple::ImageRegistrationMethod::SetMetricMovingMask(const Image &binaryMask) Set an image mask in order to restrict the sampled points for the metric in the moving image space. The image is expected to be in the same physical space as the MovingImage, and if the pixel type is not UInt8 than the image will base cast. See: itk::ImageToImageMetricv4::SetMovingImageMask
    • setMetricSamplingPercentage

      public void setMetricSamplingPercentage(double percentage, long seed)
    • setMetricSamplingPercentage

      public void setMetricSamplingPercentage(double percentage)
    • setMetricSamplingPercentagePerLevel

      public void setMetricSamplingPercentagePerLevel(VectorDouble percentage, long seed)
    • setMetricSamplingPercentagePerLevel

      public void setMetricSamplingPercentagePerLevel(VectorDouble percentage)
    • getMetricSamplingPercentagePerLevel

      public VectorDouble getMetricSamplingPercentagePerLevel()
      const std::vector<double>& itk::simple::ImageRegistrationMethod::GetMetricSamplingPercentagePerLevel() const Get the percentage of pixels used for metric evaluation.
    • setMetricSamplingStrategy

      public void setMetricSamplingStrategy(ImageRegistrationMethod.MetricSamplingStrategyType strategy)
      Self& itk::simple::ImageRegistrationMethod::SetMetricSamplingStrategy(MetricSamplingStrategyType strategy) Set sampling strategy for sample generation. See: itk::ImageRegistrationMethodv4::SetMetricSamplingStrategy
    • setMetricUseFixedImageGradientFilter

      public void setMetricUseFixedImageGradientFilter(boolean arg0)
    • metricUseFixedImageGradientFilterOn

      public void metricUseFixedImageGradientFilterOn()
    • metricUseFixedImageGradientFilterOff

      public void metricUseFixedImageGradientFilterOff()
    • setMetricUseMovingImageGradientFilter

      public void setMetricUseMovingImageGradientFilter(boolean arg0)
    • metricUseMovingImageGradientFilterOn

      public void metricUseMovingImageGradientFilterOn()
    • metricUseMovingImageGradientFilterOff

      public void metricUseMovingImageGradientFilterOff()
    • setShrinkFactorsPerLevel

      public void setShrinkFactorsPerLevel(VectorUInt32 shrinkFactors)
      Self& itk::simple::ImageRegistrationMethod::SetShrinkFactorsPerLevel(const std::vector< unsigned int > &shrinkFactors) Set the isotropic shrink factors for each level. The virtual domain image is shrunk by this factor relative to the full size of the original virtual domain. See: itk::ImageRegistrationMethodv4::SetShrinkFactorsPerLevel
    • setSmoothingSigmasPerLevel

      public void setSmoothingSigmasPerLevel(VectorDouble smoothingSigmas)
      Self& itk::simple::ImageRegistrationMethod::SetSmoothingSigmasPerLevel(const std::vector< double > &smoothingSigmas) Set the sigmas of Gaussian used for smoothing. The smoothing is applied to both the fixed and the moving images at each level. The number of smoothing sigmas must match the number of shrink factors. See: itk::ImageRegistrationMethodv4::SetSmoothingSigmasPerLevel
    • setSmoothingSigmasAreSpecifiedInPhysicalUnits

      public void setSmoothingSigmasAreSpecifiedInPhysicalUnits(boolean arg)
    • smoothingSigmasAreSpecifiedInPhysicalUnitsOn

      public void smoothingSigmasAreSpecifiedInPhysicalUnitsOn()
    • smoothingSigmasAreSpecifiedInPhysicalUnitsOff

      public void smoothingSigmasAreSpecifiedInPhysicalUnitsOff()
    • execute

      public Transform execute(Image fixed, Image moving)
      Transform itk::simple::ImageRegistrationMethod::Execute(const Image &fixed, const Image &moving) Optimize the configured registration problem.
    • metricEvaluate

      public double metricEvaluate(Image fixed, Image moving)
      double itk::simple::ImageRegistrationMethod::MetricEvaluate(const Image &fixed, const Image &moving) Get the value of the metric given the state of the method. Passing a fixed and moving image, this method constructs and configures a metric object to obtain the value. This will take into consideration the current transforms, metric, interpolator, and image masks. It does not take into consideration the sampling strategy, smoothing sigmas, or the shrink factors.
    • getOptimizerIteration

      public long getOptimizerIteration()
      unsigned int itk::simple::ImageRegistrationMethod::GetOptimizerIteration() const Active measurements which can be obtained during call backs. This is a measurement. Its value is updated in the Execute methods, so the value will only be valid after an execution.
    • getOptimizerPosition

      public VectorDouble getOptimizerPosition()
      std::vector<double> itk::simple::ImageRegistrationMethod::GetOptimizerPosition() const
    • getOptimizerLearningRate

      public double getOptimizerLearningRate()
      double itk::simple::ImageRegistrationMethod::GetOptimizerLearningRate() const
    • getOptimizerConvergenceValue

      public double getOptimizerConvergenceValue()
      double itk::simple::ImageRegistrationMethod::GetOptimizerConvergenceValue() const
    • getMetricValue

      public double getMetricValue()
      double itk::simple::ImageRegistrationMethod::GetMetricValue() const
    • getMetricNumberOfValidPoints

      public long getMetricNumberOfValidPoints()
      uint64_t itk::simple::ImageRegistrationMethod::GetMetricNumberOfValidPoints() const Current number of points used of metric evaluation This is a active measurement connected to the registration processes during registration. This number is number of point in the virtual domain which overlap the fixed image and the moving image. It is valid for sparse or dense sampling. After execution of registration this will contain the last value.
    • getCurrentLevel

      public long getCurrentLevel()
      unsigned int itk::simple::ImageRegistrationMethod::GetCurrentLevel() const
    • getOptimizerScales

      public VectorDouble getOptimizerScales()
      std::vector<double> itk::simple::ImageRegistrationMethod::GetOptimizerScales() const Get the OptimizerScales. If the scales are explicitly set then this method returns those values. If an estimator is used then this is an active measurement returning the scales estimated by the estimator and is only available during execution.
    • getOptimizerStopConditionDescription

      public String getOptimizerStopConditionDescription()
      std::string itk::simple::ImageRegistrationMethod::GetOptimizerStopConditionDescription() const Measurement updated at the end of execution.
    • stopRegistration

      public boolean stopRegistration()
      bool itk::simple::ImageRegistrationMethod::StopRegistration() Stop Registration if actively running. This is an active method which can be called during a callback. Invoking this method will halt the registration at the current iteration, if supported by the optimizer. The LBFGSB, LBFGS2, and the Amoeba optimizers do not support user stopping. If user stopping is not supported or the optimizer is available ( not executed ), then false will be returned.