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

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[int, itkt.Image]=..., moving_image: Union[int, itkt.Image]=..., fixed_point_set: Union[int, itkt.PointSet]=..., moving_point_set: Union[int, itkt.PointSet]=..., 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[itkt.Image, int]=..., moving_image: Union[int, itkt.Image]=..., fixed_point_set: Union[int, itkt.PointSet]=..., moving_point_set: Union[int, itkt.PointSet]=..., 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__



