# CONFIDENTIAL. (C) 2017 OpenEye Scientific Software Inc.
# All rights reserved.
# 
# ALL SOFTWARE BELOW IS PROPRIETARY AND CONFIDENTIAL TO OPENEYE
# SCIENTIFIC SOFTWARE INC., AND IS SUBJECT TO THE FULL PROTECTION OF
# COPYRIGHT AND TRADESECRET LAW.
# Copying or modifying this software is strictly prohibited and illegal.
# Using this software without a valid license from OpenEye is strictly
# prohibited and illegal.  De-obfuscating, de-minimizing, or any other
# attempt to reverse engineer or discover the workings of this software,
# is strictly prohibited. Even if software is exposed or visible, it is
# still proprietary and confidential and the above prohibitions apply.
# This software is NOT "Sample Code". For purposes of customization or
# interoperation with other software you must use Sample Code
# specifically labeled as such.
# Please contact OpenEye at eyesopen.com/legal if you have any questions
# about this warning.


# This file was automatically generated by SWIG (http://www.swig.org).
# Version 3.0.12
#
# 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

def swig_import_helper():
    from os.path import dirname
    import importlib.util

    spec = importlib.machinery.PathFinder().find_spec("_oechem", [dirname(__file__)])

    if spec is None:
        # OpenEye Import Statements
        spec = importlib.machinery.PathFinder().find_spec("libs",[dirname(__file__)])
    libs = importlib.util.module_from_spec(spec)

    import sys
    sys.modules[spec.name] = libs
    spec.loader.exec_module(libs)

    assert not sys.platform.startswith('win')

    _oestats = libs.OEGetModule('_oestats0965')
    return _oestats

_oestats = swig_import_helper()
del swig_import_helper
del _swig_python_version_info

try:
    _swig_property = property
except NameError:
    pass  # Python < 2.2 doesn't have 'property'.

try:
    import builtins as __builtin__
except ImportError:
    import __builtin__

def _swig_setattr_nondynamic(self, class_type, name, value, static=1):
    if (name == "thisown"):
        return self.this.own(value)
    if (name == "this"):
        if type(value).__name__ == 'SwigPyObject':
            self.__dict__[name] = value
            return
    method = class_type.__swig_setmethods__.get(name, None)
    if method:
        return method(self, value)
    if (not static):
        object.__setattr__(self, name, value)
    else:
        raise AttributeError("You cannot add attributes to %s" % self)


def _swig_setattr(self, class_type, name, value):
    return _swig_setattr_nondynamic(self, class_type, name, value, 0)


def _swig_getattr(self, class_type, name):
    if (name == "thisown"):
        return self.this.own()
    method = class_type.__swig_getmethods__.get(name, None)
    if method:
        return method(self)
    raise AttributeError("'%s' object has no attribute '%s'" % (class_type.__name__, name))


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_method(set):
    def set_attr(self, name, value):
        if (name == "thisown"):
            return self.this.own(value)
        if hasattr(self, name) or (name == "this"):
            set(self, name, value)
        else:
            raise AttributeError("You cannot add attributes to %s" % self)
    return set_attr


try:
    import weakref
    weakref_proxy = weakref.proxy
except __builtin__.Exception:
    weakref_proxy = lambda x: x


