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

from sys import version_info as _swig_python_version_info
if _swig_python_version_info < (2, 7, 0):
    raise RuntimeError("Python 2.7 or later required")

# Import the low-level C/C++ module
if __package__ or "." in __name__:
    from . import _p3dFilt
else:
    import _p3dFilt

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 == "thisown":
            self.this.own(value)
        elif name == "this":
            set(self, name, 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__)



def cdata(ptr, nelements=1):
    return _p3dFilt.cdata(ptr, nelements)

def memmove(data, indata):
    return _p3dFilt.memmove(data, indata)

def malloc_uchar(*args):
    return _p3dFilt.malloc_uchar(*args)

def calloc_uchar(*args):
    return _p3dFilt.calloc_uchar(*args)

def realloc_uchar(ptr, nitems):
    return _p3dFilt.realloc_uchar(ptr, nitems)

def free_uchar(ptr):
    return _p3dFilt.free_uchar(ptr)
sizeof_uchar = _p3dFilt.sizeof_uchar

def malloc_ushort(*args):
    return _p3dFilt.malloc_ushort(*args)

def calloc_ushort(*args):
    return _p3dFilt.calloc_ushort(*args)

def realloc_ushort(ptr, nitems):
    return _p3dFilt.realloc_ushort(ptr, nitems)

def free_ushort(ptr):
    return _p3dFilt.free_ushort(ptr)
sizeof_ushort = _p3dFilt.sizeof_ushort

def p3dResetStartTime():
    return _p3dFilt.p3dResetStartTime()

def p3dGetElapsedTime():
    return _p3dFilt.p3dGetElapsedTime()

def p3dGetElapsedTime_min():
    return _p3dFilt.p3dGetElapsedTime_min()

def p3dGetElapsedTime_sec():
    return _p3dFilt.p3dGetElapsedTime_sec()
P3D_FALSE = _p3dFilt.P3D_FALSE
P3D_TRUE = _p3dFilt.P3D_TRUE
P3D_ERROR = _p3dFilt.P3D_ERROR
P3D_IO_ERROR = _p3dFilt.P3D_IO_ERROR
P3D_SUCCESS = _p3dFilt.P3D_SUCCESS
BACKGROUND = _p3dFilt.BACKGROUND
CONN6 = _p3dFilt.CONN6
CONN18 = _p3dFilt.CONN18
CONN26 = _p3dFilt.CONN26

def p3dReadRaw8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress):
    return _p3dFilt.p3dReadRaw8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress)

def p3dReadRaw16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress):
    return _p3dFilt.p3dReadRaw16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress)

def p3dWriteRaw8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress):
    return _p3dFilt.p3dWriteRaw8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress)

def p3dWriteRaw16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress):
    return _p3dFilt.p3dWriteRaw16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress)

def p3dWriteRaw32(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress):
    return _p3dFilt.p3dWriteRaw32(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress)

def p3dWriteRaw32f(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress):
    return _p3dFilt.p3dWriteRaw32f(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress)

def p3dCrop2D_8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress):
    return _p3dFilt.p3dCrop2D_8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress)

def p3dCrop2D_16(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress):
    return _p3dFilt.p3dCrop2D_16(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress)

def p3dCrop3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dCrop3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dCrop3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dCrop3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dZeroPadding2D_8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress):
    return _p3dFilt.p3dZeroPadding2D_8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress)

def p3dZeroPadding2D_16(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress):
    return _p3dFilt.p3dZeroPadding2D_16(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress)

def p3dZeroPadding3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dZeroPadding3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dZeroPadding3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dZeroPadding3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dReplicatePadding2D_8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress):
    return _p3dFilt.p3dReplicatePadding2D_8(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress)

def p3dReplicatePadding2D_16(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress):
    return _p3dFilt.p3dReplicatePadding2D_16(arg1, arg2, arg3, arg4, arg5, wr_log, wr_progress)

def p3dReplicatePadding3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dReplicatePadding3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dReplicatePadding3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dReplicatePadding3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def _p3dZeroPadding3D_float(arg1, arg2, arg3, arg4, arg5, arg6):
    return _p3dFilt._p3dZeroPadding3D_float(arg1, arg2, arg3, arg4, arg5, arg6)

