# This file was automatically generated by SWIG (https://www.swig.org).
# Version 4.3.1
#
# Do not make changes to this file unless you know what you are doing - modify
# the SWIG interface file instead.


import collections

from sys import version_info as _version_info
if _version_info < (3, 7, 0):
    raise RuntimeError("Python 3.7 or later required")

from . import _ITKCommonPython


from . import _ITKRegistrationMethodsv4Python



from sys import version_info as _swig_python_version_info
# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _itkSyNImageRegistrationMethodPython
else:
    import _itkSyNImageRegistrationMethodPython

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_repr(self):
    try:
        strthis = "proxy of " + self.this.__repr__()
    except __builtin__.Exception:
        strthis = ""
    return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)


def _swig_setattr_nondynamic_instance_variable(set):
    def set_instance_attr(self, name, value):
        if name == "this":
            set(self, name, value)
        elif name == "thisown":
            self.this.own(value)
        elif hasattr(self, name) and isinstance(getattr(type(self), name), property):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add instance attributes to %s" % self)
    return set_instance_attr


def _swig_setattr_nondynamic_class_variable(set):
    def set_class_attr(cls, name, value):
        if hasattr(cls, name) and not isinstance(getattr(cls, name), property):
            set(cls, name, value)
        else:
            raise AttributeError("You cannot add class attributes to %s" % cls)
    return set_class_attr


def _swig_add_metaclass(metaclass):
    """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass"""
    def wrapper(cls):
        return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy())
    return wrapper


class _SwigNonDynamicMeta(type):
    """Meta class to enforce nondynamic attributes (no new attributes) for a class"""
    __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__)


if _swig_python_version_info[0:2] >= (3, 3):
    import collections.abc
else:
    import collections

import itk.itkTransformBasePython
import itk.itkVectorPython
import itk.vnl_vectorPython
import itk.stdcomplexPython
import itk.pyBasePython
import itk.vnl_matrixPython
import itk.vnl_vector_refPython
import itk.itkFixedArrayPython
import itk.ITKCommonBasePython
import itk.itkMatrixPython
import itk.itkCovariantVectorPython
import itk.itkPointPython
import itk.vnl_matrix_fixedPython
import itk.itkArray2DPython
import itk.itkSymmetricSecondRankTensorPython
import itk.itkArrayPython
import itk.itkDiffusionTensor3DPython
import itk.itkVariableLengthVectorPython
import itk.itkOptimizerParametersPython
import itk.itkTransformParametersAdaptorBasePython
import itk.itkMeshBasePython
import itk.itkPointSetPython
import itk.itkVectorContainerPython
import itk.itkOffsetPython
import itk.itkSizePython
import itk.itkContinuousIndexPython
import itk.itkIndexPython
import itk.itkBoundingBoxPython
import itk.itkMapContainerPython
import itk.itkImagePython
import itk.itkRGBAPixelPython
import itk.itkRGBPixelPython
import itk.itkImageRegionPython
import itk.itkObjectToObjectOptimizerBasePython
import itk.itkOptimizerParameterScalesEstimatorPython
import itk.itkObjectToObjectMetricBasePython
import itk.itkSingleValuedCostFunctionv4Python
import itk.itkCostFunctionPython
import itk.itkImageRegistrationMethodv4Python
import itk.itkCompositeTransformPython
import itk.itkMultiTransformPython
import itk.itkGaussianSmoothingOnUpdateTimeVaryingVelocityFieldTransformPython
import itk.itkTimeVaryingVelocityFieldTransformPython
import itk.itkVelocityFieldTransformPython
import itk.itkDisplacementFieldTransformPython
import itk.itkVectorImagePython
import itk.itkTimeVaryingBSplineVelocityFieldTransformPython
import itk.itkBSplineSmoothingOnUpdateDisplacementFieldTransformPython
import itk.itkSpatialObjectBasePython
import itk.itkSpatialObjectPropertyPython
import itk.itkAffineTransformPython
import itk.itkMatrixOffsetTransformBasePython

def itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_New():
    return itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass.New()

class itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_Clone(self)

    def SetFixedImage(self, *args):
        r"""
        SetFixedImage(self, image)

        Parameters
        ----------
        image: itkImageF2 const *

        SetFixedImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF2 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetFixedImage(self, *args)

    def GetFixedImage(self, *args):
        r"""
        GetFixedImage(self) -> itkImageF2
        GetFixedImage(self, arg0) -> itkImageF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetFixedImage(self, *args)

    def SetMovingImage(self, *args):
        r"""
        SetMovingImage(self, image)

        Parameters
        ----------
        image: itkImageF2 const *

        SetMovingImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF2 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetMovingImage(self, *args)

    def GetMovingImage(self, *args):
        r"""
        GetMovingImage(self) -> itkImageF2
        GetMovingImage(self, arg0) -> itkImageF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetMovingImage(self, *args)

    def SetFixedPointSet(self, *args):
        r"""
        SetFixedPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkPointSetUI2DSMUI22FFUI const *

        SetFixedPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointSetUI2DSMUI22FFUI const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetFixedPointSet(self, *args)

    def GetFixedPointSet(self, *args):
        r"""
        GetFixedPointSet(self) -> itkPointSetUI2DSMUI22FFUI
        GetFixedPointSet(self, arg0) -> itkPointSetUI2DSMUI22FFUI

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetFixedPointSet(self, *args)

    def SetMovingPointSet(self, *args):
        r"""
        SetMovingPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkPointSetUI2DSMUI22FFUI const *

        SetMovingPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointSetUI2DSMUI22FFUI const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetMovingPointSet(self, *args)

    def GetMovingPointSet(self, *args):
        r"""
        GetMovingPointSet(self) -> itkPointSetUI2DSMUI22FFUI
        GetMovingPointSet(self, arg0) -> itkPointSetUI2DSMUI22FFUI

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetMovingPointSet(self, *args)

    def SetOptimizer(self, _arg):
        r"""
        SetOptimizer(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectOptimizerBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetOptimizer(self, _arg)

    def GetModifiableOptimizer(self):
        r"""GetModifiableOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetModifiableOptimizer(self)

    def GetOptimizer(self, *args):
        r"""
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetOptimizer(self, *args)

    def SetOptimizerWeights(self, arg0):
        r"""
        SetOptimizerWeights(self, arg0)

        Parameters
        ----------
        arg0: itkOptimizerParametersD &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetOptimizerWeights(self, arg0)

    def GetOptimizerWeights(self):
        r"""GetOptimizerWeights(self) -> itkOptimizerParametersD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetOptimizerWeights(self)

    def SetMetric(self, _arg):
        r"""
        SetMetric(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectMetricBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetMetric(self, _arg)

    def GetModifiableMetric(self):
        r"""GetModifiableMetric(self) -> itkObjectToObjectMetricBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetModifiableMetric(self)

    def GetMetric(self, *args):
        r"""
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetMetric(self, *args)

    def SetMetricSamplingStrategy(self, _arg):
        r"""
        SetMetricSamplingStrategy(self, _arg)

        Parameters
        ----------
        _arg: enum itkImageRegistrationMethodv4Enums::MetricSamplingStrategy const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetMetricSamplingStrategy(self, _arg)

    def GetMetricSamplingStrategy(self):
        r"""GetMetricSamplingStrategy(self) -> itkImageRegistrationMethodv4Enums::MetricSamplingStrategy"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetMetricSamplingStrategy(self)

    def MetricSamplingReinitializeSeed(self, *args):
        r"""
        MetricSamplingReinitializeSeed(self)
        MetricSamplingReinitializeSeed(self, seed)

        Parameters
        ----------
        seed: int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_MetricSamplingReinitializeSeed(self, *args)

    def SetMetricSamplingPercentage(self, arg0):
        r"""
        SetMetricSamplingPercentage(self, arg0)

        Parameters
        ----------
        arg0: double const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetMetricSamplingPercentage(self, arg0)

    def SetMetricSamplingPercentagePerLevel(self, samplingPercentages):
        r"""
        SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

        Parameters
        ----------
        samplingPercentages: itkArrayD const &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

    def GetMetricSamplingPercentagePerLevel(self):
        r"""GetMetricSamplingPercentagePerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetMetricSamplingPercentagePerLevel(self)

    def SetFixedInitialTransformInput(self, _arg):
        r"""
        SetFixedInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetFixedInitialTransformInput(self, _arg)

    def SetFixedInitialTransform(self, _arg):
        r"""
        SetFixedInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetFixedInitialTransform(self, _arg)

    def GetFixedInitialTransformInput(self):
        r"""GetFixedInitialTransformInput(self) -> itkDataObjectDecoratorTD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetFixedInitialTransformInput(self)

    def GetFixedInitialTransform(self):
        r"""GetFixedInitialTransform(self) -> itkTransformD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetFixedInitialTransform(self)

    def SetMovingInitialTransformInput(self, _arg):
        r"""
        SetMovingInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetMovingInitialTransformInput(self, _arg)

    def SetMovingInitialTransform(self, _arg):
        r"""
        SetMovingInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetMovingInitialTransform(self, _arg)

    def GetMovingInitialTransformInput(self):
        r"""GetMovingInitialTransformInput(self) -> itkDataObjectDecoratorTD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetMovingInitialTransformInput(self)

    def GetMovingInitialTransform(self):
        r"""GetMovingInitialTransform(self) -> itkTransformD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetMovingInitialTransform(self)

    def SetInitialTransformInput(self, _arg):
        r"""
        SetInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetInitialTransformInput(self, _arg)

    def SetInitialTransform(self, _arg):
        r"""
        SetInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetInitialTransform(self, _arg)

    def GetInitialTransformInput(self):
        r"""GetInitialTransformInput(self) -> itkDataObjectDecoratorTD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetInitialTransformInput(self)

    def GetInitialTransform(self):
        r"""GetInitialTransform(self) -> itkTransformD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetInitialTransform(self)

    def SetTransformParametersAdaptorsPerLevel(self, arg0):
        r"""
        SetTransformParametersAdaptorsPerLevel(self, arg0)

        Parameters
        ----------
        arg0: std::vector< itkTransformParametersAdaptorBaseD2_Pointer,std::allocator< itkTransformParametersAdaptorBaseD2_Pointer > > &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetTransformParametersAdaptorsPerLevel(self, arg0)

    def GetTransformParametersAdaptorsPerLevel(self):
        r"""GetTransformParametersAdaptorsPerLevel(self) -> std::vector< itkTransformParametersAdaptorBaseD2_Pointer,std::allocator< itkTransformParametersAdaptorBaseD2_Pointer > > const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetTransformParametersAdaptorsPerLevel(self)

    def SetNumberOfLevels(self, arg0):
        r"""
        SetNumberOfLevels(self, arg0)

        Parameters
        ----------
        arg0: unsigned long const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetNumberOfLevels(self, arg0)

    def GetNumberOfLevels(self):
        r"""GetNumberOfLevels(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetNumberOfLevels(self)

    def SetShrinkFactorsPerLevel(self, factors):
        r"""
        SetShrinkFactorsPerLevel(self, factors)

        Parameters
        ----------
        factors: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetShrinkFactorsPerLevel(self, factors)

    def GetShrinkFactorsPerDimension(self, level):
        r"""
        GetShrinkFactorsPerDimension(self, level) -> itkFixedArrayUI2

        Parameters
        ----------
        level: unsigned int const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetShrinkFactorsPerDimension(self, level)

    def SetShrinkFactorsPerDimension(self, level, factors):
        r"""
        SetShrinkFactorsPerDimension(self, level, factors)

        Parameters
        ----------
        level: unsigned int
        factors: itkFixedArrayUI2

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetShrinkFactorsPerDimension(self, level, factors)

    def SetSmoothingSigmasPerLevel(self, _arg):
        r"""
        SetSmoothingSigmasPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayD

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetSmoothingSigmasPerLevel(self, _arg)

    def GetSmoothingSigmasPerLevel(self):
        r"""GetSmoothingSigmasPerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetSmoothingSigmasPerLevel(self)

    def SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg):
        r"""
        SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

    def GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self):
        r"""GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkDataObjectDecoratorBSOUDFTD2
        GetOutput(self) -> itkDataObjectDecoratorBSOUDFTD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetOutput(self, *args)

    def GetTransformOutput(self, *args):
        r"""
        GetTransformOutput(self) -> itkDataObjectDecoratorBSOUDFTD2
        GetTransformOutput(self) -> itkDataObjectDecoratorBSOUDFTD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetTransformOutput(self, *args)

    def GetModifiableTransform(self):
        r"""GetModifiableTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetModifiableTransform(self)

    def GetTransform(self):
        r"""GetTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetTransform(self)

    def GetCurrentLevel(self):
        r"""GetCurrentLevel(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetCurrentLevel(self)

    def GetCurrentIteration(self):
        r"""GetCurrentIteration(self) -> unsigned long const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetCurrentIteration(self)

    def GetCurrentMetricValue(self):
        r"""GetCurrentMetricValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetCurrentMetricValue(self)

    def GetCurrentConvergenceValue(self):
        r"""GetCurrentConvergenceValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetCurrentConvergenceValue(self)

    def GetIsConverged(self):
        r"""GetIsConverged(self) -> bool const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetIsConverged(self)

    def SetInPlace(self, _arg):
        r"""
        SetInPlace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetInPlace(self, _arg)

    def GetInPlace(self):
        r"""GetInPlace(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetInPlace(self)

    def InPlaceOn(self):
        r"""InPlaceOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_InPlaceOn(self)

    def InPlaceOff(self):
        r"""InPlaceOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_InPlaceOff(self)

    def InitializeCenterOfLinearOutputTransformOn(self):
        r"""InitializeCenterOfLinearOutputTransformOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_InitializeCenterOfLinearOutputTransformOn(self)

    def InitializeCenterOfLinearOutputTransformOff(self):
        r"""InitializeCenterOfLinearOutputTransformOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_InitializeCenterOfLinearOutputTransformOff(self)

    def SetInitializeCenterOfLinearOutputTransform(self, _arg):
        r"""
        SetInitializeCenterOfLinearOutputTransform(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_SetInitializeCenterOfLinearOutputTransform(self, _arg)

    def GetInitializeCenterOfLinearOutputTransform(self):
        r"""GetInitializeCenterOfLinearOutputTransform(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_GetInitializeCenterOfLinearOutputTransform(self)

    def InitializeCenterOfLinearOutputTransform(self):
        r"""InitializeCenterOfLinearOutputTransform(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_InitializeCenterOfLinearOutputTransform(self)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass

        Create a new object of the class itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass_swigregister(itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass)

def itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_New():
    return itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass.New()

class itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_Clone(self)

    def SetFixedImage(self, *args):
        r"""
        SetFixedImage(self, image)

        Parameters
        ----------
        image: itkImageF2 const *

        SetFixedImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF2 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetFixedImage(self, *args)

    def GetFixedImage(self, *args):
        r"""
        GetFixedImage(self) -> itkImageF2
        GetFixedImage(self, arg0) -> itkImageF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetFixedImage(self, *args)

    def SetMovingImage(self, *args):
        r"""
        SetMovingImage(self, image)

        Parameters
        ----------
        image: itkImageF2 const *

        SetMovingImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF2 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetMovingImage(self, *args)

    def GetMovingImage(self, *args):
        r"""
        GetMovingImage(self) -> itkImageF2
        GetMovingImage(self, arg0) -> itkImageF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetMovingImage(self, *args)

    def SetFixedPointSet(self, *args):
        r"""
        SetFixedPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkMeshD2 const *

        SetFixedPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkMeshD2 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetFixedPointSet(self, *args)

    def GetFixedPointSet(self, *args):
        r"""
        GetFixedPointSet(self) -> itkMeshD2
        GetFixedPointSet(self, arg0) -> itkMeshD2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetFixedPointSet(self, *args)

    def SetMovingPointSet(self, *args):
        r"""
        SetMovingPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkMeshD2 const *

        SetMovingPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkMeshD2 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetMovingPointSet(self, *args)

    def GetMovingPointSet(self, *args):
        r"""
        GetMovingPointSet(self) -> itkMeshD2
        GetMovingPointSet(self, arg0) -> itkMeshD2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetMovingPointSet(self, *args)

    def SetOptimizer(self, _arg):
        r"""
        SetOptimizer(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectOptimizerBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetOptimizer(self, _arg)

    def GetModifiableOptimizer(self):
        r"""GetModifiableOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetModifiableOptimizer(self)

    def GetOptimizer(self, *args):
        r"""
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetOptimizer(self, *args)

    def SetOptimizerWeights(self, arg0):
        r"""
        SetOptimizerWeights(self, arg0)

        Parameters
        ----------
        arg0: itkOptimizerParametersD &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetOptimizerWeights(self, arg0)

    def GetOptimizerWeights(self):
        r"""GetOptimizerWeights(self) -> itkOptimizerParametersD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetOptimizerWeights(self)

    def SetMetric(self, _arg):
        r"""
        SetMetric(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectMetricBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetMetric(self, _arg)

    def GetModifiableMetric(self):
        r"""GetModifiableMetric(self) -> itkObjectToObjectMetricBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetModifiableMetric(self)

    def GetMetric(self, *args):
        r"""
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetMetric(self, *args)

    def SetMetricSamplingStrategy(self, _arg):
        r"""
        SetMetricSamplingStrategy(self, _arg)

        Parameters
        ----------
        _arg: enum itkImageRegistrationMethodv4Enums::MetricSamplingStrategy const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetMetricSamplingStrategy(self, _arg)

    def GetMetricSamplingStrategy(self):
        r"""GetMetricSamplingStrategy(self) -> itkImageRegistrationMethodv4Enums::MetricSamplingStrategy"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetMetricSamplingStrategy(self)

    def MetricSamplingReinitializeSeed(self, *args):
        r"""
        MetricSamplingReinitializeSeed(self)
        MetricSamplingReinitializeSeed(self, seed)

        Parameters
        ----------
        seed: int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_MetricSamplingReinitializeSeed(self, *args)

    def SetMetricSamplingPercentage(self, arg0):
        r"""
        SetMetricSamplingPercentage(self, arg0)

        Parameters
        ----------
        arg0: double const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetMetricSamplingPercentage(self, arg0)

    def SetMetricSamplingPercentagePerLevel(self, samplingPercentages):
        r"""
        SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

        Parameters
        ----------
        samplingPercentages: itkArrayD const &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

    def GetMetricSamplingPercentagePerLevel(self):
        r"""GetMetricSamplingPercentagePerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetMetricSamplingPercentagePerLevel(self)

    def SetFixedInitialTransformInput(self, _arg):
        r"""
        SetFixedInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetFixedInitialTransformInput(self, _arg)

    def SetFixedInitialTransform(self, _arg):
        r"""
        SetFixedInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetFixedInitialTransform(self, _arg)

    def GetFixedInitialTransformInput(self):
        r"""GetFixedInitialTransformInput(self) -> itkDataObjectDecoratorTD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetFixedInitialTransformInput(self)

    def GetFixedInitialTransform(self):
        r"""GetFixedInitialTransform(self) -> itkTransformD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetFixedInitialTransform(self)

    def SetMovingInitialTransformInput(self, _arg):
        r"""
        SetMovingInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetMovingInitialTransformInput(self, _arg)

    def SetMovingInitialTransform(self, _arg):
        r"""
        SetMovingInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetMovingInitialTransform(self, _arg)

    def GetMovingInitialTransformInput(self):
        r"""GetMovingInitialTransformInput(self) -> itkDataObjectDecoratorTD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetMovingInitialTransformInput(self)

    def GetMovingInitialTransform(self):
        r"""GetMovingInitialTransform(self) -> itkTransformD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetMovingInitialTransform(self)

    def SetInitialTransformInput(self, _arg):
        r"""
        SetInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetInitialTransformInput(self, _arg)

    def SetInitialTransform(self, _arg):
        r"""
        SetInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetInitialTransform(self, _arg)

    def GetInitialTransformInput(self):
        r"""GetInitialTransformInput(self) -> itkDataObjectDecoratorTD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetInitialTransformInput(self)

    def GetInitialTransform(self):
        r"""GetInitialTransform(self) -> itkTransformD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetInitialTransform(self)

    def SetTransformParametersAdaptorsPerLevel(self, arg0):
        r"""
        SetTransformParametersAdaptorsPerLevel(self, arg0)

        Parameters
        ----------
        arg0: std::vector< itkTransformParametersAdaptorBaseD2_Pointer,std::allocator< itkTransformParametersAdaptorBaseD2_Pointer > > &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetTransformParametersAdaptorsPerLevel(self, arg0)

    def GetTransformParametersAdaptorsPerLevel(self):
        r"""GetTransformParametersAdaptorsPerLevel(self) -> std::vector< itkTransformParametersAdaptorBaseD2_Pointer,std::allocator< itkTransformParametersAdaptorBaseD2_Pointer > > const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetTransformParametersAdaptorsPerLevel(self)

    def SetNumberOfLevels(self, arg0):
        r"""
        SetNumberOfLevels(self, arg0)

        Parameters
        ----------
        arg0: unsigned long const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetNumberOfLevels(self, arg0)

    def GetNumberOfLevels(self):
        r"""GetNumberOfLevels(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetNumberOfLevels(self)

    def SetShrinkFactorsPerLevel(self, factors):
        r"""
        SetShrinkFactorsPerLevel(self, factors)

        Parameters
        ----------
        factors: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetShrinkFactorsPerLevel(self, factors)

    def GetShrinkFactorsPerDimension(self, level):
        r"""
        GetShrinkFactorsPerDimension(self, level) -> itkFixedArrayUI2

        Parameters
        ----------
        level: unsigned int const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetShrinkFactorsPerDimension(self, level)

    def SetShrinkFactorsPerDimension(self, level, factors):
        r"""
        SetShrinkFactorsPerDimension(self, level, factors)

        Parameters
        ----------
        level: unsigned int
        factors: itkFixedArrayUI2

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetShrinkFactorsPerDimension(self, level, factors)

    def SetSmoothingSigmasPerLevel(self, _arg):
        r"""
        SetSmoothingSigmasPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayD

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetSmoothingSigmasPerLevel(self, _arg)

    def GetSmoothingSigmasPerLevel(self):
        r"""GetSmoothingSigmasPerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetSmoothingSigmasPerLevel(self)

    def SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg):
        r"""
        SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

    def GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self):
        r"""GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkDataObjectDecoratorDFTD2
        GetOutput(self) -> itkDataObjectDecoratorDFTD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetOutput(self, *args)

    def GetTransformOutput(self, *args):
        r"""
        GetTransformOutput(self) -> itkDataObjectDecoratorDFTD2
        GetTransformOutput(self) -> itkDataObjectDecoratorDFTD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetTransformOutput(self, *args)

    def GetModifiableTransform(self):
        r"""GetModifiableTransform(self) -> itkDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetModifiableTransform(self)

    def GetTransform(self):
        r"""GetTransform(self) -> itkDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetTransform(self)

    def GetCurrentLevel(self):
        r"""GetCurrentLevel(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetCurrentLevel(self)

    def GetCurrentIteration(self):
        r"""GetCurrentIteration(self) -> unsigned long const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetCurrentIteration(self)

    def GetCurrentMetricValue(self):
        r"""GetCurrentMetricValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetCurrentMetricValue(self)

    def GetCurrentConvergenceValue(self):
        r"""GetCurrentConvergenceValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetCurrentConvergenceValue(self)

    def GetIsConverged(self):
        r"""GetIsConverged(self) -> bool const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetIsConverged(self)

    def SetInPlace(self, _arg):
        r"""
        SetInPlace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetInPlace(self, _arg)

    def GetInPlace(self):
        r"""GetInPlace(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetInPlace(self)

    def InPlaceOn(self):
        r"""InPlaceOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_InPlaceOn(self)

    def InPlaceOff(self):
        r"""InPlaceOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_InPlaceOff(self)

    def InitializeCenterOfLinearOutputTransformOn(self):
        r"""InitializeCenterOfLinearOutputTransformOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_InitializeCenterOfLinearOutputTransformOn(self)

    def InitializeCenterOfLinearOutputTransformOff(self):
        r"""InitializeCenterOfLinearOutputTransformOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_InitializeCenterOfLinearOutputTransformOff(self)

    def SetInitializeCenterOfLinearOutputTransform(self, _arg):
        r"""
        SetInitializeCenterOfLinearOutputTransform(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_SetInitializeCenterOfLinearOutputTransform(self, _arg)

    def GetInitializeCenterOfLinearOutputTransform(self):
        r"""GetInitializeCenterOfLinearOutputTransform(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_GetInitializeCenterOfLinearOutputTransform(self)

    def InitializeCenterOfLinearOutputTransform(self):
        r"""InitializeCenterOfLinearOutputTransform(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_InitializeCenterOfLinearOutputTransform(self)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass

        Create a new object of the class itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass_swigregister(itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass)

def itkSyNImageRegistrationMethodF2F2_Superclass_New():
    return itkSyNImageRegistrationMethodF2F2_Superclass.New()

class itkSyNImageRegistrationMethodF2F2_Superclass(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF2F2_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF2F2_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF2F2_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_Clone(self)

    def SetFixedImage(self, *args):
        r"""
        SetFixedImage(self, image)

        Parameters
        ----------
        image: itkImageF2 const *

        SetFixedImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF2 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetFixedImage(self, *args)

    def GetFixedImage(self, *args):
        r"""
        GetFixedImage(self) -> itkImageF2
        GetFixedImage(self, arg0) -> itkImageF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetFixedImage(self, *args)

    def SetMovingImage(self, *args):
        r"""
        SetMovingImage(self, image)

        Parameters
        ----------
        image: itkImageF2 const *

        SetMovingImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF2 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetMovingImage(self, *args)

    def GetMovingImage(self, *args):
        r"""
        GetMovingImage(self) -> itkImageF2
        GetMovingImage(self, arg0) -> itkImageF2

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetMovingImage(self, *args)

    def SetFixedPointSet(self, *args):
        r"""
        SetFixedPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkPointSetUI2DSMUI22FFUI const *

        SetFixedPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointSetUI2DSMUI22FFUI const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetFixedPointSet(self, *args)

    def GetFixedPointSet(self, *args):
        r"""
        GetFixedPointSet(self) -> itkPointSetUI2DSMUI22FFUI
        GetFixedPointSet(self, arg0) -> itkPointSetUI2DSMUI22FFUI

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetFixedPointSet(self, *args)

    def SetMovingPointSet(self, *args):
        r"""
        SetMovingPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkPointSetUI2DSMUI22FFUI const *

        SetMovingPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointSetUI2DSMUI22FFUI const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetMovingPointSet(self, *args)

    def GetMovingPointSet(self, *args):
        r"""
        GetMovingPointSet(self) -> itkPointSetUI2DSMUI22FFUI
        GetMovingPointSet(self, arg0) -> itkPointSetUI2DSMUI22FFUI

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetMovingPointSet(self, *args)

    def SetOptimizer(self, _arg):
        r"""
        SetOptimizer(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectOptimizerBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetOptimizer(self, _arg)

    def GetModifiableOptimizer(self):
        r"""GetModifiableOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetModifiableOptimizer(self)

    def GetOptimizer(self, *args):
        r"""
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetOptimizer(self, *args)

    def SetOptimizerWeights(self, arg0):
        r"""
        SetOptimizerWeights(self, arg0)

        Parameters
        ----------
        arg0: itkOptimizerParametersD &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetOptimizerWeights(self, arg0)

    def GetOptimizerWeights(self):
        r"""GetOptimizerWeights(self) -> itkOptimizerParametersD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetOptimizerWeights(self)

    def SetMetric(self, _arg):
        r"""
        SetMetric(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectMetricBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetMetric(self, _arg)

    def GetModifiableMetric(self):
        r"""GetModifiableMetric(self) -> itkObjectToObjectMetricBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetModifiableMetric(self)

    def GetMetric(self, *args):
        r"""
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetMetric(self, *args)

    def SetMetricSamplingStrategy(self, _arg):
        r"""
        SetMetricSamplingStrategy(self, _arg)

        Parameters
        ----------
        _arg: enum itkImageRegistrationMethodv4Enums::MetricSamplingStrategy const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetMetricSamplingStrategy(self, _arg)

    def GetMetricSamplingStrategy(self):
        r"""GetMetricSamplingStrategy(self) -> itkImageRegistrationMethodv4Enums::MetricSamplingStrategy"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetMetricSamplingStrategy(self)

    def MetricSamplingReinitializeSeed(self, *args):
        r"""
        MetricSamplingReinitializeSeed(self)
        MetricSamplingReinitializeSeed(self, seed)

        Parameters
        ----------
        seed: int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_MetricSamplingReinitializeSeed(self, *args)

    def SetMetricSamplingPercentage(self, arg0):
        r"""
        SetMetricSamplingPercentage(self, arg0)

        Parameters
        ----------
        arg0: double const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetMetricSamplingPercentage(self, arg0)

    def SetMetricSamplingPercentagePerLevel(self, samplingPercentages):
        r"""
        SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

        Parameters
        ----------
        samplingPercentages: itkArrayD const &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

    def GetMetricSamplingPercentagePerLevel(self):
        r"""GetMetricSamplingPercentagePerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetMetricSamplingPercentagePerLevel(self)

    def SetFixedInitialTransformInput(self, _arg):
        r"""
        SetFixedInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetFixedInitialTransformInput(self, _arg)

    def SetFixedInitialTransform(self, _arg):
        r"""
        SetFixedInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetFixedInitialTransform(self, _arg)

    def GetFixedInitialTransformInput(self):
        r"""GetFixedInitialTransformInput(self) -> itkDataObjectDecoratorTD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetFixedInitialTransformInput(self)

    def GetFixedInitialTransform(self):
        r"""GetFixedInitialTransform(self) -> itkTransformD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetFixedInitialTransform(self)

    def SetMovingInitialTransformInput(self, _arg):
        r"""
        SetMovingInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetMovingInitialTransformInput(self, _arg)

    def SetMovingInitialTransform(self, _arg):
        r"""
        SetMovingInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetMovingInitialTransform(self, _arg)

    def GetMovingInitialTransformInput(self):
        r"""GetMovingInitialTransformInput(self) -> itkDataObjectDecoratorTD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetMovingInitialTransformInput(self)

    def GetMovingInitialTransform(self):
        r"""GetMovingInitialTransform(self) -> itkTransformD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetMovingInitialTransform(self)

    def SetInitialTransformInput(self, _arg):
        r"""
        SetInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetInitialTransformInput(self, _arg)

    def SetInitialTransform(self, _arg):
        r"""
        SetInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD22 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetInitialTransform(self, _arg)

    def GetInitialTransformInput(self):
        r"""GetInitialTransformInput(self) -> itkDataObjectDecoratorTD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetInitialTransformInput(self)

    def GetInitialTransform(self):
        r"""GetInitialTransform(self) -> itkTransformD22"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetInitialTransform(self)

    def SetTransformParametersAdaptorsPerLevel(self, arg0):
        r"""
        SetTransformParametersAdaptorsPerLevel(self, arg0)

        Parameters
        ----------
        arg0: std::vector< itkTransformParametersAdaptorBaseD2_Pointer,std::allocator< itkTransformParametersAdaptorBaseD2_Pointer > > &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetTransformParametersAdaptorsPerLevel(self, arg0)

    def GetTransformParametersAdaptorsPerLevel(self):
        r"""GetTransformParametersAdaptorsPerLevel(self) -> std::vector< itkTransformParametersAdaptorBaseD2_Pointer,std::allocator< itkTransformParametersAdaptorBaseD2_Pointer > > const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetTransformParametersAdaptorsPerLevel(self)

    def SetNumberOfLevels(self, arg0):
        r"""
        SetNumberOfLevels(self, arg0)

        Parameters
        ----------
        arg0: unsigned long const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetNumberOfLevels(self, arg0)

    def GetNumberOfLevels(self):
        r"""GetNumberOfLevels(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetNumberOfLevels(self)

    def SetShrinkFactorsPerLevel(self, factors):
        r"""
        SetShrinkFactorsPerLevel(self, factors)

        Parameters
        ----------
        factors: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetShrinkFactorsPerLevel(self, factors)

    def GetShrinkFactorsPerDimension(self, level):
        r"""
        GetShrinkFactorsPerDimension(self, level) -> itkFixedArrayUI2

        Parameters
        ----------
        level: unsigned int const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetShrinkFactorsPerDimension(self, level)

    def SetShrinkFactorsPerDimension(self, level, factors):
        r"""
        SetShrinkFactorsPerDimension(self, level, factors)

        Parameters
        ----------
        level: unsigned int
        factors: itkFixedArrayUI2

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetShrinkFactorsPerDimension(self, level, factors)

    def SetSmoothingSigmasPerLevel(self, _arg):
        r"""
        SetSmoothingSigmasPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayD

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetSmoothingSigmasPerLevel(self, _arg)

    def GetSmoothingSigmasPerLevel(self):
        r"""GetSmoothingSigmasPerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetSmoothingSigmasPerLevel(self)

    def SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg):
        r"""
        SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

    def GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self):
        r"""GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkDataObjectDecoratorDFTD2
        GetOutput(self) -> itkDataObjectDecoratorDFTD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetOutput(self, *args)

    def GetTransformOutput(self, *args):
        r"""
        GetTransformOutput(self) -> itkDataObjectDecoratorDFTD2
        GetTransformOutput(self) -> itkDataObjectDecoratorDFTD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetTransformOutput(self, *args)

    def GetModifiableTransform(self):
        r"""GetModifiableTransform(self) -> itkDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetModifiableTransform(self)

    def GetTransform(self):
        r"""GetTransform(self) -> itkDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetTransform(self)

    def GetCurrentLevel(self):
        r"""GetCurrentLevel(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetCurrentLevel(self)

    def GetCurrentIteration(self):
        r"""GetCurrentIteration(self) -> unsigned long const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetCurrentIteration(self)

    def GetCurrentMetricValue(self):
        r"""GetCurrentMetricValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetCurrentMetricValue(self)

    def GetCurrentConvergenceValue(self):
        r"""GetCurrentConvergenceValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetCurrentConvergenceValue(self)

    def GetIsConverged(self):
        r"""GetIsConverged(self) -> bool const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetIsConverged(self)

    def SetInPlace(self, _arg):
        r"""
        SetInPlace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetInPlace(self, _arg)

    def GetInPlace(self):
        r"""GetInPlace(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetInPlace(self)

    def InPlaceOn(self):
        r"""InPlaceOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_InPlaceOn(self)

    def InPlaceOff(self):
        r"""InPlaceOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_InPlaceOff(self)

    def InitializeCenterOfLinearOutputTransformOn(self):
        r"""InitializeCenterOfLinearOutputTransformOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_InitializeCenterOfLinearOutputTransformOn(self)

    def InitializeCenterOfLinearOutputTransformOff(self):
        r"""InitializeCenterOfLinearOutputTransformOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_InitializeCenterOfLinearOutputTransformOff(self)

    def SetInitializeCenterOfLinearOutputTransform(self, _arg):
        r"""
        SetInitializeCenterOfLinearOutputTransform(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_SetInitializeCenterOfLinearOutputTransform(self, _arg)

    def GetInitializeCenterOfLinearOutputTransform(self):
        r"""GetInitializeCenterOfLinearOutputTransform(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_GetInitializeCenterOfLinearOutputTransform(self)

    def InitializeCenterOfLinearOutputTransform(self):
        r"""InitializeCenterOfLinearOutputTransform(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_InitializeCenterOfLinearOutputTransform(self)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF2F2_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF2F2_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF2F2_Superclass

        Create a new object of the class itkSyNImageRegistrationMethodF2F2_Superclass and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF2F2_Superclass.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF2F2_Superclass.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF2F2_Superclass.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF2F2_Superclass in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Superclass_swigregister(itkSyNImageRegistrationMethodF2F2_Superclass)

def itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_New():
    return itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass.New()

class itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_Clone(self)

    def SetFixedImage(self, *args):
        r"""
        SetFixedImage(self, image)

        Parameters
        ----------
        image: itkImageF3 const *

        SetFixedImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF3 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetFixedImage(self, *args)

    def GetFixedImage(self, *args):
        r"""
        GetFixedImage(self) -> itkImageF3
        GetFixedImage(self, arg0) -> itkImageF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetFixedImage(self, *args)

    def SetMovingImage(self, *args):
        r"""
        SetMovingImage(self, image)

        Parameters
        ----------
        image: itkImageF3 const *

        SetMovingImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF3 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetMovingImage(self, *args)

    def GetMovingImage(self, *args):
        r"""
        GetMovingImage(self) -> itkImageF3
        GetMovingImage(self, arg0) -> itkImageF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetMovingImage(self, *args)

    def SetFixedPointSet(self, *args):
        r"""
        SetFixedPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkPointSetUI3DSMUI33FFUI const *

        SetFixedPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointSetUI3DSMUI33FFUI const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetFixedPointSet(self, *args)

    def GetFixedPointSet(self, *args):
        r"""
        GetFixedPointSet(self) -> itkPointSetUI3DSMUI33FFUI
        GetFixedPointSet(self, arg0) -> itkPointSetUI3DSMUI33FFUI

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetFixedPointSet(self, *args)

    def SetMovingPointSet(self, *args):
        r"""
        SetMovingPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkPointSetUI3DSMUI33FFUI const *

        SetMovingPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointSetUI3DSMUI33FFUI const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetMovingPointSet(self, *args)

    def GetMovingPointSet(self, *args):
        r"""
        GetMovingPointSet(self) -> itkPointSetUI3DSMUI33FFUI
        GetMovingPointSet(self, arg0) -> itkPointSetUI3DSMUI33FFUI

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetMovingPointSet(self, *args)

    def SetOptimizer(self, _arg):
        r"""
        SetOptimizer(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectOptimizerBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetOptimizer(self, _arg)

    def GetModifiableOptimizer(self):
        r"""GetModifiableOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetModifiableOptimizer(self)

    def GetOptimizer(self, *args):
        r"""
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetOptimizer(self, *args)

    def SetOptimizerWeights(self, arg0):
        r"""
        SetOptimizerWeights(self, arg0)

        Parameters
        ----------
        arg0: itkOptimizerParametersD &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetOptimizerWeights(self, arg0)

    def GetOptimizerWeights(self):
        r"""GetOptimizerWeights(self) -> itkOptimizerParametersD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetOptimizerWeights(self)

    def SetMetric(self, _arg):
        r"""
        SetMetric(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectMetricBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetMetric(self, _arg)

    def GetModifiableMetric(self):
        r"""GetModifiableMetric(self) -> itkObjectToObjectMetricBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetModifiableMetric(self)

    def GetMetric(self, *args):
        r"""
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetMetric(self, *args)

    def SetMetricSamplingStrategy(self, _arg):
        r"""
        SetMetricSamplingStrategy(self, _arg)

        Parameters
        ----------
        _arg: enum itkImageRegistrationMethodv4Enums::MetricSamplingStrategy const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetMetricSamplingStrategy(self, _arg)

    def GetMetricSamplingStrategy(self):
        r"""GetMetricSamplingStrategy(self) -> itkImageRegistrationMethodv4Enums::MetricSamplingStrategy"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetMetricSamplingStrategy(self)

    def MetricSamplingReinitializeSeed(self, *args):
        r"""
        MetricSamplingReinitializeSeed(self)
        MetricSamplingReinitializeSeed(self, seed)

        Parameters
        ----------
        seed: int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_MetricSamplingReinitializeSeed(self, *args)

    def SetMetricSamplingPercentage(self, arg0):
        r"""
        SetMetricSamplingPercentage(self, arg0)

        Parameters
        ----------
        arg0: double const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetMetricSamplingPercentage(self, arg0)

    def SetMetricSamplingPercentagePerLevel(self, samplingPercentages):
        r"""
        SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

        Parameters
        ----------
        samplingPercentages: itkArrayD const &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

    def GetMetricSamplingPercentagePerLevel(self):
        r"""GetMetricSamplingPercentagePerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetMetricSamplingPercentagePerLevel(self)

    def SetFixedInitialTransformInput(self, _arg):
        r"""
        SetFixedInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetFixedInitialTransformInput(self, _arg)

    def SetFixedInitialTransform(self, _arg):
        r"""
        SetFixedInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetFixedInitialTransform(self, _arg)

    def GetFixedInitialTransformInput(self):
        r"""GetFixedInitialTransformInput(self) -> itkDataObjectDecoratorTD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetFixedInitialTransformInput(self)

    def GetFixedInitialTransform(self):
        r"""GetFixedInitialTransform(self) -> itkTransformD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetFixedInitialTransform(self)

    def SetMovingInitialTransformInput(self, _arg):
        r"""
        SetMovingInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetMovingInitialTransformInput(self, _arg)

    def SetMovingInitialTransform(self, _arg):
        r"""
        SetMovingInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetMovingInitialTransform(self, _arg)

    def GetMovingInitialTransformInput(self):
        r"""GetMovingInitialTransformInput(self) -> itkDataObjectDecoratorTD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetMovingInitialTransformInput(self)

    def GetMovingInitialTransform(self):
        r"""GetMovingInitialTransform(self) -> itkTransformD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetMovingInitialTransform(self)

    def SetInitialTransformInput(self, _arg):
        r"""
        SetInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetInitialTransformInput(self, _arg)

    def SetInitialTransform(self, _arg):
        r"""
        SetInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetInitialTransform(self, _arg)

    def GetInitialTransformInput(self):
        r"""GetInitialTransformInput(self) -> itkDataObjectDecoratorTD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetInitialTransformInput(self)

    def GetInitialTransform(self):
        r"""GetInitialTransform(self) -> itkTransformD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetInitialTransform(self)

    def SetTransformParametersAdaptorsPerLevel(self, arg0):
        r"""
        SetTransformParametersAdaptorsPerLevel(self, arg0)

        Parameters
        ----------
        arg0: std::vector< itkTransformParametersAdaptorBaseD3_Pointer,std::allocator< itkTransformParametersAdaptorBaseD3_Pointer > > &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetTransformParametersAdaptorsPerLevel(self, arg0)

    def GetTransformParametersAdaptorsPerLevel(self):
        r"""GetTransformParametersAdaptorsPerLevel(self) -> std::vector< itkTransformParametersAdaptorBaseD3_Pointer,std::allocator< itkTransformParametersAdaptorBaseD3_Pointer > > const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetTransformParametersAdaptorsPerLevel(self)

    def SetNumberOfLevels(self, arg0):
        r"""
        SetNumberOfLevels(self, arg0)

        Parameters
        ----------
        arg0: unsigned long const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetNumberOfLevels(self, arg0)

    def GetNumberOfLevels(self):
        r"""GetNumberOfLevels(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetNumberOfLevels(self)

    def SetShrinkFactorsPerLevel(self, factors):
        r"""
        SetShrinkFactorsPerLevel(self, factors)

        Parameters
        ----------
        factors: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetShrinkFactorsPerLevel(self, factors)

    def GetShrinkFactorsPerDimension(self, level):
        r"""
        GetShrinkFactorsPerDimension(self, level) -> itkFixedArrayUI3

        Parameters
        ----------
        level: unsigned int const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetShrinkFactorsPerDimension(self, level)

    def SetShrinkFactorsPerDimension(self, level, factors):
        r"""
        SetShrinkFactorsPerDimension(self, level, factors)

        Parameters
        ----------
        level: unsigned int
        factors: itkFixedArrayUI3

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetShrinkFactorsPerDimension(self, level, factors)

    def SetSmoothingSigmasPerLevel(self, _arg):
        r"""
        SetSmoothingSigmasPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayD

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetSmoothingSigmasPerLevel(self, _arg)

    def GetSmoothingSigmasPerLevel(self):
        r"""GetSmoothingSigmasPerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetSmoothingSigmasPerLevel(self)

    def SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg):
        r"""
        SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

    def GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self):
        r"""GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkDataObjectDecoratorBSOUDFTD3
        GetOutput(self) -> itkDataObjectDecoratorBSOUDFTD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetOutput(self, *args)

    def GetTransformOutput(self, *args):
        r"""
        GetTransformOutput(self) -> itkDataObjectDecoratorBSOUDFTD3
        GetTransformOutput(self) -> itkDataObjectDecoratorBSOUDFTD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetTransformOutput(self, *args)

    def GetModifiableTransform(self):
        r"""GetModifiableTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetModifiableTransform(self)

    def GetTransform(self):
        r"""GetTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetTransform(self)

    def GetCurrentLevel(self):
        r"""GetCurrentLevel(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetCurrentLevel(self)

    def GetCurrentIteration(self):
        r"""GetCurrentIteration(self) -> unsigned long const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetCurrentIteration(self)

    def GetCurrentMetricValue(self):
        r"""GetCurrentMetricValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetCurrentMetricValue(self)

    def GetCurrentConvergenceValue(self):
        r"""GetCurrentConvergenceValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetCurrentConvergenceValue(self)

    def GetIsConverged(self):
        r"""GetIsConverged(self) -> bool const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetIsConverged(self)

    def SetInPlace(self, _arg):
        r"""
        SetInPlace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetInPlace(self, _arg)

    def GetInPlace(self):
        r"""GetInPlace(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetInPlace(self)

    def InPlaceOn(self):
        r"""InPlaceOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_InPlaceOn(self)

    def InPlaceOff(self):
        r"""InPlaceOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_InPlaceOff(self)

    def InitializeCenterOfLinearOutputTransformOn(self):
        r"""InitializeCenterOfLinearOutputTransformOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_InitializeCenterOfLinearOutputTransformOn(self)

    def InitializeCenterOfLinearOutputTransformOff(self):
        r"""InitializeCenterOfLinearOutputTransformOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_InitializeCenterOfLinearOutputTransformOff(self)

    def SetInitializeCenterOfLinearOutputTransform(self, _arg):
        r"""
        SetInitializeCenterOfLinearOutputTransform(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_SetInitializeCenterOfLinearOutputTransform(self, _arg)

    def GetInitializeCenterOfLinearOutputTransform(self):
        r"""GetInitializeCenterOfLinearOutputTransform(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_GetInitializeCenterOfLinearOutputTransform(self)

    def InitializeCenterOfLinearOutputTransform(self):
        r"""InitializeCenterOfLinearOutputTransform(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_InitializeCenterOfLinearOutputTransform(self)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass

        Create a new object of the class itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass_swigregister(itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass)

def itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_New():
    return itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass.New()

class itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_Clone(self)

    def SetFixedImage(self, *args):
        r"""
        SetFixedImage(self, image)

        Parameters
        ----------
        image: itkImageF3 const *

        SetFixedImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF3 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetFixedImage(self, *args)

    def GetFixedImage(self, *args):
        r"""
        GetFixedImage(self) -> itkImageF3
        GetFixedImage(self, arg0) -> itkImageF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetFixedImage(self, *args)

    def SetMovingImage(self, *args):
        r"""
        SetMovingImage(self, image)

        Parameters
        ----------
        image: itkImageF3 const *

        SetMovingImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF3 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetMovingImage(self, *args)

    def GetMovingImage(self, *args):
        r"""
        GetMovingImage(self) -> itkImageF3
        GetMovingImage(self, arg0) -> itkImageF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetMovingImage(self, *args)

    def SetFixedPointSet(self, *args):
        r"""
        SetFixedPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkMeshD3 const *

        SetFixedPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkMeshD3 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetFixedPointSet(self, *args)

    def GetFixedPointSet(self, *args):
        r"""
        GetFixedPointSet(self) -> itkMeshD3
        GetFixedPointSet(self, arg0) -> itkMeshD3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetFixedPointSet(self, *args)

    def SetMovingPointSet(self, *args):
        r"""
        SetMovingPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkMeshD3 const *

        SetMovingPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkMeshD3 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetMovingPointSet(self, *args)

    def GetMovingPointSet(self, *args):
        r"""
        GetMovingPointSet(self) -> itkMeshD3
        GetMovingPointSet(self, arg0) -> itkMeshD3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetMovingPointSet(self, *args)

    def SetOptimizer(self, _arg):
        r"""
        SetOptimizer(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectOptimizerBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetOptimizer(self, _arg)

    def GetModifiableOptimizer(self):
        r"""GetModifiableOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetModifiableOptimizer(self)

    def GetOptimizer(self, *args):
        r"""
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetOptimizer(self, *args)

    def SetOptimizerWeights(self, arg0):
        r"""
        SetOptimizerWeights(self, arg0)

        Parameters
        ----------
        arg0: itkOptimizerParametersD &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetOptimizerWeights(self, arg0)

    def GetOptimizerWeights(self):
        r"""GetOptimizerWeights(self) -> itkOptimizerParametersD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetOptimizerWeights(self)

    def SetMetric(self, _arg):
        r"""
        SetMetric(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectMetricBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetMetric(self, _arg)

    def GetModifiableMetric(self):
        r"""GetModifiableMetric(self) -> itkObjectToObjectMetricBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetModifiableMetric(self)

    def GetMetric(self, *args):
        r"""
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetMetric(self, *args)

    def SetMetricSamplingStrategy(self, _arg):
        r"""
        SetMetricSamplingStrategy(self, _arg)

        Parameters
        ----------
        _arg: enum itkImageRegistrationMethodv4Enums::MetricSamplingStrategy const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetMetricSamplingStrategy(self, _arg)

    def GetMetricSamplingStrategy(self):
        r"""GetMetricSamplingStrategy(self) -> itkImageRegistrationMethodv4Enums::MetricSamplingStrategy"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetMetricSamplingStrategy(self)

    def MetricSamplingReinitializeSeed(self, *args):
        r"""
        MetricSamplingReinitializeSeed(self)
        MetricSamplingReinitializeSeed(self, seed)

        Parameters
        ----------
        seed: int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_MetricSamplingReinitializeSeed(self, *args)

    def SetMetricSamplingPercentage(self, arg0):
        r"""
        SetMetricSamplingPercentage(self, arg0)

        Parameters
        ----------
        arg0: double const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetMetricSamplingPercentage(self, arg0)

    def SetMetricSamplingPercentagePerLevel(self, samplingPercentages):
        r"""
        SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

        Parameters
        ----------
        samplingPercentages: itkArrayD const &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

    def GetMetricSamplingPercentagePerLevel(self):
        r"""GetMetricSamplingPercentagePerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetMetricSamplingPercentagePerLevel(self)

    def SetFixedInitialTransformInput(self, _arg):
        r"""
        SetFixedInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetFixedInitialTransformInput(self, _arg)

    def SetFixedInitialTransform(self, _arg):
        r"""
        SetFixedInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetFixedInitialTransform(self, _arg)

    def GetFixedInitialTransformInput(self):
        r"""GetFixedInitialTransformInput(self) -> itkDataObjectDecoratorTD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetFixedInitialTransformInput(self)

    def GetFixedInitialTransform(self):
        r"""GetFixedInitialTransform(self) -> itkTransformD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetFixedInitialTransform(self)

    def SetMovingInitialTransformInput(self, _arg):
        r"""
        SetMovingInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetMovingInitialTransformInput(self, _arg)

    def SetMovingInitialTransform(self, _arg):
        r"""
        SetMovingInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetMovingInitialTransform(self, _arg)

    def GetMovingInitialTransformInput(self):
        r"""GetMovingInitialTransformInput(self) -> itkDataObjectDecoratorTD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetMovingInitialTransformInput(self)

    def GetMovingInitialTransform(self):
        r"""GetMovingInitialTransform(self) -> itkTransformD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetMovingInitialTransform(self)

    def SetInitialTransformInput(self, _arg):
        r"""
        SetInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetInitialTransformInput(self, _arg)

    def SetInitialTransform(self, _arg):
        r"""
        SetInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetInitialTransform(self, _arg)

    def GetInitialTransformInput(self):
        r"""GetInitialTransformInput(self) -> itkDataObjectDecoratorTD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetInitialTransformInput(self)

    def GetInitialTransform(self):
        r"""GetInitialTransform(self) -> itkTransformD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetInitialTransform(self)

    def SetTransformParametersAdaptorsPerLevel(self, arg0):
        r"""
        SetTransformParametersAdaptorsPerLevel(self, arg0)

        Parameters
        ----------
        arg0: std::vector< itkTransformParametersAdaptorBaseD3_Pointer,std::allocator< itkTransformParametersAdaptorBaseD3_Pointer > > &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetTransformParametersAdaptorsPerLevel(self, arg0)

    def GetTransformParametersAdaptorsPerLevel(self):
        r"""GetTransformParametersAdaptorsPerLevel(self) -> std::vector< itkTransformParametersAdaptorBaseD3_Pointer,std::allocator< itkTransformParametersAdaptorBaseD3_Pointer > > const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetTransformParametersAdaptorsPerLevel(self)

    def SetNumberOfLevels(self, arg0):
        r"""
        SetNumberOfLevels(self, arg0)

        Parameters
        ----------
        arg0: unsigned long const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetNumberOfLevels(self, arg0)

    def GetNumberOfLevels(self):
        r"""GetNumberOfLevels(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetNumberOfLevels(self)

    def SetShrinkFactorsPerLevel(self, factors):
        r"""
        SetShrinkFactorsPerLevel(self, factors)

        Parameters
        ----------
        factors: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetShrinkFactorsPerLevel(self, factors)

    def GetShrinkFactorsPerDimension(self, level):
        r"""
        GetShrinkFactorsPerDimension(self, level) -> itkFixedArrayUI3

        Parameters
        ----------
        level: unsigned int const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetShrinkFactorsPerDimension(self, level)

    def SetShrinkFactorsPerDimension(self, level, factors):
        r"""
        SetShrinkFactorsPerDimension(self, level, factors)

        Parameters
        ----------
        level: unsigned int
        factors: itkFixedArrayUI3

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetShrinkFactorsPerDimension(self, level, factors)

    def SetSmoothingSigmasPerLevel(self, _arg):
        r"""
        SetSmoothingSigmasPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayD

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetSmoothingSigmasPerLevel(self, _arg)

    def GetSmoothingSigmasPerLevel(self):
        r"""GetSmoothingSigmasPerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetSmoothingSigmasPerLevel(self)

    def SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg):
        r"""
        SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

    def GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self):
        r"""GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkDataObjectDecoratorDFTD3
        GetOutput(self) -> itkDataObjectDecoratorDFTD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetOutput(self, *args)

    def GetTransformOutput(self, *args):
        r"""
        GetTransformOutput(self) -> itkDataObjectDecoratorDFTD3
        GetTransformOutput(self) -> itkDataObjectDecoratorDFTD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetTransformOutput(self, *args)

    def GetModifiableTransform(self):
        r"""GetModifiableTransform(self) -> itkDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetModifiableTransform(self)

    def GetTransform(self):
        r"""GetTransform(self) -> itkDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetTransform(self)

    def GetCurrentLevel(self):
        r"""GetCurrentLevel(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetCurrentLevel(self)

    def GetCurrentIteration(self):
        r"""GetCurrentIteration(self) -> unsigned long const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetCurrentIteration(self)

    def GetCurrentMetricValue(self):
        r"""GetCurrentMetricValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetCurrentMetricValue(self)

    def GetCurrentConvergenceValue(self):
        r"""GetCurrentConvergenceValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetCurrentConvergenceValue(self)

    def GetIsConverged(self):
        r"""GetIsConverged(self) -> bool const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetIsConverged(self)

    def SetInPlace(self, _arg):
        r"""
        SetInPlace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetInPlace(self, _arg)

    def GetInPlace(self):
        r"""GetInPlace(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetInPlace(self)

    def InPlaceOn(self):
        r"""InPlaceOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_InPlaceOn(self)

    def InPlaceOff(self):
        r"""InPlaceOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_InPlaceOff(self)

    def InitializeCenterOfLinearOutputTransformOn(self):
        r"""InitializeCenterOfLinearOutputTransformOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_InitializeCenterOfLinearOutputTransformOn(self)

    def InitializeCenterOfLinearOutputTransformOff(self):
        r"""InitializeCenterOfLinearOutputTransformOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_InitializeCenterOfLinearOutputTransformOff(self)

    def SetInitializeCenterOfLinearOutputTransform(self, _arg):
        r"""
        SetInitializeCenterOfLinearOutputTransform(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_SetInitializeCenterOfLinearOutputTransform(self, _arg)

    def GetInitializeCenterOfLinearOutputTransform(self):
        r"""GetInitializeCenterOfLinearOutputTransform(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_GetInitializeCenterOfLinearOutputTransform(self)

    def InitializeCenterOfLinearOutputTransform(self):
        r"""InitializeCenterOfLinearOutputTransform(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_InitializeCenterOfLinearOutputTransform(self)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass

        Create a new object of the class itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass_swigregister(itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass)

def itkSyNImageRegistrationMethodF3F3_Superclass_New():
    return itkSyNImageRegistrationMethodF3F3_Superclass.New()

class itkSyNImageRegistrationMethodF3F3_Superclass(itk.ITKCommonBasePython.itkProcessObject):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF3F3_Superclass class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF3F3_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF3F3_Superclass_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_Clone(self)

    def SetFixedImage(self, *args):
        r"""
        SetFixedImage(self, image)

        Parameters
        ----------
        image: itkImageF3 const *

        SetFixedImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF3 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetFixedImage(self, *args)

    def GetFixedImage(self, *args):
        r"""
        GetFixedImage(self) -> itkImageF3
        GetFixedImage(self, arg0) -> itkImageF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetFixedImage(self, *args)

    def SetMovingImage(self, *args):
        r"""
        SetMovingImage(self, image)

        Parameters
        ----------
        image: itkImageF3 const *

        SetMovingImage(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkImageF3 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetMovingImage(self, *args)

    def GetMovingImage(self, *args):
        r"""
        GetMovingImage(self) -> itkImageF3
        GetMovingImage(self, arg0) -> itkImageF3

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetMovingImage(self, *args)

    def SetFixedPointSet(self, *args):
        r"""
        SetFixedPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkPointSetUI3DSMUI33FFUI const *

        SetFixedPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointSetUI3DSMUI33FFUI const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetFixedPointSet(self, *args)

    def GetFixedPointSet(self, *args):
        r"""
        GetFixedPointSet(self) -> itkPointSetUI3DSMUI33FFUI
        GetFixedPointSet(self, arg0) -> itkPointSetUI3DSMUI33FFUI

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetFixedPointSet(self, *args)

    def SetMovingPointSet(self, *args):
        r"""
        SetMovingPointSet(self, pointSet)

        Parameters
        ----------
        pointSet: itkPointSetUI3DSMUI33FFUI const *

        SetMovingPointSet(self, arg0, arg1)

        Parameters
        ----------
        arg0: unsigned long
        arg1: itkPointSetUI3DSMUI33FFUI const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetMovingPointSet(self, *args)

    def GetMovingPointSet(self, *args):
        r"""
        GetMovingPointSet(self) -> itkPointSetUI3DSMUI33FFUI
        GetMovingPointSet(self, arg0) -> itkPointSetUI3DSMUI33FFUI

        Parameters
        ----------
        arg0: unsigned long

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetMovingPointSet(self, *args)

    def SetOptimizer(self, _arg):
        r"""
        SetOptimizer(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectOptimizerBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetOptimizer(self, _arg)

    def GetModifiableOptimizer(self):
        r"""GetModifiableOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetModifiableOptimizer(self)

    def GetOptimizer(self, *args):
        r"""
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        GetOptimizer(self) -> itkObjectToObjectOptimizerBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetOptimizer(self, *args)

    def SetOptimizerWeights(self, arg0):
        r"""
        SetOptimizerWeights(self, arg0)

        Parameters
        ----------
        arg0: itkOptimizerParametersD &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetOptimizerWeights(self, arg0)

    def GetOptimizerWeights(self):
        r"""GetOptimizerWeights(self) -> itkOptimizerParametersD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetOptimizerWeights(self)

    def SetMetric(self, _arg):
        r"""
        SetMetric(self, _arg)

        Parameters
        ----------
        _arg: itkObjectToObjectMetricBaseTemplateD *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetMetric(self, _arg)

    def GetModifiableMetric(self):
        r"""GetModifiableMetric(self) -> itkObjectToObjectMetricBaseTemplateD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetModifiableMetric(self)

    def GetMetric(self, *args):
        r"""
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        GetMetric(self) -> itkObjectToObjectMetricBaseTemplateD
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetMetric(self, *args)

    def SetMetricSamplingStrategy(self, _arg):
        r"""
        SetMetricSamplingStrategy(self, _arg)

        Parameters
        ----------
        _arg: enum itkImageRegistrationMethodv4Enums::MetricSamplingStrategy const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetMetricSamplingStrategy(self, _arg)

    def GetMetricSamplingStrategy(self):
        r"""GetMetricSamplingStrategy(self) -> itkImageRegistrationMethodv4Enums::MetricSamplingStrategy"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetMetricSamplingStrategy(self)

    def MetricSamplingReinitializeSeed(self, *args):
        r"""
        MetricSamplingReinitializeSeed(self)
        MetricSamplingReinitializeSeed(self, seed)

        Parameters
        ----------
        seed: int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_MetricSamplingReinitializeSeed(self, *args)

    def SetMetricSamplingPercentage(self, arg0):
        r"""
        SetMetricSamplingPercentage(self, arg0)

        Parameters
        ----------
        arg0: double const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetMetricSamplingPercentage(self, arg0)

    def SetMetricSamplingPercentagePerLevel(self, samplingPercentages):
        r"""
        SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

        Parameters
        ----------
        samplingPercentages: itkArrayD const &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetMetricSamplingPercentagePerLevel(self, samplingPercentages)

    def GetMetricSamplingPercentagePerLevel(self):
        r"""GetMetricSamplingPercentagePerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetMetricSamplingPercentagePerLevel(self)

    def SetFixedInitialTransformInput(self, _arg):
        r"""
        SetFixedInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetFixedInitialTransformInput(self, _arg)

    def SetFixedInitialTransform(self, _arg):
        r"""
        SetFixedInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetFixedInitialTransform(self, _arg)

    def GetFixedInitialTransformInput(self):
        r"""GetFixedInitialTransformInput(self) -> itkDataObjectDecoratorTD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetFixedInitialTransformInput(self)

    def GetFixedInitialTransform(self):
        r"""GetFixedInitialTransform(self) -> itkTransformD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetFixedInitialTransform(self)

    def SetMovingInitialTransformInput(self, _arg):
        r"""
        SetMovingInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetMovingInitialTransformInput(self, _arg)

    def SetMovingInitialTransform(self, _arg):
        r"""
        SetMovingInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetMovingInitialTransform(self, _arg)

    def GetMovingInitialTransformInput(self):
        r"""GetMovingInitialTransformInput(self) -> itkDataObjectDecoratorTD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetMovingInitialTransformInput(self)

    def GetMovingInitialTransform(self):
        r"""GetMovingInitialTransform(self) -> itkTransformD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetMovingInitialTransform(self)

    def SetInitialTransformInput(self, _arg):
        r"""
        SetInitialTransformInput(self, _arg)

        Parameters
        ----------
        _arg: itkDataObjectDecoratorTD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetInitialTransformInput(self, _arg)

    def SetInitialTransform(self, _arg):
        r"""
        SetInitialTransform(self, _arg)

        Parameters
        ----------
        _arg: itkTransformD33 const *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetInitialTransform(self, _arg)

    def GetInitialTransformInput(self):
        r"""GetInitialTransformInput(self) -> itkDataObjectDecoratorTD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetInitialTransformInput(self)

    def GetInitialTransform(self):
        r"""GetInitialTransform(self) -> itkTransformD33"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetInitialTransform(self)

    def SetTransformParametersAdaptorsPerLevel(self, arg0):
        r"""
        SetTransformParametersAdaptorsPerLevel(self, arg0)

        Parameters
        ----------
        arg0: std::vector< itkTransformParametersAdaptorBaseD3_Pointer,std::allocator< itkTransformParametersAdaptorBaseD3_Pointer > > &

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetTransformParametersAdaptorsPerLevel(self, arg0)

    def GetTransformParametersAdaptorsPerLevel(self):
        r"""GetTransformParametersAdaptorsPerLevel(self) -> std::vector< itkTransformParametersAdaptorBaseD3_Pointer,std::allocator< itkTransformParametersAdaptorBaseD3_Pointer > > const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetTransformParametersAdaptorsPerLevel(self)

    def SetNumberOfLevels(self, arg0):
        r"""
        SetNumberOfLevels(self, arg0)

        Parameters
        ----------
        arg0: unsigned long const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetNumberOfLevels(self, arg0)

    def GetNumberOfLevels(self):
        r"""GetNumberOfLevels(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetNumberOfLevels(self)

    def SetShrinkFactorsPerLevel(self, factors):
        r"""
        SetShrinkFactorsPerLevel(self, factors)

        Parameters
        ----------
        factors: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetShrinkFactorsPerLevel(self, factors)

    def GetShrinkFactorsPerDimension(self, level):
        r"""
        GetShrinkFactorsPerDimension(self, level) -> itkFixedArrayUI3

        Parameters
        ----------
        level: unsigned int const

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetShrinkFactorsPerDimension(self, level)

    def SetShrinkFactorsPerDimension(self, level, factors):
        r"""
        SetShrinkFactorsPerDimension(self, level, factors)

        Parameters
        ----------
        level: unsigned int
        factors: itkFixedArrayUI3

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetShrinkFactorsPerDimension(self, level, factors)

    def SetSmoothingSigmasPerLevel(self, _arg):
        r"""
        SetSmoothingSigmasPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayD

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetSmoothingSigmasPerLevel(self, _arg)

    def GetSmoothingSigmasPerLevel(self):
        r"""GetSmoothingSigmasPerLevel(self) -> itkArrayD"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetSmoothingSigmasPerLevel(self)

    def SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg):
        r"""
        SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetSmoothingSigmasAreSpecifiedInPhysicalUnits(self, _arg)

    def GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self):
        r"""GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetSmoothingSigmasAreSpecifiedInPhysicalUnits(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOn(self)

    def SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self):
        r"""SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SmoothingSigmasAreSpecifiedInPhysicalUnitsOff(self)

    def GetOutput(self, *args):
        r"""
        GetOutput(self) -> itkDataObjectDecoratorDFTD3
        GetOutput(self) -> itkDataObjectDecoratorDFTD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetOutput(self, *args)

    def GetTransformOutput(self, *args):
        r"""
        GetTransformOutput(self) -> itkDataObjectDecoratorDFTD3
        GetTransformOutput(self) -> itkDataObjectDecoratorDFTD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetTransformOutput(self, *args)

    def GetModifiableTransform(self):
        r"""GetModifiableTransform(self) -> itkDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetModifiableTransform(self)

    def GetTransform(self):
        r"""GetTransform(self) -> itkDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetTransform(self)

    def GetCurrentLevel(self):
        r"""GetCurrentLevel(self) -> unsigned long"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetCurrentLevel(self)

    def GetCurrentIteration(self):
        r"""GetCurrentIteration(self) -> unsigned long const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetCurrentIteration(self)

    def GetCurrentMetricValue(self):
        r"""GetCurrentMetricValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetCurrentMetricValue(self)

    def GetCurrentConvergenceValue(self):
        r"""GetCurrentConvergenceValue(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetCurrentConvergenceValue(self)

    def GetIsConverged(self):
        r"""GetIsConverged(self) -> bool const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetIsConverged(self)

    def SetInPlace(self, _arg):
        r"""
        SetInPlace(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetInPlace(self, _arg)

    def GetInPlace(self):
        r"""GetInPlace(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetInPlace(self)

    def InPlaceOn(self):
        r"""InPlaceOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_InPlaceOn(self)

    def InPlaceOff(self):
        r"""InPlaceOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_InPlaceOff(self)

    def InitializeCenterOfLinearOutputTransformOn(self):
        r"""InitializeCenterOfLinearOutputTransformOn(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_InitializeCenterOfLinearOutputTransformOn(self)

    def InitializeCenterOfLinearOutputTransformOff(self):
        r"""InitializeCenterOfLinearOutputTransformOff(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_InitializeCenterOfLinearOutputTransformOff(self)

    def SetInitializeCenterOfLinearOutputTransform(self, _arg):
        r"""
        SetInitializeCenterOfLinearOutputTransform(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_SetInitializeCenterOfLinearOutputTransform(self, _arg)

    def GetInitializeCenterOfLinearOutputTransform(self):
        r"""GetInitializeCenterOfLinearOutputTransform(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_GetInitializeCenterOfLinearOutputTransform(self)

    def InitializeCenterOfLinearOutputTransform(self):
        r"""InitializeCenterOfLinearOutputTransform(self)"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_InitializeCenterOfLinearOutputTransform(self)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF3F3_Superclass

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF3F3_Superclass

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF3F3_Superclass

        Create a new object of the class itkSyNImageRegistrationMethodF3F3_Superclass and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF3F3_Superclass.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF3F3_Superclass.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF3F3_Superclass.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF3F3_Superclass in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Superclass_swigregister(itkSyNImageRegistrationMethodF3F3_Superclass)

def itkSyNImageRegistrationMethodF2F2_New():
    return itkSyNImageRegistrationMethodF2F2.New()

class itkSyNImageRegistrationMethodF2F2(itkSyNImageRegistrationMethodF2F2_Superclass):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF2F2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF2F2_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF2F2_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_Clone(self)

    def SetLearningRate(self, _arg):
        r"""
        SetLearningRate(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetLearningRate(self, _arg)

    def GetLearningRate(self):
        r"""GetLearningRate(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetLearningRate(self)

    def SetNumberOfIterationsPerLevel(self, _arg):
        r"""
        SetNumberOfIterationsPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetNumberOfIterationsPerLevel(self, _arg)

    def GetNumberOfIterationsPerLevel(self):
        r"""GetNumberOfIterationsPerLevel(self) -> itkArrayUL"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetNumberOfIterationsPerLevel(self)

    def SetConvergenceThreshold(self, _arg):
        r"""
        SetConvergenceThreshold(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetConvergenceThreshold(self, _arg)

    def GetConvergenceThreshold(self):
        r"""GetConvergenceThreshold(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetConvergenceThreshold(self)

    def SetConvergenceWindowSize(self, _arg):
        r"""
        SetConvergenceWindowSize(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetConvergenceWindowSize(self, _arg)

    def GetConvergenceWindowSize(self):
        r"""GetConvergenceWindowSize(self) -> unsigned int"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetConvergenceWindowSize(self)

    def SetDownsampleImagesForMetricDerivatives(self, _arg):
        r"""
        SetDownsampleImagesForMetricDerivatives(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetDownsampleImagesForMetricDerivatives(self, _arg)

    def GetDownsampleImagesForMetricDerivatives(self):
        r"""GetDownsampleImagesForMetricDerivatives(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetDownsampleImagesForMetricDerivatives(self)

    def SetAverageMidPointGradients(self, _arg):
        r"""
        SetAverageMidPointGradients(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetAverageMidPointGradients(self, _arg)

    def GetAverageMidPointGradients(self):
        r"""GetAverageMidPointGradients(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetAverageMidPointGradients(self)

    def SetGaussianSmoothingVarianceForTheUpdateField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

    def GetGaussianSmoothingVarianceForTheUpdateField(self):
        r"""GetGaussianSmoothingVarianceForTheUpdateField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetGaussianSmoothingVarianceForTheUpdateField(self)

    def SetGaussianSmoothingVarianceForTheTotalField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

    def GetGaussianSmoothingVarianceForTheTotalField(self):
        r"""GetGaussianSmoothingVarianceForTheTotalField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetGaussianSmoothingVarianceForTheTotalField(self)

    def GetModifiableFixedToMiddleTransform(self):
        r"""GetModifiableFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetModifiableFixedToMiddleTransform(self)

    def GetFixedToMiddleTransform(self, *args):
        r"""
        GetFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD2
        GetFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetFixedToMiddleTransform(self, *args)

    def GetModifiableMovingToMiddleTransform(self):
        r"""GetModifiableMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetModifiableMovingToMiddleTransform(self)

    def GetMovingToMiddleTransform(self, *args):
        r"""
        GetMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD2
        GetMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_GetMovingToMiddleTransform(self, *args)

    def SetFixedToMiddleTransform(self, _arg):
        r"""
        SetFixedToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkDisplacementFieldTransformD2 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetFixedToMiddleTransform(self, _arg)

    def SetMovingToMiddleTransform(self, _arg):
        r"""
        SetMovingToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkDisplacementFieldTransformD2 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_SetMovingToMiddleTransform(self, _arg)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF2F2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF2F2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF2F2

        Create a new object of the class itkSyNImageRegistrationMethodF2F2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF2F2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF2F2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF2F2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF2F2 in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2_swigregister(itkSyNImageRegistrationMethodF2F2)

def itkSyNImageRegistrationMethodF2F2BSOUDFTD2_New():
    return itkSyNImageRegistrationMethodF2F2BSOUDFTD2.New()

class itkSyNImageRegistrationMethodF2F2BSOUDFTD2(itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Superclass):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF2F2BSOUDFTD2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_Clone(self)

    def SetLearningRate(self, _arg):
        r"""
        SetLearningRate(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetLearningRate(self, _arg)

    def GetLearningRate(self):
        r"""GetLearningRate(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetLearningRate(self)

    def SetNumberOfIterationsPerLevel(self, _arg):
        r"""
        SetNumberOfIterationsPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetNumberOfIterationsPerLevel(self, _arg)

    def GetNumberOfIterationsPerLevel(self):
        r"""GetNumberOfIterationsPerLevel(self) -> itkArrayUL"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetNumberOfIterationsPerLevel(self)

    def SetConvergenceThreshold(self, _arg):
        r"""
        SetConvergenceThreshold(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetConvergenceThreshold(self, _arg)

    def GetConvergenceThreshold(self):
        r"""GetConvergenceThreshold(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetConvergenceThreshold(self)

    def SetConvergenceWindowSize(self, _arg):
        r"""
        SetConvergenceWindowSize(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetConvergenceWindowSize(self, _arg)

    def GetConvergenceWindowSize(self):
        r"""GetConvergenceWindowSize(self) -> unsigned int"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetConvergenceWindowSize(self)

    def SetDownsampleImagesForMetricDerivatives(self, _arg):
        r"""
        SetDownsampleImagesForMetricDerivatives(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetDownsampleImagesForMetricDerivatives(self, _arg)

    def GetDownsampleImagesForMetricDerivatives(self):
        r"""GetDownsampleImagesForMetricDerivatives(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetDownsampleImagesForMetricDerivatives(self)

    def SetAverageMidPointGradients(self, _arg):
        r"""
        SetAverageMidPointGradients(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetAverageMidPointGradients(self, _arg)

    def GetAverageMidPointGradients(self):
        r"""GetAverageMidPointGradients(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetAverageMidPointGradients(self)

    def SetGaussianSmoothingVarianceForTheUpdateField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

    def GetGaussianSmoothingVarianceForTheUpdateField(self):
        r"""GetGaussianSmoothingVarianceForTheUpdateField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetGaussianSmoothingVarianceForTheUpdateField(self)

    def SetGaussianSmoothingVarianceForTheTotalField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

    def GetGaussianSmoothingVarianceForTheTotalField(self):
        r"""GetGaussianSmoothingVarianceForTheTotalField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetGaussianSmoothingVarianceForTheTotalField(self)

    def GetModifiableFixedToMiddleTransform(self):
        r"""GetModifiableFixedToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetModifiableFixedToMiddleTransform(self)

    def GetFixedToMiddleTransform(self, *args):
        r"""
        GetFixedToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2
        GetFixedToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetFixedToMiddleTransform(self, *args)

    def GetModifiableMovingToMiddleTransform(self):
        r"""GetModifiableMovingToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetModifiableMovingToMiddleTransform(self)

    def GetMovingToMiddleTransform(self, *args):
        r"""
        GetMovingToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2
        GetMovingToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_GetMovingToMiddleTransform(self, *args)

    def SetFixedToMiddleTransform(self, _arg):
        r"""
        SetFixedToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetFixedToMiddleTransform(self, _arg)

    def SetMovingToMiddleTransform(self, _arg):
        r"""
        SetMovingToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkBSplineSmoothingOnUpdateDisplacementFieldTransformD2 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_SetMovingToMiddleTransform(self, _arg)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF2F2BSOUDFTD2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF2F2BSOUDFTD2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF2F2BSOUDFTD2

        Create a new object of the class itkSyNImageRegistrationMethodF2F2BSOUDFTD2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF2F2BSOUDFTD2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF2F2BSOUDFTD2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF2F2BSOUDFTD2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF2F2BSOUDFTD2 in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2BSOUDFTD2_swigregister(itkSyNImageRegistrationMethodF2F2BSOUDFTD2)

def itkSyNImageRegistrationMethodF2F2DFTD2MD2_New():
    return itkSyNImageRegistrationMethodF2F2DFTD2MD2.New()

class itkSyNImageRegistrationMethodF2F2DFTD2MD2(itkSyNImageRegistrationMethodF2F2DFTD2MD2_Superclass):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF2F2DFTD2MD2 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF2F2DFTD2MD2_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF2F2DFTD2MD2_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_Clone(self)

    def SetLearningRate(self, _arg):
        r"""
        SetLearningRate(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetLearningRate(self, _arg)

    def GetLearningRate(self):
        r"""GetLearningRate(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetLearningRate(self)

    def SetNumberOfIterationsPerLevel(self, _arg):
        r"""
        SetNumberOfIterationsPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetNumberOfIterationsPerLevel(self, _arg)

    def GetNumberOfIterationsPerLevel(self):
        r"""GetNumberOfIterationsPerLevel(self) -> itkArrayUL"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetNumberOfIterationsPerLevel(self)

    def SetConvergenceThreshold(self, _arg):
        r"""
        SetConvergenceThreshold(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetConvergenceThreshold(self, _arg)

    def GetConvergenceThreshold(self):
        r"""GetConvergenceThreshold(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetConvergenceThreshold(self)

    def SetConvergenceWindowSize(self, _arg):
        r"""
        SetConvergenceWindowSize(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetConvergenceWindowSize(self, _arg)

    def GetConvergenceWindowSize(self):
        r"""GetConvergenceWindowSize(self) -> unsigned int"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetConvergenceWindowSize(self)

    def SetDownsampleImagesForMetricDerivatives(self, _arg):
        r"""
        SetDownsampleImagesForMetricDerivatives(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetDownsampleImagesForMetricDerivatives(self, _arg)

    def GetDownsampleImagesForMetricDerivatives(self):
        r"""GetDownsampleImagesForMetricDerivatives(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetDownsampleImagesForMetricDerivatives(self)

    def SetAverageMidPointGradients(self, _arg):
        r"""
        SetAverageMidPointGradients(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetAverageMidPointGradients(self, _arg)

    def GetAverageMidPointGradients(self):
        r"""GetAverageMidPointGradients(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetAverageMidPointGradients(self)

    def SetGaussianSmoothingVarianceForTheUpdateField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

    def GetGaussianSmoothingVarianceForTheUpdateField(self):
        r"""GetGaussianSmoothingVarianceForTheUpdateField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetGaussianSmoothingVarianceForTheUpdateField(self)

    def SetGaussianSmoothingVarianceForTheTotalField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

    def GetGaussianSmoothingVarianceForTheTotalField(self):
        r"""GetGaussianSmoothingVarianceForTheTotalField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetGaussianSmoothingVarianceForTheTotalField(self)

    def GetModifiableFixedToMiddleTransform(self):
        r"""GetModifiableFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetModifiableFixedToMiddleTransform(self)

    def GetFixedToMiddleTransform(self, *args):
        r"""
        GetFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD2
        GetFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetFixedToMiddleTransform(self, *args)

    def GetModifiableMovingToMiddleTransform(self):
        r"""GetModifiableMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD2"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetModifiableMovingToMiddleTransform(self)

    def GetMovingToMiddleTransform(self, *args):
        r"""
        GetMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD2
        GetMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD2
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_GetMovingToMiddleTransform(self, *args)

    def SetFixedToMiddleTransform(self, _arg):
        r"""
        SetFixedToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkDisplacementFieldTransformD2 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetFixedToMiddleTransform(self, _arg)

    def SetMovingToMiddleTransform(self, _arg):
        r"""
        SetMovingToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkDisplacementFieldTransformD2 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_SetMovingToMiddleTransform(self, _arg)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF2F2DFTD2MD2

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF2F2DFTD2MD2

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF2F2DFTD2MD2

        Create a new object of the class itkSyNImageRegistrationMethodF2F2DFTD2MD2 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF2F2DFTD2MD2.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF2F2DFTD2MD2.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF2F2DFTD2MD2.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF2F2DFTD2MD2 in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF2F2DFTD2MD2_swigregister(itkSyNImageRegistrationMethodF2F2DFTD2MD2)

def itkSyNImageRegistrationMethodF3F3_New():
    return itkSyNImageRegistrationMethodF3F3.New()

class itkSyNImageRegistrationMethodF3F3(itkSyNImageRegistrationMethodF3F3_Superclass):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF3F3 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF3F3_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF3F3_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_Clone(self)

    def SetLearningRate(self, _arg):
        r"""
        SetLearningRate(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetLearningRate(self, _arg)

    def GetLearningRate(self):
        r"""GetLearningRate(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetLearningRate(self)

    def SetNumberOfIterationsPerLevel(self, _arg):
        r"""
        SetNumberOfIterationsPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetNumberOfIterationsPerLevel(self, _arg)

    def GetNumberOfIterationsPerLevel(self):
        r"""GetNumberOfIterationsPerLevel(self) -> itkArrayUL"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetNumberOfIterationsPerLevel(self)

    def SetConvergenceThreshold(self, _arg):
        r"""
        SetConvergenceThreshold(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetConvergenceThreshold(self, _arg)

    def GetConvergenceThreshold(self):
        r"""GetConvergenceThreshold(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetConvergenceThreshold(self)

    def SetConvergenceWindowSize(self, _arg):
        r"""
        SetConvergenceWindowSize(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetConvergenceWindowSize(self, _arg)

    def GetConvergenceWindowSize(self):
        r"""GetConvergenceWindowSize(self) -> unsigned int"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetConvergenceWindowSize(self)

    def SetDownsampleImagesForMetricDerivatives(self, _arg):
        r"""
        SetDownsampleImagesForMetricDerivatives(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetDownsampleImagesForMetricDerivatives(self, _arg)

    def GetDownsampleImagesForMetricDerivatives(self):
        r"""GetDownsampleImagesForMetricDerivatives(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetDownsampleImagesForMetricDerivatives(self)

    def SetAverageMidPointGradients(self, _arg):
        r"""
        SetAverageMidPointGradients(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetAverageMidPointGradients(self, _arg)

    def GetAverageMidPointGradients(self):
        r"""GetAverageMidPointGradients(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetAverageMidPointGradients(self)

    def SetGaussianSmoothingVarianceForTheUpdateField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

    def GetGaussianSmoothingVarianceForTheUpdateField(self):
        r"""GetGaussianSmoothingVarianceForTheUpdateField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetGaussianSmoothingVarianceForTheUpdateField(self)

    def SetGaussianSmoothingVarianceForTheTotalField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

    def GetGaussianSmoothingVarianceForTheTotalField(self):
        r"""GetGaussianSmoothingVarianceForTheTotalField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetGaussianSmoothingVarianceForTheTotalField(self)

    def GetModifiableFixedToMiddleTransform(self):
        r"""GetModifiableFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetModifiableFixedToMiddleTransform(self)

    def GetFixedToMiddleTransform(self, *args):
        r"""
        GetFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD3
        GetFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetFixedToMiddleTransform(self, *args)

    def GetModifiableMovingToMiddleTransform(self):
        r"""GetModifiableMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetModifiableMovingToMiddleTransform(self)

    def GetMovingToMiddleTransform(self, *args):
        r"""
        GetMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD3
        GetMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_GetMovingToMiddleTransform(self, *args)

    def SetFixedToMiddleTransform(self, _arg):
        r"""
        SetFixedToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkDisplacementFieldTransformD3 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetFixedToMiddleTransform(self, _arg)

    def SetMovingToMiddleTransform(self, _arg):
        r"""
        SetMovingToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkDisplacementFieldTransformD3 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_SetMovingToMiddleTransform(self, _arg)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF3F3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF3F3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF3F3

        Create a new object of the class itkSyNImageRegistrationMethodF3F3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF3F3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF3F3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF3F3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF3F3 in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3_swigregister(itkSyNImageRegistrationMethodF3F3)

def itkSyNImageRegistrationMethodF3F3BSOUDFTD3_New():
    return itkSyNImageRegistrationMethodF3F3BSOUDFTD3.New()

class itkSyNImageRegistrationMethodF3F3BSOUDFTD3(itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Superclass):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF3F3BSOUDFTD3 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_Clone(self)

    def SetLearningRate(self, _arg):
        r"""
        SetLearningRate(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetLearningRate(self, _arg)

    def GetLearningRate(self):
        r"""GetLearningRate(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetLearningRate(self)

    def SetNumberOfIterationsPerLevel(self, _arg):
        r"""
        SetNumberOfIterationsPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetNumberOfIterationsPerLevel(self, _arg)

    def GetNumberOfIterationsPerLevel(self):
        r"""GetNumberOfIterationsPerLevel(self) -> itkArrayUL"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetNumberOfIterationsPerLevel(self)

    def SetConvergenceThreshold(self, _arg):
        r"""
        SetConvergenceThreshold(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetConvergenceThreshold(self, _arg)

    def GetConvergenceThreshold(self):
        r"""GetConvergenceThreshold(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetConvergenceThreshold(self)

    def SetConvergenceWindowSize(self, _arg):
        r"""
        SetConvergenceWindowSize(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetConvergenceWindowSize(self, _arg)

    def GetConvergenceWindowSize(self):
        r"""GetConvergenceWindowSize(self) -> unsigned int"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetConvergenceWindowSize(self)

    def SetDownsampleImagesForMetricDerivatives(self, _arg):
        r"""
        SetDownsampleImagesForMetricDerivatives(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetDownsampleImagesForMetricDerivatives(self, _arg)

    def GetDownsampleImagesForMetricDerivatives(self):
        r"""GetDownsampleImagesForMetricDerivatives(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetDownsampleImagesForMetricDerivatives(self)

    def SetAverageMidPointGradients(self, _arg):
        r"""
        SetAverageMidPointGradients(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetAverageMidPointGradients(self, _arg)

    def GetAverageMidPointGradients(self):
        r"""GetAverageMidPointGradients(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetAverageMidPointGradients(self)

    def SetGaussianSmoothingVarianceForTheUpdateField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

    def GetGaussianSmoothingVarianceForTheUpdateField(self):
        r"""GetGaussianSmoothingVarianceForTheUpdateField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetGaussianSmoothingVarianceForTheUpdateField(self)

    def SetGaussianSmoothingVarianceForTheTotalField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

    def GetGaussianSmoothingVarianceForTheTotalField(self):
        r"""GetGaussianSmoothingVarianceForTheTotalField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetGaussianSmoothingVarianceForTheTotalField(self)

    def GetModifiableFixedToMiddleTransform(self):
        r"""GetModifiableFixedToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetModifiableFixedToMiddleTransform(self)

    def GetFixedToMiddleTransform(self, *args):
        r"""
        GetFixedToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3
        GetFixedToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetFixedToMiddleTransform(self, *args)

    def GetModifiableMovingToMiddleTransform(self):
        r"""GetModifiableMovingToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetModifiableMovingToMiddleTransform(self)

    def GetMovingToMiddleTransform(self, *args):
        r"""
        GetMovingToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3
        GetMovingToMiddleTransform(self) -> itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_GetMovingToMiddleTransform(self, *args)

    def SetFixedToMiddleTransform(self, _arg):
        r"""
        SetFixedToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetFixedToMiddleTransform(self, _arg)

    def SetMovingToMiddleTransform(self, _arg):
        r"""
        SetMovingToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkBSplineSmoothingOnUpdateDisplacementFieldTransformD3 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_SetMovingToMiddleTransform(self, _arg)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF3F3BSOUDFTD3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF3F3BSOUDFTD3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF3F3BSOUDFTD3

        Create a new object of the class itkSyNImageRegistrationMethodF3F3BSOUDFTD3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF3F3BSOUDFTD3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF3F3BSOUDFTD3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF3F3BSOUDFTD3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF3F3BSOUDFTD3 in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3BSOUDFTD3_swigregister(itkSyNImageRegistrationMethodF3F3BSOUDFTD3)

def itkSyNImageRegistrationMethodF3F3DFTD3MD3_New():
    return itkSyNImageRegistrationMethodF3F3DFTD3MD3.New()

class itkSyNImageRegistrationMethodF3F3DFTD3MD3(itkSyNImageRegistrationMethodF3F3DFTD3MD3_Superclass):
    r"""Proxy of C++ itkSyNImageRegistrationMethodF3F3DFTD3MD3 class."""

    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")

    def __init__(self, *args, **kwargs):
        raise AttributeError("No constructor defined")
    __repr__ = _swig_repr

    @staticmethod
    def __New_orig__():
        r"""__New_orig__() -> itkSyNImageRegistrationMethodF3F3DFTD3MD3_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3___New_orig__()

    def Clone(self):
        r"""Clone(self) -> itkSyNImageRegistrationMethodF3F3DFTD3MD3_Pointer"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_Clone(self)

    def SetLearningRate(self, _arg):
        r"""
        SetLearningRate(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetLearningRate(self, _arg)

    def GetLearningRate(self):
        r"""GetLearningRate(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetLearningRate(self)

    def SetNumberOfIterationsPerLevel(self, _arg):
        r"""
        SetNumberOfIterationsPerLevel(self, _arg)

        Parameters
        ----------
        _arg: itkArrayUL

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetNumberOfIterationsPerLevel(self, _arg)

    def GetNumberOfIterationsPerLevel(self):
        r"""GetNumberOfIterationsPerLevel(self) -> itkArrayUL"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetNumberOfIterationsPerLevel(self)

    def SetConvergenceThreshold(self, _arg):
        r"""
        SetConvergenceThreshold(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetConvergenceThreshold(self, _arg)

    def GetConvergenceThreshold(self):
        r"""GetConvergenceThreshold(self) -> double"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetConvergenceThreshold(self)

    def SetConvergenceWindowSize(self, _arg):
        r"""
        SetConvergenceWindowSize(self, _arg)

        Parameters
        ----------
        _arg: unsigned int

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetConvergenceWindowSize(self, _arg)

    def GetConvergenceWindowSize(self):
        r"""GetConvergenceWindowSize(self) -> unsigned int"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetConvergenceWindowSize(self)

    def SetDownsampleImagesForMetricDerivatives(self, _arg):
        r"""
        SetDownsampleImagesForMetricDerivatives(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetDownsampleImagesForMetricDerivatives(self, _arg)

    def GetDownsampleImagesForMetricDerivatives(self):
        r"""GetDownsampleImagesForMetricDerivatives(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetDownsampleImagesForMetricDerivatives(self)

    def SetAverageMidPointGradients(self, _arg):
        r"""
        SetAverageMidPointGradients(self, _arg)

        Parameters
        ----------
        _arg: bool

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetAverageMidPointGradients(self, _arg)

    def GetAverageMidPointGradients(self):
        r"""GetAverageMidPointGradients(self) -> bool"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetAverageMidPointGradients(self)

    def SetGaussianSmoothingVarianceForTheUpdateField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetGaussianSmoothingVarianceForTheUpdateField(self, _arg)

    def GetGaussianSmoothingVarianceForTheUpdateField(self):
        r"""GetGaussianSmoothingVarianceForTheUpdateField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetGaussianSmoothingVarianceForTheUpdateField(self)

    def SetGaussianSmoothingVarianceForTheTotalField(self, _arg):
        r"""
        SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

        Parameters
        ----------
        _arg: double

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetGaussianSmoothingVarianceForTheTotalField(self, _arg)

    def GetGaussianSmoothingVarianceForTheTotalField(self):
        r"""GetGaussianSmoothingVarianceForTheTotalField(self) -> double const &"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetGaussianSmoothingVarianceForTheTotalField(self)

    def GetModifiableFixedToMiddleTransform(self):
        r"""GetModifiableFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetModifiableFixedToMiddleTransform(self)

    def GetFixedToMiddleTransform(self, *args):
        r"""
        GetFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD3
        GetFixedToMiddleTransform(self) -> itkDisplacementFieldTransformD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetFixedToMiddleTransform(self, *args)

    def GetModifiableMovingToMiddleTransform(self):
        r"""GetModifiableMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD3"""
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetModifiableMovingToMiddleTransform(self)

    def GetMovingToMiddleTransform(self, *args):
        r"""
        GetMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD3
        GetMovingToMiddleTransform(self) -> itkDisplacementFieldTransformD3
        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_GetMovingToMiddleTransform(self, *args)

    def SetFixedToMiddleTransform(self, _arg):
        r"""
        SetFixedToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkDisplacementFieldTransformD3 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetFixedToMiddleTransform(self, _arg)

    def SetMovingToMiddleTransform(self, _arg):
        r"""
        SetMovingToMiddleTransform(self, _arg)

        Parameters
        ----------
        _arg: itkDisplacementFieldTransformD3 *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_SetMovingToMiddleTransform(self, _arg)
    __swig_destroy__ = _itkSyNImageRegistrationMethodPython.delete_itkSyNImageRegistrationMethodF3F3DFTD3MD3

    @staticmethod
    def cast(obj):
        r"""
        cast(obj) -> itkSyNImageRegistrationMethodF3F3DFTD3MD3

        Parameters
        ----------
        obj: itkLightObject *

        """
        return _itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_cast(obj)

    def New(*args, **kargs):
        """New() -> itkSyNImageRegistrationMethodF3F3DFTD3MD3

        Create a new object of the class itkSyNImageRegistrationMethodF3F3DFTD3MD3 and set the input and the parameters if some
        named or non-named arguments are passed to that method.

        New() tries to assign all the non named parameters to the input of the new objects - the
        first non named parameter in the first input, etc.

        The named parameters are used by calling the method with the same name prefixed by 'Set'.

        Ex:

          itkSyNImageRegistrationMethodF3F3DFTD3MD3.New(reader, threshold=10)

        is (most of the time) equivalent to:

          obj = itkSyNImageRegistrationMethodF3F3DFTD3MD3.New()
          obj.SetInput(0, reader.GetOutput())
          obj.SetThreshold(10)
        """
        obj = itkSyNImageRegistrationMethodF3F3DFTD3MD3.__New_orig__()
        from itk.support import template_class
        template_class.New(obj, *args, **kargs)
        return obj
    New = staticmethod(New)


# Register itkSyNImageRegistrationMethodF3F3DFTD3MD3 in _itkSyNImageRegistrationMethodPython:
_itkSyNImageRegistrationMethodPython.itkSyNImageRegistrationMethodF3F3DFTD3MD3_swigregister(itkSyNImageRegistrationMethodF3F3DFTD3MD3)

from itk.support import helpers
import itk.support.types as itkt
from typing import Sequence, Tuple, Union

@helpers.accept_array_like_xarray_torch
def sy_n_image_registration_method(*args,  learning_rate: float=..., number_of_iterations_per_level: Sequence[int]=..., convergence_threshold: float=..., convergence_window_size: int=..., downsample_images_for_metric_derivatives: bool=..., average_mid_point_gradients: bool=..., gaussian_smoothing_variance_for_the_update_field: float=..., gaussian_smoothing_variance_for_the_total_field: float=..., fixed_to_middle_transform=..., moving_to_middle_transform=..., fixed_image: Union[itkt.Image, int]=..., moving_image: Union[itkt.Image, int]=..., fixed_point_set: Union[itkt.PointSet, int]=..., moving_point_set: Union[itkt.PointSet, int]=..., optimizer=..., optimizer_weights=..., metric=..., metric_sampling_strategy=..., metric_sampling_percentage: float=..., metric_sampling_percentage_per_level: Sequence[float]=..., fixed_initial_transform_input=..., fixed_initial_transform: itkt.Transform=..., moving_initial_transform_input=..., moving_initial_transform: itkt.Transform=..., initial_transform_input=..., initial_transform: itkt.Transform=..., transform_parameters_adaptors_per_level=..., number_of_levels: int=..., shrink_factors_per_level: Sequence[int]=..., shrink_factors_per_dimension: int=..., smoothing_sigmas_per_level: Sequence[float]=..., smoothing_sigmas_are_specified_in_physical_units: bool=..., initialize_center_of_linear_output_transform: bool=...,**kwargs):
    """Functional interface for SyNImageRegistrationMethod"""
    import itk

    kwarg_typehints = { 'learning_rate':learning_rate,'number_of_iterations_per_level':number_of_iterations_per_level,'convergence_threshold':convergence_threshold,'convergence_window_size':convergence_window_size,'downsample_images_for_metric_derivatives':downsample_images_for_metric_derivatives,'average_mid_point_gradients':average_mid_point_gradients,'gaussian_smoothing_variance_for_the_update_field':gaussian_smoothing_variance_for_the_update_field,'gaussian_smoothing_variance_for_the_total_field':gaussian_smoothing_variance_for_the_total_field,'fixed_to_middle_transform':fixed_to_middle_transform,'moving_to_middle_transform':moving_to_middle_transform,'fixed_image':fixed_image,'moving_image':moving_image,'fixed_point_set':fixed_point_set,'moving_point_set':moving_point_set,'optimizer':optimizer,'optimizer_weights':optimizer_weights,'metric':metric,'metric_sampling_strategy':metric_sampling_strategy,'metric_sampling_percentage':metric_sampling_percentage,'metric_sampling_percentage_per_level':metric_sampling_percentage_per_level,'fixed_initial_transform_input':fixed_initial_transform_input,'fixed_initial_transform':fixed_initial_transform,'moving_initial_transform_input':moving_initial_transform_input,'moving_initial_transform':moving_initial_transform,'initial_transform_input':initial_transform_input,'initial_transform':initial_transform,'transform_parameters_adaptors_per_level':transform_parameters_adaptors_per_level,'number_of_levels':number_of_levels,'shrink_factors_per_level':shrink_factors_per_level,'shrink_factors_per_dimension':shrink_factors_per_dimension,'smoothing_sigmas_per_level':smoothing_sigmas_per_level,'smoothing_sigmas_are_specified_in_physical_units':smoothing_sigmas_are_specified_in_physical_units,'initialize_center_of_linear_output_transform':initialize_center_of_linear_output_transform }
    specified_kwarg_typehints = { k:v for (k,v) in kwarg_typehints.items() if kwarg_typehints[k] is not ... }
    kwargs.update(specified_kwarg_typehints)


    instance = itk.SyNImageRegistrationMethod.New(*args, **kwargs)

    return instance.__internal_call__()

def sy_n_image_registration_method_init_docstring():
    import itk
    from itk.support import template_class

    filter_class = itk.ITKRegistrationMethodsv4.SyNImageRegistrationMethod
    sy_n_image_registration_method.process_object = filter_class
    is_template = isinstance(filter_class, template_class.itkTemplate)
    if is_template:
        filter_object = filter_class.values()[0]
    else:
        filter_object = filter_class

    sy_n_image_registration_method.__doc__ = filter_object.__doc__

from itk.support import helpers
import itk.support.types as itkt
from typing import Sequence, Tuple, Union

@helpers.accept_array_like_xarray_torch
def image_registration_methodv4(*args,  fixed_image: Union[int, itkt.Image]=..., moving_image: Union[itkt.Image, int]=..., fixed_point_set: Union[itkt.PointSet, int]=..., moving_point_set: Union[itkt.PointSet, int]=..., optimizer=..., optimizer_weights=..., metric=..., metric_sampling_strategy=..., metric_sampling_percentage: float=..., metric_sampling_percentage_per_level: Sequence[float]=..., fixed_initial_transform_input=..., fixed_initial_transform: itkt.Transform=..., moving_initial_transform_input=..., moving_initial_transform: itkt.Transform=..., initial_transform_input=..., initial_transform: itkt.Transform=..., transform_parameters_adaptors_per_level=..., number_of_levels: int=..., shrink_factors_per_level: Sequence[int]=..., shrink_factors_per_dimension: int=..., smoothing_sigmas_per_level: Sequence[float]=..., smoothing_sigmas_are_specified_in_physical_units: bool=..., initialize_center_of_linear_output_transform: bool=...,**kwargs):
    """Functional interface for ImageRegistrationMethodv4"""
    import itk

    kwarg_typehints = { 'fixed_image':fixed_image,'moving_image':moving_image,'fixed_point_set':fixed_point_set,'moving_point_set':moving_point_set,'optimizer':optimizer,'optimizer_weights':optimizer_weights,'metric':metric,'metric_sampling_strategy':metric_sampling_strategy,'metric_sampling_percentage':metric_sampling_percentage,'metric_sampling_percentage_per_level':metric_sampling_percentage_per_level,'fixed_initial_transform_input':fixed_initial_transform_input,'fixed_initial_transform':fixed_initial_transform,'moving_initial_transform_input':moving_initial_transform_input,'moving_initial_transform':moving_initial_transform,'initial_transform_input':initial_transform_input,'initial_transform':initial_transform,'transform_parameters_adaptors_per_level':transform_parameters_adaptors_per_level,'number_of_levels':number_of_levels,'shrink_factors_per_level':shrink_factors_per_level,'shrink_factors_per_dimension':shrink_factors_per_dimension,'smoothing_sigmas_per_level':smoothing_sigmas_per_level,'smoothing_sigmas_are_specified_in_physical_units':smoothing_sigmas_are_specified_in_physical_units,'initialize_center_of_linear_output_transform':initialize_center_of_linear_output_transform }
    specified_kwarg_typehints = { k:v for (k,v) in kwarg_typehints.items() if kwarg_typehints[k] is not ... }
    kwargs.update(specified_kwarg_typehints)


    instance = itk.ImageRegistrationMethodv4.New(*args, **kwargs)

    return instance.__internal_call__()

def image_registration_methodv4_init_docstring():
    import itk
    from itk.support import template_class

    filter_class = itk.ITKRegistrationMethodsv4.ImageRegistrationMethodv4
    image_registration_methodv4.process_object = filter_class
    is_template = isinstance(filter_class, template_class.itkTemplate)
    if is_template:
        filter_object = filter_class.values()[0]
    else:
        filter_object = filter_class

    image_registration_methodv4.__doc__ = filter_object.__doc__