import openeye.oechem as oechem
OEKrigeKernelType_Linear = _oestats.OEKrigeKernelType_Linear
OEKrigeKernelType_Exponential = _oestats.OEKrigeKernelType_Exponential
OEKrigeKernelType_Gaussian = _oestats.OEKrigeKernelType_Gaussian
OEKrigeKernelType_Spherical = _oestats.OEKrigeKernelType_Spherical
OEKrigeKernelType_Cauchy = _oestats.OEKrigeKernelType_Cauchy
OEKrigeKernelType_Custom = _oestats.OEKrigeKernelType_Custom
KrigeUniqueResponseMethod_meanVal = _oestats.KrigeUniqueResponseMethod_meanVal
KrigeUniqueResponseMethod_minVal = _oestats.KrigeUniqueResponseMethod_minVal
KrigeUniqueResponseMethod_maxVal = _oestats.KrigeUniqueResponseMethod_maxVal
KrigeOptionDefaults_numLocal = _oestats.KrigeOptionDefaults_numLocal
KrigeOptionDefaults_includeUnmeasured = _oestats.KrigeOptionDefaults_includeUnmeasured
KrigeOptionDefaults_maxVariogramSize = _oestats.KrigeOptionDefaults_maxVariogramSize
KrigeOptionDefaults_predictTraining = _oestats.KrigeOptionDefaults_predictTraining
KrigeOptionDefaults_uniqueResponseMethod = _oestats.KrigeOptionDefaults_uniqueResponseMethod
class OEKrigeKernelBase(object):
    """Proxy of C++ OEStats::OEKrigeKernelBase class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def GetName(self) -> "std::string":
        """GetName(OEKrigeKernelBase self) -> std::string"""
        return _oestats.OEKrigeKernelBase_GetName(self)


    def GetValue(self, distance: 'double') -> "double":
        """GetValue(OEKrigeKernelBase self, double distance) -> double"""
        return _oestats.OEKrigeKernelBase_GetValue(self, distance)


    def GetRange(self) -> "double":
        """GetRange(OEKrigeKernelBase self) -> double"""
        return _oestats.OEKrigeKernelBase_GetRange(self)


    def GetNugget(self) -> "double":
        """GetNugget(OEKrigeKernelBase self) -> double"""
        return _oestats.OEKrigeKernelBase_GetNugget(self)


    def GetSill(self) -> "double":
        """GetSill(OEKrigeKernelBase self) -> double"""
        return _oestats.OEKrigeKernelBase_GetSill(self)


    def SetRange(self, range: 'double') -> "OEStats::OEKrigeKernelBase &":
        """SetRange(OEKrigeKernelBase self, double range) -> OEKrigeKernelBase"""
        return _oestats.OEKrigeKernelBase_SetRange(self, range)


    def SetNugget(self, nugget: 'double') -> "OEStats::OEKrigeKernelBase &":
        """SetNugget(OEKrigeKernelBase self, double nugget) -> OEKrigeKernelBase"""
        return _oestats.OEKrigeKernelBase_SetNugget(self, nugget)


    def SetSill(self, sill: 'double') -> "OEStats::OEKrigeKernelBase &":
        """SetSill(OEKrigeKernelBase self, double sill) -> OEKrigeKernelBase"""
        return _oestats.OEKrigeKernelBase_SetSill(self, sill)


    def CreateCopy(self, *args):
        try:
            return _oestats.OEKrigeKernelBase_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)


    __swig_destroy__ = _oestats.delete_OEKrigeKernelBase
    __del__ = lambda self: None

    def __init__(self):
        """__init__(OEStats::OEKrigeKernelBase self) -> OEKrigeKernelBase"""
        if self.__class__ == OEKrigeKernelBase:
            _self = None
        else:
            _self = self
        this = _oestats.new_OEKrigeKernelBase(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    def __disown__(self):
        self.this.disown()
        _oestats.disown_OEKrigeKernelBase(self)
        return weakref_proxy(self)
OEKrigeKernelBase_swigregister = _oestats.OEKrigeKernelBase_swigregister
OEKrigeKernelBase_swigregister(OEKrigeKernelBase)

class OEKrigeKernel(OEKrigeKernelBase):
    """Proxy of C++ OEStats::OEKrigeKernel class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def GetName(self) -> "std::string":
        """GetName(OEKrigeKernel self) -> std::string"""
        return _oestats.OEKrigeKernel_GetName(self)


    def GetValue(self, distance: 'double') -> "double":
        """GetValue(OEKrigeKernel self, double distance) -> double"""
        return _oestats.OEKrigeKernel_GetValue(self, distance)


    def GetRange(self) -> "double":
        """GetRange(OEKrigeKernel self) -> double"""
        return _oestats.OEKrigeKernel_GetRange(self)


    def GetNugget(self) -> "double":
        """GetNugget(OEKrigeKernel self) -> double"""
        return _oestats.OEKrigeKernel_GetNugget(self)


    def GetSill(self) -> "double":
        """GetSill(OEKrigeKernel self) -> double"""
        return _oestats.OEKrigeKernel_GetSill(self)


    def SetRange(self, range: 'double') -> "OEStats::OEKrigeKernelBase &":
        """SetRange(OEKrigeKernel self, double range) -> OEKrigeKernelBase"""
        return _oestats.OEKrigeKernel_SetRange(self, range)


    def SetNugget(self, nugget: 'double') -> "OEStats::OEKrigeKernelBase &":
        """SetNugget(OEKrigeKernel self, double nugget) -> OEKrigeKernelBase"""
        return _oestats.OEKrigeKernel_SetNugget(self, nugget)


    def SetSill(self, sill: 'double') -> "OEStats::OEKrigeKernelBase &":
        """SetSill(OEKrigeKernel self, double sill) -> OEKrigeKernelBase"""
        return _oestats.OEKrigeKernel_SetSill(self, sill)


    def CreateCopy(self, *args):
        try:
            return _oestats.OEKrigeKernel_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def __init__(self, *args):
        """
        __init__(OEStats::OEKrigeKernel self, unsigned int type) -> OEKrigeKernel
        __init__(OEStats::OEKrigeKernel self) -> OEKrigeKernel
        __init__(OEStats::OEKrigeKernel self, OEKrigeKernelBase kernel) -> OEKrigeKernel
        """
        this = _oestats.new_OEKrigeKernel(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEKrigeKernel
    __del__ = lambda self: None
OEKrigeKernel_swigregister = _oestats.OEKrigeKernel_swigregister
OEKrigeKernel_swigregister(OEKrigeKernel)

class OEVariogram(object):
    """Proxy of C++ OEStats::OEVariogram class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def GetNumBins(self) -> "unsigned int":
        """GetNumBins(OEVariogram self) -> unsigned int"""
        return _oestats.OEVariogram_GetNumBins(self)


    def GetDistance(self, iBin: 'unsigned int') -> "double":
        """GetDistance(OEVariogram self, unsigned int iBin) -> double"""
        return _oestats.OEVariogram_GetDistance(self, iBin)


    def GetSemivariance(self, iBin: 'unsigned int') -> "double":
        """GetSemivariance(OEVariogram self, unsigned int iBin) -> double"""
        return _oestats.OEVariogram_GetSemivariance(self, iBin)


    def __init__(self, *args):
        """
        __init__(OEStats::OEVariogram self) -> OEVariogram
        __init__(OEStats::OEVariogram self, OEStats::OEVariogramBase * impl) -> OEVariogram
        __init__(OEStats::OEVariogram self, OEVariogram rhs) -> OEVariogram
        """
        this = _oestats.new_OEVariogram(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEVariogram
    __del__ = lambda self: None
OEVariogram_swigregister = _oestats.OEVariogram_swigregister
OEVariogram_swigregister(OEVariogram)


def OEFitKernel(kernel: 'OEKrigeKernelBase', variogram: 'OEVariogram') -> "double":
    """OEFitKernel(OEKrigeKernelBase kernel, OEVariogram variogram) -> double"""
    return _oestats.OEFitKernel(kernel, variogram)

def OEFitKernelPartial(kernel: 'OEKrigeKernelBase', variogram: 'OEVariogram', fracPoints: 'double') -> "double":
    """OEFitKernelPartial(OEKrigeKernelBase kernel, OEVariogram variogram, double fracPoints) -> double"""
    return _oestats.OEFitKernelPartial(kernel, variogram, fracPoints)

def OEGetExperimentalVariance(arg1: 'OEVariogram') -> "double":
    """OEGetExperimentalVariance(OEVariogram arg1) -> double"""
    return _oestats.OEGetExperimentalVariance(arg1)

def OEGetFitness(kernel: 'OEKrigeKernelBase', variogram: 'OEVariogram') -> "double":
    """OEGetFitness(OEKrigeKernelBase kernel, OEVariogram variogram) -> double"""
    return _oestats.OEGetFitness(kernel, variogram)
class OEGlobalKrigeOptions(object):
    """Proxy of C++ OEStats::OEGlobalKrigeOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def GetIncludeUnmeasured(self) -> "bool":
        """GetIncludeUnmeasured(OEGlobalKrigeOptions self) -> bool"""
        return _oestats.OEGlobalKrigeOptions_GetIncludeUnmeasured(self)


    def GetUniqueResponseMethod(self) -> "unsigned int":
        """GetUniqueResponseMethod(OEGlobalKrigeOptions self) -> unsigned int"""
        return _oestats.OEGlobalKrigeOptions_GetUniqueResponseMethod(self)


    def SetIncludeUnmeasured(self, *args) -> "OEStats::OEGlobalKrigeOptions &":
        """
        SetIncludeUnmeasured(OEGlobalKrigeOptions self, bool arg2) -> OEGlobalKrigeOptions
        SetIncludeUnmeasured(OEGlobalKrigeOptions self) -> OEGlobalKrigeOptions
        """
        return _oestats.OEGlobalKrigeOptions_SetIncludeUnmeasured(self, *args)


    def SetUniqueResponseMethod(self, *args) -> "OEStats::OEGlobalKrigeOptions &":
        """
        SetUniqueResponseMethod(OEGlobalKrigeOptions self, unsigned int arg2) -> OEGlobalKrigeOptions
        SetUniqueResponseMethod(OEGlobalKrigeOptions self) -> OEGlobalKrigeOptions
        """
        return _oestats.OEGlobalKrigeOptions_SetUniqueResponseMethod(self, *args)


    def __init__(self):
        """__init__(OEStats::OEGlobalKrigeOptions self) -> OEGlobalKrigeOptions"""
        this = _oestats.new_OEGlobalKrigeOptions()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEGlobalKrigeOptions
    __del__ = lambda self: None
OEGlobalKrigeOptions_swigregister = _oestats.OEGlobalKrigeOptions_swigregister
OEGlobalKrigeOptions_swigregister(OEGlobalKrigeOptions)

class OELocalKrigeOptions(object):
    """Proxy of C++ OEStats::OELocalKrigeOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def GetIncludeUnmeasured(self) -> "bool":
        """GetIncludeUnmeasured(OELocalKrigeOptions self) -> bool"""
        return _oestats.OELocalKrigeOptions_GetIncludeUnmeasured(self)


    def GetUniqueResponseMethod(self) -> "unsigned int":
        """GetUniqueResponseMethod(OELocalKrigeOptions self) -> unsigned int"""
        return _oestats.OELocalKrigeOptions_GetUniqueResponseMethod(self)


    def GetNumLocal(self) -> "unsigned int":
        """GetNumLocal(OELocalKrigeOptions self) -> unsigned int"""
        return _oestats.OELocalKrigeOptions_GetNumLocal(self)


    def GetMaxVariogramSize(self) -> "unsigned int":
        """GetMaxVariogramSize(OELocalKrigeOptions self) -> unsigned int"""
        return _oestats.OELocalKrigeOptions_GetMaxVariogramSize(self)


    def GetPredictTraining(self) -> "bool":
        """GetPredictTraining(OELocalKrigeOptions self) -> bool"""
        return _oestats.OELocalKrigeOptions_GetPredictTraining(self)


    def SetIncludeUnmeasured(self, *args) -> "OEStats::OELocalKrigeOptions &":
        """
        SetIncludeUnmeasured(OELocalKrigeOptions self, bool arg2) -> OELocalKrigeOptions
        SetIncludeUnmeasured(OELocalKrigeOptions self) -> OELocalKrigeOptions
        """
        return _oestats.OELocalKrigeOptions_SetIncludeUnmeasured(self, *args)


    def SetNumLocal(self, *args) -> "OEStats::OELocalKrigeOptions &":
        """
        SetNumLocal(OELocalKrigeOptions self, unsigned int arg2) -> OELocalKrigeOptions
        SetNumLocal(OELocalKrigeOptions self) -> OELocalKrigeOptions
        """
        return _oestats.OELocalKrigeOptions_SetNumLocal(self, *args)


    def SetUniqueResponseMethod(self, *args) -> "OEStats::OELocalKrigeOptions &":
        """
        SetUniqueResponseMethod(OELocalKrigeOptions self, unsigned int arg2) -> OELocalKrigeOptions
        SetUniqueResponseMethod(OELocalKrigeOptions self) -> OELocalKrigeOptions
        """
        return _oestats.OELocalKrigeOptions_SetUniqueResponseMethod(self, *args)


    def SetMaxVariogramSize(self, *args) -> "OEStats::OELocalKrigeOptions &":
        """
        SetMaxVariogramSize(OELocalKrigeOptions self, unsigned int arg2) -> OELocalKrigeOptions
        SetMaxVariogramSize(OELocalKrigeOptions self) -> OELocalKrigeOptions
        """
        return _oestats.OELocalKrigeOptions_SetMaxVariogramSize(self, *args)


    def SetPredictTraining(self, *args) -> "OEStats::OELocalKrigeOptions &":
        """
        SetPredictTraining(OELocalKrigeOptions self, bool arg2) -> OELocalKrigeOptions
        SetPredictTraining(OELocalKrigeOptions self) -> OELocalKrigeOptions
        """
        return _oestats.OELocalKrigeOptions_SetPredictTraining(self, *args)


    def __init__(self):
        """__init__(OEStats::OELocalKrigeOptions self) -> OELocalKrigeOptions"""
        this = _oestats.new_OELocalKrigeOptions()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OELocalKrigeOptions
    __del__ = lambda self: None
OELocalKrigeOptions_swigregister = _oestats.OELocalKrigeOptions_swigregister
OELocalKrigeOptions_swigregister(OELocalKrigeOptions)

class OEDefaultKrigeDistanceOptions(object):
    """Proxy of C++ OEStats::OEDefaultKrigeDistanceOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def GetMaxPathLength(self) -> "unsigned int":
        """GetMaxPathLength(OEDefaultKrigeDistanceOptions self) -> unsigned int"""
        return _oestats.OEDefaultKrigeDistanceOptions_GetMaxPathLength(self)


    def GetMinPathLength(self) -> "unsigned int":
        """GetMinPathLength(OEDefaultKrigeDistanceOptions self) -> unsigned int"""
        return _oestats.OEDefaultKrigeDistanceOptions_GetMinPathLength(self)


    def GetForcePathsOut(self) -> "bool":
        """GetForcePathsOut(OEDefaultKrigeDistanceOptions self) -> bool"""
        return _oestats.OEDefaultKrigeDistanceOptions_GetForcePathsOut(self)


    def GetWeightByLength(self) -> "bool":
        """GetWeightByLength(OEDefaultKrigeDistanceOptions self) -> bool"""
        return _oestats.OEDefaultKrigeDistanceOptions_GetWeightByLength(self)


    def GetStereoAware(self) -> "bool":
        """GetStereoAware(OEDefaultKrigeDistanceOptions self) -> bool"""
        return _oestats.OEDefaultKrigeDistanceOptions_GetStereoAware(self)


    def SetMaxPathLength(self, arg2: 'unsigned int') -> "OEStats::OEDefaultKrigeDistanceOptions &":
        """SetMaxPathLength(OEDefaultKrigeDistanceOptions self, unsigned int arg2) -> OEDefaultKrigeDistanceOptions"""
        return _oestats.OEDefaultKrigeDistanceOptions_SetMaxPathLength(self, arg2)


    def SetMinPathLength(self, arg2: 'unsigned int') -> "OEStats::OEDefaultKrigeDistanceOptions &":
        """SetMinPathLength(OEDefaultKrigeDistanceOptions self, unsigned int arg2) -> OEDefaultKrigeDistanceOptions"""
        return _oestats.OEDefaultKrigeDistanceOptions_SetMinPathLength(self, arg2)


    def SetForcePathsOut(self, arg2: 'bool') -> "OEStats::OEDefaultKrigeDistanceOptions &":
        """SetForcePathsOut(OEDefaultKrigeDistanceOptions self, bool arg2) -> OEDefaultKrigeDistanceOptions"""
        return _oestats.OEDefaultKrigeDistanceOptions_SetForcePathsOut(self, arg2)


    def SetWeightByLength(self, arg2: 'bool') -> "OEStats::OEDefaultKrigeDistanceOptions &":
        """SetWeightByLength(OEDefaultKrigeDistanceOptions self, bool arg2) -> OEDefaultKrigeDistanceOptions"""
        return _oestats.OEDefaultKrigeDistanceOptions_SetWeightByLength(self, arg2)


    def SetStereoAware(self, arg2: 'bool') -> "OEStats::OEDefaultKrigeDistanceOptions &":
        """SetStereoAware(OEDefaultKrigeDistanceOptions self, bool arg2) -> OEDefaultKrigeDistanceOptions"""
        return _oestats.OEDefaultKrigeDistanceOptions_SetStereoAware(self, arg2)


    def GetImpl(self) -> "OEGraphSim::OEVseprOptions const *":
        """GetImpl(OEDefaultKrigeDistanceOptions self) -> OEGraphSim::OEVseprOptions const *"""
        return _oestats.OEDefaultKrigeDistanceOptions_GetImpl(self)


    def __init__(self, *args):
        """
        __init__(OEStats::OEDefaultKrigeDistanceOptions self) -> OEDefaultKrigeDistanceOptions
        __init__(OEStats::OEDefaultKrigeDistanceOptions self, OEDefaultKrigeDistanceOptions rhs) -> OEDefaultKrigeDistanceOptions
        """
        this = _oestats.new_OEDefaultKrigeDistanceOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEDefaultKrigeDistanceOptions
    __del__ = lambda self: None
OEDefaultKrigeDistanceOptions_swigregister = _oestats.OEDefaultKrigeDistanceOptions_swigregister
OEDefaultKrigeDistanceOptions_swigregister(OEDefaultKrigeDistanceOptions)

class OEMolKrigeResult(object):
    """Proxy of C++ OEStats::OEMolKrigeResult class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def Valid(self) -> "bool":
        """Valid(OEMolKrigeResult self) -> bool"""
        return _oestats.OEMolKrigeResult_Valid(self)


    def GetResponse(self) -> "double":
        """GetResponse(OEMolKrigeResult self) -> double"""
        return _oestats.OEMolKrigeResult_GetResponse(self)


    def GetVariance(self) -> "double":
        """GetVariance(OEMolKrigeResult self) -> double"""
        return _oestats.OEMolKrigeResult_GetVariance(self)


    def GetAtomContribution(self, *args) -> "double":
        """
        GetAtomContribution(OEMolKrigeResult self, OEAtomBase atom) -> double
        GetAtomContribution(OEMolKrigeResult self, OEAtomBase atom) -> double
        GetAtomContribution(OEMolKrigeResult self, OEAtomBase atom, double baseline) -> double
        GetAtomContribution(OEMolKrigeResult self, OEAtomBase atom, double baseline) -> double
        """
        return _oestats.OEMolKrigeResult_GetAtomContribution(self, *args)


    def GetKernel(self) -> "OEStats::OEKrigeKernel":
        """GetKernel(OEMolKrigeResult self) -> OEKrigeKernel"""
        return _oestats.OEMolKrigeResult_GetKernel(self)


    def GetVariogram(self) -> "OEStats::OEVariogram":
        """GetVariogram(OEMolKrigeResult self) -> OEVariogram"""
        return _oestats.OEMolKrigeResult_GetVariogram(self)


    def GetNumElements(self) -> "unsigned int":
        """GetNumElements(OEMolKrigeResult self) -> unsigned int"""
        return _oestats.OEMolKrigeResult_GetNumElements(self)


    def GetElementDistance(self, iElement: 'unsigned int') -> "double":
        """GetElementDistance(OEMolKrigeResult self, unsigned int iElement) -> double"""
        return _oestats.OEMolKrigeResult_GetElementDistance(self, iElement)


    def GetElementWeight(self, iElement: 'unsigned int') -> "double":
        """GetElementWeight(OEMolKrigeResult self, unsigned int iElement) -> double"""
        return _oestats.OEMolKrigeResult_GetElementWeight(self, iElement)


    def GetElementResponse(self, iElement: 'unsigned int') -> "double":
        """GetElementResponse(OEMolKrigeResult self, unsigned int iElement) -> double"""
        return _oestats.OEMolKrigeResult_GetElementResponse(self, iElement)


    def GetElementIsUnmeasured(self, iElement: 'unsigned int') -> "bool":
        """GetElementIsUnmeasured(OEMolKrigeResult self, unsigned int iElement) -> bool"""
        return _oestats.OEMolKrigeResult_GetElementIsUnmeasured(self, iElement)


    def GetElement(self, iElement: 'unsigned int') -> "OEChem::OEMolBase const &":
        """GetElement(OEMolKrigeResult self, unsigned int iElement) -> OEMolBase"""
        return _oestats.OEMolKrigeResult_GetElement(self, iElement)


    def GetTrainingResponses(self, incUnmeasured: 'bool'=True) -> "OESystem::OEIterBase< double > *":
        """
        GetTrainingResponses(OEMolKrigeResult self, bool incUnmeasured=True) -> OESystem::OEIterBase< double >
        GetTrainingResponses(OEMolKrigeResult self) -> OESystem::OEIterBase< double > *
        """
        return _oestats.OEMolKrigeResult_GetTrainingResponses(self, incUnmeasured)


    def __init__(self, *args):
        """
        __init__(OEStats::OEMolKrigeResult self) -> OEMolKrigeResult
        __init__(OEStats::OEMolKrigeResult self, OEStats::OEMolKrigeResultImpl * impl) -> OEMolKrigeResult
        __init__(OEStats::OEMolKrigeResult self, OEMolKrigeResult rhs) -> OEMolKrigeResult
        """
        this = _oestats.new_OEMolKrigeResult(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEMolKrigeResult
    __del__ = lambda self: None
OEMolKrigeResult_swigregister = _oestats.OEMolKrigeResult_swigregister
OEMolKrigeResult_swigregister(OEMolKrigeResult)


def OEProbabilityLessThan(arg1: 'OEMolKrigeResult', val: 'double') -> "double":
    """OEProbabilityLessThan(OEMolKrigeResult arg1, double val) -> double"""
    return _oestats.OEProbabilityLessThan(arg1, val)

def OEProbabilityGreaterThan(arg1: 'OEMolKrigeResult', val: 'double') -> "double":
    """OEProbabilityGreaterThan(OEMolKrigeResult arg1, double val) -> double"""
    return _oestats.OEProbabilityGreaterThan(arg1, val)

def OEProbabilityBetween(arg1: 'OEMolKrigeResult', val1: 'double', val2: 'double') -> "double":
    """OEProbabilityBetween(OEMolKrigeResult arg1, double val1, double val2) -> double"""
    return _oestats.OEProbabilityBetween(arg1, val1, val2)
class OEMolKrige(object):
    """Proxy of C++ OEStats::OEMolKrige class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def AddTraining(self, *args) -> "bool":
        """
        AddTraining(OEMolKrige self, OEMolBase arg2, double response) -> bool
        AddTraining(OEMolKrige self, OEMCMolBase arg2, double response) -> bool
        """
        return _oestats.OEMolKrige_AddTraining(self, *args)


    def AddUnmeasuredTraining(self, *args) -> "bool":
        """
        AddUnmeasuredTraining(OEMolKrige self, OEMolBase arg2, double response) -> bool
        AddUnmeasuredTraining(OEMolKrige self, OEMCMolBase arg2, double response) -> bool
        """
        return _oestats.OEMolKrige_AddUnmeasuredTraining(self, *args)


    def Train(self, *args) -> "bool":
        """
        Train(OEMolKrige self) -> bool
        Train(OEMolKrige self, OEKrigeKernel arg2) -> bool
        """
        return _oestats.OEMolKrige_Train(self, *args)


    def TrainFixed(self, arg2: 'OEKrigeKernel') -> "bool":
        """TrainFixed(OEMolKrige self, OEKrigeKernel arg2) -> bool"""
        return _oestats.OEMolKrige_TrainFixed(self, arg2)


    def GetResult(self, *args) -> "OEStats::OEMolKrigeResult":
        """
        GetResult(OEMolKrige self, OEMolBase arg2) -> OEMolKrigeResult
        GetResult(OEMolKrige self, OEMolBase arg2) -> OEMolKrigeResult
        GetResult(OEMolKrige self, OEMCMolBase arg2) -> OEMolKrigeResult
        GetResult(OEMolKrige self, OEMCMolBase arg2) -> OEMolKrigeResult
        """
        return _oestats.OEMolKrige_GetResult(self, *args)


    def GetVariogram(self, *args) -> "OEStats::OEVariogram":
        """
        GetVariogram(OEMolKrige self) -> OEVariogram
        GetVariogram(OEMolKrige self) -> OEVariogram
        """
        return _oestats.OEMolKrige_GetVariogram(self, *args)


    def Clear(self) -> "void":
        """Clear(OEMolKrige self)"""
        return _oestats.OEMolKrige_Clear(self)


    def __init__(self, *args):
        """
        __init__(OEStats::OEMolKrige self, OEGlobalKrigeOptions arg2) -> OEMolKrige
        __init__(OEStats::OEMolKrige self) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OELocalKrigeOptions arg2) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEDefaultKrigeDistanceOptions arg2, OEGlobalKrigeOptions arg3) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEDefaultKrigeDistanceOptions arg2) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEDefaultKrigeDistanceOptions arg2, OELocalKrigeOptions arg3) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolPropertyList trendPropFxn, OEGlobalKrigeOptions arg3) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolPropertyList trendPropFxn) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolPropertyList trendPropFxn, OELocalKrigeOptions arg3) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEDefaultKrigeDistanceOptions arg2, OEMolPropertyList trendPropFxn, OEGlobalKrigeOptions arg4) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEDefaultKrigeDistanceOptions arg2, OEMolPropertyList trendPropFxn) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEDefaultKrigeDistanceOptions arg2, OEMolPropertyList trendPropFxn, OELocalKrigeOptions arg4) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolKrigeDistFxn distFxn, OEGlobalKrigeOptions arg3) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolKrigeDistFxn distFxn) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolKrigeDistFxn distFxn, OELocalKrigeOptions arg3) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolKrigeDistFxn distFxn, OEMolPropertyList trendPropFxn, OEGlobalKrigeOptions arg4) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolKrigeDistFxn distFxn, OEMolPropertyList trendPropFxn) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolKrigeDistFxn distFxn, OEMolPropertyList trendPropFxn, OELocalKrigeOptions arg4) -> OEMolKrige
        __init__(OEStats::OEMolKrige self, OEMolKrige rhs) -> OEMolKrige
        """
        this = _oestats.new_OEMolKrige(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEMolKrige
    __del__ = lambda self: None
OEMolKrige_swigregister = _oestats.OEMolKrige_swigregister
OEMolKrige_swigregister(OEMolKrige)

class OEMolKrigeDistFxn(object):
    """Proxy of C++ OESystem::OEBinaryFunction<(OEChem::OEMolBase,OEChem::OEMolBase,double,true,true)> class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr
    __swig_destroy__ = _oestats.delete_OEMolKrigeDistFxn
    __del__ = lambda self: None

    def __call__(self, a1: 'OEMolBase', a2: 'OEMolBase') -> "double":
        """__call__(OEMolKrigeDistFxn self, OEMolBase a1, OEMolBase a2) -> double"""
        return _oestats.OEMolKrigeDistFxn___call__(self, a1, a2)


    def CreateCopy(self, *args):
        try:
            return _oestats.OEMolKrigeDistFxn_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def __init__(self):
        """__init__(OESystem::OEBinaryFunction<(OEChem::OEMolBase,OEChem::OEMolBase,double,true,true)> self) -> OEMolKrigeDistFxn"""
        if self.__class__ == OEMolKrigeDistFxn:
            _self = None
        else:
            _self = self
        this = _oestats.new_OEMolKrigeDistFxn(_self, )
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    def __disown__(self):
        self.this.disown()
        _oestats.disown_OEMolKrigeDistFxn(self)
        return weakref_proxy(self)
OEMolKrigeDistFxn_swigregister = _oestats.OEMolKrigeDistFxn_swigregister
OEMolKrigeDistFxn_swigregister(OEMolKrigeDistFxn)

class OEMolKrigeDefaultDistFxn(OEMolKrigeDistFxn):
    """Proxy of C++ OEStats::OEMolKrigeDefaultDistFxn class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __call__(self, arg2: 'OEMolBase', arg3: 'OEMolBase') -> "double":
        """__call__(OEMolKrigeDefaultDistFxn self, OEMolBase arg2, OEMolBase arg3) -> double"""
        return _oestats.OEMolKrigeDefaultDistFxn___call__(self, arg2, arg3)


    def PrepMol(self, arg2: 'OEMolBase') -> "bool":
        """PrepMol(OEMolKrigeDefaultDistFxn self, OEMolBase arg2) -> bool"""
        return _oestats.OEMolKrigeDefaultDistFxn_PrepMol(self, arg2)


    def CreateCopy(self, *args):
        try:
            return _oestats.OEMolKrigeDefaultDistFxn_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def __init__(self, *args):
        """
        __init__(OEStats::OEMolKrigeDefaultDistFxn self, OEDefaultKrigeDistanceOptions arg2) -> OEMolKrigeDefaultDistFxn
        __init__(OEStats::OEMolKrigeDefaultDistFxn self) -> OEMolKrigeDefaultDistFxn
        """
        this = _oestats.new_OEMolKrigeDefaultDistFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEMolKrigeDefaultDistFxn
    __del__ = lambda self: None
OEMolKrigeDefaultDistFxn_swigregister = _oestats.OEMolKrigeDefaultDistFxn_swigregister
OEMolKrigeDefaultDistFxn_swigregister(OEMolKrigeDefaultDistFxn)

class OEMolKrigeGraphSimDistFxn(OEMolKrigeDistFxn):
    """Proxy of C++ OEStats::OEMolKrigeGraphSimDistFxn class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __call__(self, arg2: 'OEMolBase', arg3: 'OEMolBase') -> "double":
        """__call__(OEMolKrigeGraphSimDistFxn self, OEMolBase arg2, OEMolBase arg3) -> double"""
        return _oestats.OEMolKrigeGraphSimDistFxn___call__(self, arg2, arg3)


    def PrepMol(self, arg2: 'OEMolBase') -> "bool":
        """PrepMol(OEMolKrigeGraphSimDistFxn self, OEMolBase arg2) -> bool"""
        return _oestats.OEMolKrigeGraphSimDistFxn_PrepMol(self, arg2)


    def CreateCopy(self, *args):
        try:
            return _oestats.OEMolKrigeGraphSimDistFxn_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def __init__(self, *args):
        """
        __init__(OEStats::OEMolKrigeGraphSimDistFxn self, unsigned int fpType) -> OEMolKrigeGraphSimDistFxn
        __init__(OEStats::OEMolKrigeGraphSimDistFxn self) -> OEMolKrigeGraphSimDistFxn
        """
        this = _oestats.new_OEMolKrigeGraphSimDistFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEMolKrigeGraphSimDistFxn
    __del__ = lambda self: None
OEMolKrigeGraphSimDistFxn_swigregister = _oestats.OEMolKrigeGraphSimDistFxn_swigregister
OEMolKrigeGraphSimDistFxn_swigregister(OEMolKrigeGraphSimDistFxn)

class OEKrigeReportOptions(object):
    """Proxy of C++ OEStats::OEKrigeReportOptions class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def SetTitle(self, title: 'std::string') -> "void":
        """SetTitle(OEKrigeReportOptions self, std::string title)"""
        return _oestats.OEKrigeReportOptions_SetTitle(self, title)


    def SetResponseName(self, name: 'std::string') -> "void":
        """SetResponseName(OEKrigeReportOptions self, std::string name)"""
        return _oestats.OEKrigeReportOptions_SetResponseName(self, name)


    def SetResponseSignificantFigures(self, arg2: 'unsigned int') -> "void":
        """SetResponseSignificantFigures(OEKrigeReportOptions self, unsigned int arg2)"""
        return _oestats.OEKrigeReportOptions_SetResponseSignificantFigures(self, arg2)


    def SetShowConfidence(self, show: 'bool') -> "void":
        """SetShowConfidence(OEKrigeReportOptions self, bool show)"""
        return _oestats.OEKrigeReportOptions_SetShowConfidence(self, show)


    def SetUnlog(self, unlog: 'bool') -> "void":
        """SetUnlog(OEKrigeReportOptions self, bool unlog)"""
        return _oestats.OEKrigeReportOptions_SetUnlog(self, unlog)


    def SetContributionPositiveColor(self, arg2: 'OEColor') -> "void":
        """SetContributionPositiveColor(OEKrigeReportOptions self, OEColor arg2)"""
        return _oestats.OEKrigeReportOptions_SetContributionPositiveColor(self, arg2)


    def SetContributionNegativeColor(self, arg2: 'OEColor') -> "void":
        """SetContributionNegativeColor(OEKrigeReportOptions self, OEColor arg2)"""
        return _oestats.OEKrigeReportOptions_SetContributionNegativeColor(self, arg2)


    def SetContributionPositiveLabel(self, arg2: 'std::string') -> "void":
        """SetContributionPositiveLabel(OEKrigeReportOptions self, std::string arg2)"""
        return _oestats.OEKrigeReportOptions_SetContributionPositiveLabel(self, arg2)


    def SetContributionNegativeLabel(self, arg2: 'std::string') -> "void":
        """SetContributionNegativeLabel(OEKrigeReportOptions self, std::string arg2)"""
        return _oestats.OEKrigeReportOptions_SetContributionNegativeLabel(self, arg2)


    def SetContributionBaseline(self, baseline: 'double') -> "void":
        """SetContributionBaseline(OEKrigeReportOptions self, double baseline)"""
        return _oestats.OEKrigeReportOptions_SetContributionBaseline(self, baseline)


    def PushSDProperty(self, *args) -> "void":
        """
        PushSDProperty(OEKrigeReportOptions self, std::string tag)
        PushSDProperty(OEKrigeReportOptions self, std::string tag, std::string name)
        """
        return _oestats.OEKrigeReportOptions_PushSDProperty(self, *args)


    def PushProperty(self, arg2: 'OEMolPropertyFxn', name: 'std::string', sigFigs: 'unsigned int'=4) -> "void":
        """
        PushProperty(OEKrigeReportOptions self, OEMolPropertyFxn arg2, std::string name, unsigned int sigFigs=4)
        PushProperty(OEKrigeReportOptions self, OEMolPropertyFxn arg2, std::string name)
        """
        return _oestats.OEKrigeReportOptions_PushProperty(self, arg2, name, sigFigs)


    def PushClassificationBoundry(self, value: 'double') -> "void":
        """PushClassificationBoundry(OEKrigeReportOptions self, double value)"""
        return _oestats.OEKrigeReportOptions_PushClassificationBoundry(self, value)


    def PushClassificationColor(self, color: 'OEColor') -> "void":
        """PushClassificationColor(OEKrigeReportOptions self, OEColor color)"""
        return _oestats.OEKrigeReportOptions_PushClassificationColor(self, color)


    def SetShowKrigeDetails(self, show: 'bool') -> "void":
        """SetShowKrigeDetails(OEKrigeReportOptions self, bool show)"""
        return _oestats.OEKrigeReportOptions_SetShowKrigeDetails(self, show)


    def GetTitle(self) -> "std::string":
        """GetTitle(OEKrigeReportOptions self) -> std::string"""
        return _oestats.OEKrigeReportOptions_GetTitle(self)


    def GetResponseName(self) -> "std::string":
        """GetResponseName(OEKrigeReportOptions self) -> std::string"""
        return _oestats.OEKrigeReportOptions_GetResponseName(self)


    def GetResponseSignificantFigures(self) -> "unsigned int":
        """GetResponseSignificantFigures(OEKrigeReportOptions self) -> unsigned int"""
        return _oestats.OEKrigeReportOptions_GetResponseSignificantFigures(self)


    def GetShowConfidence(self) -> "bool":
        """GetShowConfidence(OEKrigeReportOptions self) -> bool"""
        return _oestats.OEKrigeReportOptions_GetShowConfidence(self)


    def GetUnlog(self) -> "bool":
        """GetUnlog(OEKrigeReportOptions self) -> bool"""
        return _oestats.OEKrigeReportOptions_GetUnlog(self)


    def GetContributionPositiveColor(self) -> "OESystem::OEColor":
        """GetContributionPositiveColor(OEKrigeReportOptions self) -> OEColor"""
        return _oestats.OEKrigeReportOptions_GetContributionPositiveColor(self)


    def GetContributionNegativeColor(self) -> "OESystem::OEColor":
        """GetContributionNegativeColor(OEKrigeReportOptions self) -> OEColor"""
        return _oestats.OEKrigeReportOptions_GetContributionNegativeColor(self)


    def GetContributionPositiveLabel(self) -> "std::string":
        """GetContributionPositiveLabel(OEKrigeReportOptions self) -> std::string"""
        return _oestats.OEKrigeReportOptions_GetContributionPositiveLabel(self)


    def GetContributionNegativeLabel(self) -> "std::string":
        """GetContributionNegativeLabel(OEKrigeReportOptions self) -> std::string"""
        return _oestats.OEKrigeReportOptions_GetContributionNegativeLabel(self)


    def GetHasContributionBaseline(self) -> "bool":
        """GetHasContributionBaseline(OEKrigeReportOptions self) -> bool"""
        return _oestats.OEKrigeReportOptions_GetHasContributionBaseline(self)


    def GetContributionBaseline(self) -> "double":
        """GetContributionBaseline(OEKrigeReportOptions self) -> double"""
        return _oestats.OEKrigeReportOptions_GetContributionBaseline(self)


    def GetNumProperties(self) -> "unsigned int":
        """GetNumProperties(OEKrigeReportOptions self) -> unsigned int"""
        return _oestats.OEKrigeReportOptions_GetNumProperties(self)


    def GetPropertyName(self, iProp: 'unsigned int') -> "std::string":
        """GetPropertyName(OEKrigeReportOptions self, unsigned int iProp) -> std::string"""
        return _oestats.OEKrigeReportOptions_GetPropertyName(self, iProp)


    def GetPropertyValue(self, *args) -> "std::string":
        """
        GetPropertyValue(OEKrigeReportOptions self, unsigned int iProp, OEMolBase arg3) -> std::string
        GetPropertyValue(OEKrigeReportOptions self, unsigned int iProp, OEMCMolBase arg3) -> std::string
        """
        return _oestats.OEKrigeReportOptions_GetPropertyValue(self, *args)


    def GetNumClassifications(self) -> "unsigned int":
        """GetNumClassifications(OEKrigeReportOptions self) -> unsigned int"""
        return _oestats.OEKrigeReportOptions_GetNumClassifications(self)


    def GetClassificationColor(self, iClass: 'unsigned int') -> "OESystem::OEColor":
        """GetClassificationColor(OEKrigeReportOptions self, unsigned int iClass) -> OEColor"""
        return _oestats.OEKrigeReportOptions_GetClassificationColor(self, iClass)


    def GetClassificationUpperBound(self, iClass: 'unsigned int') -> "double":
        """GetClassificationUpperBound(OEKrigeReportOptions self, unsigned int iClass) -> double"""
        return _oestats.OEKrigeReportOptions_GetClassificationUpperBound(self, iClass)


    def GetClassificationLowerBound(self, iClass: 'unsigned int') -> "double":
        """GetClassificationLowerBound(OEKrigeReportOptions self, unsigned int iClass) -> double"""
        return _oestats.OEKrigeReportOptions_GetClassificationLowerBound(self, iClass)


    def GetShowKrigeDetails(self) -> "bool":
        """GetShowKrigeDetails(OEKrigeReportOptions self) -> bool"""
        return _oestats.OEKrigeReportOptions_GetShowKrigeDetails(self)


    def ClearTitle(self) -> "void":
        """ClearTitle(OEKrigeReportOptions self)"""
        return _oestats.OEKrigeReportOptions_ClearTitle(self)


    def ClearContributionLabels(self) -> "void":
        """ClearContributionLabels(OEKrigeReportOptions self)"""
        return _oestats.OEKrigeReportOptions_ClearContributionLabels(self)


    def ClearContributionBaseline(self) -> "void":
        """ClearContributionBaseline(OEKrigeReportOptions self)"""
        return _oestats.OEKrigeReportOptions_ClearContributionBaseline(self)


    def ClearProperties(self) -> "void":
        """ClearProperties(OEKrigeReportOptions self)"""
        return _oestats.OEKrigeReportOptions_ClearProperties(self)


    def ClearClassifications(self) -> "void":
        """ClearClassifications(OEKrigeReportOptions self)"""
        return _oestats.OEKrigeReportOptions_ClearClassifications(self)


    def Clear(self) -> "void":
        """Clear(OEKrigeReportOptions self)"""
        return _oestats.OEKrigeReportOptions_Clear(self)


    def __init__(self, *args):
        """
        __init__(OEStats::OEKrigeReportOptions self) -> OEKrigeReportOptions
        __init__(OEStats::OEKrigeReportOptions self, OEKrigeReportOptions arg2) -> OEKrigeReportOptions
        """
        this = _oestats.new_OEKrigeReportOptions(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEKrigeReportOptions
    __del__ = lambda self: None
OEKrigeReportOptions_swigregister = _oestats.OEKrigeReportOptions_swigregister
OEKrigeReportOptions_swigregister(OEKrigeReportOptions)


def OEKrigeRenderReport(*args) -> "bool":
    """
    OEKrigeRenderReport(OEDepict::OEImageBase & image, OEMolKrigeResult result, OEMolBase mol, OEKrigeReportOptions opts, unsigned int trainRows=0, unsigned int trainCols=0) -> bool
    OEKrigeRenderReport(OEDepict::OEImageBase & image, OEMolKrigeResult result, OEMolBase mol, OEKrigeReportOptions opts, unsigned int trainRows=0) -> bool
    OEKrigeRenderReport(OEDepict::OEImageBase & image, OEMolKrigeResult result, OEMolBase mol, OEKrigeReportOptions opts) -> bool
    OEKrigeRenderReport(OEDepict::OEImageBase & image, OEMolKrigeResult result, OEMCMolBase mol, OEKrigeReportOptions opts, unsigned int trainRows=0, unsigned int trainCols=0) -> bool
    OEKrigeRenderReport(OEDepict::OEImageBase & image, OEMolKrigeResult result, OEMCMolBase mol, OEKrigeReportOptions opts, unsigned int trainRows=0) -> bool
    OEKrigeRenderReport(OEDepict::OEImageBase & image, OEMolKrigeResult result, OEMCMolBase mol, OEKrigeReportOptions opts) -> bool
    OEKrigeRenderReport(std::string filename, OEMolKrigeResult result, OEMolBase mol, OEKrigeReportOptions opts) -> bool
    OEKrigeRenderReport(std::string filename, OEMolKrigeResult result, OEMolBase mol) -> bool
    OEKrigeRenderReport(std::string filename, OEMolKrigeResult result, OEMCMolBase mol, OEKrigeReportOptions opts) -> bool
    OEKrigeRenderReport(std::string filename, OEMolKrigeResult result, OEMCMolBase mol) -> bool
    """
    return _oestats.OEKrigeRenderReport(*args)
class OEMolLog10PropertyFxn(oechem.OEMolPropertyFxn):
    """Proxy of C++ OEStats::OEMolLog10PropertyFxn class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def __init__(self, *args):
        """
        __init__(OEStats::OEMolLog10PropertyFxn self, OEMolPropertyFxn fxn) -> OEMolLog10PropertyFxn
        __init__(OEStats::OEMolLog10PropertyFxn self, OEMolLog10PropertyFxn prop) -> OEMolLog10PropertyFxn
        """
        this = _oestats.new_OEMolLog10PropertyFxn(*args)
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this

    def Has(self, *args) -> "bool":
        """
        Has(OEMolLog10PropertyFxn self, OEMolBase mol) -> bool
        Has(OEMolLog10PropertyFxn self, OEMCMolBase mol) -> bool
        """
        return _oestats.OEMolLog10PropertyFxn_Has(self, *args)


    def Get(self, *args) -> "double":
        """
        Get(OEMolLog10PropertyFxn self, OEMolBase mol) -> double
        Get(OEMolLog10PropertyFxn self, OEMCMolBase mol) -> double
        """
        return _oestats.OEMolLog10PropertyFxn_Get(self, *args)


    def CreateCopy(self, *args):
        try:
            return _oestats.OEMolLog10PropertyFxn_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)


    __swig_destroy__ = _oestats.delete_OEMolLog10PropertyFxn
    __del__ = lambda self: None
OEMolLog10PropertyFxn_swigregister = _oestats.OEMolLog10PropertyFxn_swigregister
OEMolLog10PropertyFxn_swigregister(OEMolLog10PropertyFxn)

class OEMolecularWeightPropertyFxn(oechem.OEMolPropertyFxn):
    """Proxy of C++ OEStats::OEMolecularWeightPropertyFxn class."""

    thisown = _swig_property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc='The membership flag')
    __repr__ = _swig_repr

    def Has(self, *args) -> "bool":
        """
        Has(OEMolecularWeightPropertyFxn self, OEMolBase mol) -> bool
        Has(OEMolecularWeightPropertyFxn self, OEMCMolBase mol) -> bool
        """
        return _oestats.OEMolecularWeightPropertyFxn_Has(self, *args)


    def Get(self, *args) -> "double":
        """
        Get(OEMolecularWeightPropertyFxn self, OEMolBase mol) -> double
        Get(OEMolecularWeightPropertyFxn self, OEMCMolBase mol) -> double
        """
        return _oestats.OEMolecularWeightPropertyFxn_Get(self, *args)


    def CreateCopy(self, *args):
        try:
            return _oestats.OEMolecularWeightPropertyFxn_CreateCopy(self, *args)
        except RuntimeError:
            try:
                return self.__class__().__disown__()
            except:
                raise RuntimeError("CreateCopy must be specialized for %s" % self.__class__.__name__)



    def __init__(self):
        """__init__(OEStats::OEMolecularWeightPropertyFxn self) -> OEMolecularWeightPropertyFxn"""
        this = _oestats.new_OEMolecularWeightPropertyFxn()
        try:
            self.this.append(this)
        except __builtin__.Exception:
            self.this = this
    __swig_destroy__ = _oestats.delete_OEMolecularWeightPropertyFxn
    __del__ = lambda self: None
OEMolecularWeightPropertyFxn_swigregister = _oestats.OEMolecularWeightPropertyFxn_swigregister
OEMolecularWeightPropertyFxn_swigregister(OEMolecularWeightPropertyFxn)

OE_OESTATS_VERSION = _oestats.OE_OESTATS_VERSION

def OEStatsGetRelease() -> "char const *":
    """OEStatsGetRelease() -> char const *"""
    return _oestats.OEStatsGetRelease()

def OEStatsGetVersion() -> "unsigned int":
    """OEStatsGetVersion() -> unsigned int"""
    return _oestats.OEStatsGetVersion()

def OEStatsGetArch() -> "char const *":
    """OEStatsGetArch() -> char const *"""
    return _oestats.OEStatsGetArch()

def OEStatsGetPlatform() -> "char const *":
    """OEStatsGetPlatform() -> char const *"""
    return _oestats.OEStatsGetPlatform()

def OEStatsIsLicensed(feature: 'char const *'=None, expdate: 'unsigned int *'=None) -> "bool":
    """
    OEStatsIsLicensed(char const * feature=None, unsigned int * expdate=None) -> bool
    OEStatsIsLicensed(char const * feature=None) -> bool
    OEStatsIsLicensed() -> bool
    """
    return _oestats.OEStatsIsLicensed(feature, expdate)

def OEStatsGetLicensee(*args) -> "std::string":
    """
    OEStatsGetLicensee(std::string & licensee) -> bool
    OEStatsGetLicensee() -> std::string
    """
    return _oestats.OEStatsGetLicensee(*args)

def OEStatsGetSite(*args) -> "std::string":
    """
    OEStatsGetSite(std::string & site) -> bool
    OEStatsGetSite() -> std::string
    """
    return _oestats.OEStatsGetSite(*args)