def _p3dReplicatePadding3D_float(arg1, arg2, arg3, arg4, arg5, arg6):
    return _p3dFilt._p3dReplicatePadding3D_float(arg1, arg2, arg3, arg4, arg5, arg6)

def _p3dZeroPadding3D_uchar2float(arg1, arg2, arg3, arg4, arg5, arg6):
    return _p3dFilt._p3dZeroPadding3D_uchar2float(arg1, arg2, arg3, arg4, arg5, arg6)

def _p3dReplicatePadding3D_uchar2float(arg1, arg2, arg3, arg4, arg5, arg6):
    return _p3dFilt._p3dReplicatePadding3D_uchar2float(arg1, arg2, arg3, arg4, arg5, arg6)

def _p3dZeroPadding3D_ushort2float(arg1, arg2, arg3, arg4, arg5, arg6):
    return _p3dFilt._p3dZeroPadding3D_ushort2float(arg1, arg2, arg3, arg4, arg5, arg6)

def _p3dReplicatePadding3D_ushort2float(arg1, arg2, arg3, arg4, arg5, arg6):
    return _p3dFilt._p3dReplicatePadding3D_ushort2float(arg1, arg2, arg3, arg4, arg5, arg6)

def p3dAnisotropicDiffusionFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log, wr_progress):
    return _p3dFilt.p3dAnisotropicDiffusionFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log, wr_progress)

def p3dAnisotropicDiffusionFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log, wr_progress):
    return _p3dFilt.p3dAnisotropicDiffusionFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log, wr_progress)

def p3dBilateralFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log, wr_progress):
    return _p3dFilt.p3dBilateralFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log, wr_progress)

def p3dBilateralFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log, wr_progress):
    return _p3dFilt.p3dBilateralFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log, wr_progress)

def p3dGaussianFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress):
    return _p3dFilt.p3dGaussianFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress)

def p3dGaussianFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress):
    return _p3dFilt.p3dGaussianFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress)

def p3dMeanFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dMeanFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dMeanFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dMeanFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dMedianFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dMedianFilter3D_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dMedianFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dMedianFilter3D_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dBoinHaibelRingRemover2D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log):
    return _p3dFilt.p3dBoinHaibelRingRemover2D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log)

def p3dBoinHaibelRingRemover2D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log):
    return _p3dFilt.p3dBoinHaibelRingRemover2D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log)

def p3dSijbersPostnovRingRemover2D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, wr_log, wr_progress):
    return _p3dFilt.p3dSijbersPostnovRingRemover2D_8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, wr_log, wr_progress)

def p3dSijbersPostnovRingRemover2D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, wr_log, wr_progress):
    return _p3dFilt.p3dSijbersPostnovRingRemover2D_16(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11, arg12, wr_log, wr_progress)

def p3dKittlerThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dKittlerThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dKittlerThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dKittlerThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dOtsuThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dOtsuThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dOtsuThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dOtsuThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dPunThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dPunThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dPunThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dPunThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dRidlerThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dRidlerThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dRidlerThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dRidlerThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dKapurThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dKapurThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dKapurThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dKapurThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dJohannsenThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dJohannsenThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dJohannsenThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dJohannsenThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dHuangYagerThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dHuangYagerThresholding_8(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dHuangYagerThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress):
    return _p3dFilt.p3dHuangYagerThresholding_16(arg1, arg2, arg3, arg4, arg5, arg6, wr_log, wr_progress)

def p3dClearBorderFilter3D(arg1, arg2, arg3, arg4, arg5, arg6, wr_log):
    return _p3dFilt.p3dClearBorderFilter3D(arg1, arg2, arg3, arg4, arg5, arg6, wr_log)

def p3dGetRegionByCoords3D(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log):
    return _p3dFilt.p3dGetRegionByCoords3D(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, wr_log)

def p3dCreateBinaryCircle(arg1, arg2, arg3, arg4, arg5, arg6, wr_log):
    return _p3dFilt.p3dCreateBinaryCircle(arg1, arg2, arg3, arg4, arg5, arg6, wr_log)

def p3dCreateBinaryCylinder(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log):
    return _p3dFilt.p3dCreateBinaryCylinder(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log)

def p3dCreateBinarySphere(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, wr_log):
    return _p3dFilt.p3dCreateBinarySphere(arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, wr_log)

def p3dFrom16To8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress):
    return _p3dFilt.p3dFrom16To8(arg1, arg2, arg3, arg4, arg5, arg6, arg7, wr_log, wr_progress)
class coords_qelem_t(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    item = property(_p3dFilt.coords_qelem_t_item_get, _p3dFilt.coords_qelem_t_item_set)
    next = property(_p3dFilt.coords_qelem_t_next_get, _p3dFilt.coords_qelem_t_next_set)

    def __init__(self):
        _p3dFilt.coords_qelem_t_swiginit(self, _p3dFilt.new_coords_qelem_t())
    __swig_destroy__ = _p3dFilt.delete_coords_qelem_t

# Register coords_qelem_t in _p3dFilt:
_p3dFilt.coords_qelem_t_swigregister(coords_qelem_t)

class coords_q_t(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    tail = property(_p3dFilt.coords_q_t_tail_get, _p3dFilt.coords_q_t_tail_set)
    head = property(_p3dFilt.coords_q_t_head_get, _p3dFilt.coords_q_t_head_set)

    def __init__(self):
        _p3dFilt.coords_q_t_swiginit(self, _p3dFilt.new_coords_q_t())
    __swig_destroy__ = _p3dFilt.delete_coords_q_t

# Register coords_q_t in _p3dFilt:
_p3dFilt.coords_q_t_swigregister(coords_q_t)


def coords_queue_init(queue):
    return _p3dFilt.coords_queue_init(queue)

def coords_queue_push(queue, elem):
    return _p3dFilt.coords_queue_push(queue, elem)

def coords_queue_pop(queue):
    return _p3dFilt.coords_queue_pop(queue)

def coords_queue_isempty(queue):
    return _p3dFilt.coords_queue_isempty(queue)
class coords_t(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    x = property(_p3dFilt.coords_t_x_get, _p3dFilt.coords_t_x_set)
    y = property(_p3dFilt.coords_t_y_get, _p3dFilt.coords_t_y_set)
    z = property(_p3dFilt.coords_t_z_get, _p3dFilt.coords_t_z_set)

    def __init__(self):
        _p3dFilt.coords_t_swiginit(self, _p3dFilt.new_coords_t())
    __swig_destroy__ = _p3dFilt.delete_coords_t

# Register coords_t in _p3dFilt:
_p3dFilt.coords_t_swigregister(coords_t)

class fcoords_t(object):
    thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag")
    __repr__ = _swig_repr
    x = property(_p3dFilt.fcoords_t_x_get, _p3dFilt.fcoords_t_x_set)
    y = property(_p3dFilt.fcoords_t_y_get, _p3dFilt.fcoords_t_y_set)
    z = property(_p3dFilt.fcoords_t_z_get, _p3dFilt.fcoords_t_z_set)

    def __init__(self):
        _p3dFilt.fcoords_t_swiginit(self, _p3dFilt.new_fcoords_t())
    __swig_destroy__ = _p3dFilt.delete_fcoords_t

# Register fcoords_t in _p3dFilt:
_p3dFilt.fcoords_t_swigregister(fcoords_t)


def _isPath(arg1):
    return _p3dFilt._isPath(arg1)

def p3dCartesian2polar_8(in_im, out_im, dimx, dimy, centerX, centerY, precision, polarX):
    return _p3dFilt.p3dCartesian2polar_8(in_im, out_im, dimx, dimy, centerX, centerY, precision, polarX)

def p3dCartesian2polar_16(in_im, out_im, dimx, dimy, centerX, centerY, precision, polarX):
    return _p3dFilt.p3dCartesian2polar_16(in_im, out_im, dimx, dimy, centerX, centerY, precision, polarX)

def p3dPolar2cartesian_8(in_im, out_im, polarX, centerX, centerY, original_dimx, original_dimy):
    return _p3dFilt.p3dPolar2cartesian_8(in_im, out_im, polarX, centerX, centerY, original_dimx, original_dimy)

def p3dPolar2cartesian_16(in_im, out_im, polarX, centerX, centerY, original_dimx, original_dimy):
    return _p3dFilt.p3dPolar2cartesian_16(in_im, out_im, polarX, centerX, centerY, original_dimx, original_dimy)


