sas.sascalc.corfunc package

Submodules

sas.sascalc.corfunc.calculation_data module

class sas.sascalc.corfunc.calculation_data.EntryListEnum(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: Enum

Enum with a helper method that gives a string containing all the options

__doc__ = ' Enum with a helper method that gives a string containing all the options'
__module__ = 'sas.sascalc.corfunc.calculation_data'
classmethod options() str
class sas.sascalc.corfunc.calculation_data.ExtrapolationInteractionState(extrapolation_parameters: ExtrapolationParameters, working_line_id: int | None = None, dragging_line_position: float | None = None)

Bases: object

Represents the state of the slider used to control extrapolation parameters

Contains extrapolation parameters along with the representation of the hover state.

__annotations__ = {'dragging_line_position': typing.Optional[float], 'extrapolation_parameters': <class 'sas.sascalc.corfunc.calculation_data.ExtrapolationParameters'>, 'working_line_id': typing.Optional[int]}
__dataclass_fields__ = {'dragging_line_position': Field(name='dragging_line_position',type=typing.Optional[float],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'extrapolation_parameters': Field(name='extrapolation_parameters',type=<class 'sas.sascalc.corfunc.calculation_data.ExtrapolationParameters'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'working_line_id': Field(name='working_line_id',type=typing.Optional[int],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False)
__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.calculation_data', '__annotations__': {'extrapolation_parameters': <class 'sas.sascalc.corfunc.calculation_data.ExtrapolationParameters'>, 'working_line_id': typing.Optional[int], 'dragging_line_position': typing.Optional[float]}, '__doc__': ' Represents the state of the slider used to control extrapolation parameters\n\n    Contains extrapolation parameters along with the representation of the hover state.\n    ', 'working_line_id': None, 'dragging_line_position': None, '__dict__': <attribute '__dict__' of 'ExtrapolationInteractionState' objects>, '__weakref__': <attribute '__weakref__' of 'ExtrapolationInteractionState' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {'extrapolation_parameters': Field(name='extrapolation_parameters',type=<class 'sas.sascalc.corfunc.calculation_data.ExtrapolationParameters'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'working_line_id': Field(name='working_line_id',type=typing.Optional[int],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'dragging_line_position': Field(name='dragging_line_position',type=typing.Optional[float],default=None,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__init__': <function ExtrapolationInteractionState.__init__>, '__repr__': <function ExtrapolationInteractionState.__repr__>, '__eq__': <function ExtrapolationInteractionState.__eq__>, '__hash__': None, '__match_args__': ('extrapolation_parameters', 'working_line_id', 'dragging_line_position')})
__doc__ = ' Represents the state of the slider used to control extrapolation parameters\n\n    Contains extrapolation parameters along with the representation of the hover state.\n    '
__eq__(other)

Return self==value.

__hash__ = None
__init__(extrapolation_parameters: ExtrapolationParameters, working_line_id: int | None = None, dragging_line_position: float | None = None) None
__match_args__ = ('extrapolation_parameters', 'working_line_id', 'dragging_line_position')
__module__ = 'sas.sascalc.corfunc.calculation_data'
__repr__()

Return repr(self).

__weakref__

list of weak references to the object

dragging_line_position: float | None = None
extrapolation_parameters: ExtrapolationParameters
working_line_id: int | None = None
class sas.sascalc.corfunc.calculation_data.ExtrapolationParameters(data_q_min: float, point_1: float, point_2: float, point_3: float, data_q_max: float)

Bases: NamedTuple

Represents the parameters defining extrapolation

__annotations__ = {'data_q_max': <class 'float'>, 'data_q_min': <class 'float'>, 'point_1': <class 'float'>, 'point_2': <class 'float'>, 'point_3': <class 'float'>}
__doc__ = ' Represents the parameters defining extrapolation'
__getnewargs__()

Return self as a plain tuple. Used by copy and pickle.

__match_args__ = ('data_q_min', 'point_1', 'point_2', 'point_3', 'data_q_max')
__module__ = 'sas.sascalc.corfunc.calculation_data'
static __new__(_cls, data_q_min: float, point_1: float, point_2: float, point_3: float, data_q_max: float)

Create new instance of ExtrapolationParameters(data_q_min, point_1, point_2, point_3, data_q_max)

__orig_bases__ = (<function NamedTuple>,)
__repr__()

Return a nicely formatted representation string

__slots__ = ()
_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('data_q_min', 'point_1', 'point_2', 'point_3', 'data_q_max')
classmethod _make(iterable)

Make a new ExtrapolationParameters object from a sequence or iterable

_replace(**kwds)

Return a new ExtrapolationParameters object replacing specified fields with new values

data_q_max: float

Alias for field number 4

data_q_min: float

Alias for field number 0

point_1: float

Alias for field number 1

point_2: float

Alias for field number 2

point_3: float

Alias for field number 3

class sas.sascalc.corfunc.calculation_data.Fittable(data: T | None = None, allow_fit: bool = True)

Bases: Generic[T]

Container for parameters that can be fitted by the corfunc perspective

__annotations__ = {}
__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.calculation_data', '__doc__': ' Container for parameters that can be fitted by the corfunc perspective', '__init__': <function Fittable.__init__>, 'clear': <function Fittable.clear>, '__repr__': <function Fittable.__repr__>, '__orig_bases__': (typing.Generic[~T],), '__dict__': <attribute '__dict__' of 'Fittable' objects>, '__weakref__': <attribute '__weakref__' of 'Fittable' objects>, '__parameters__': (~T,), '__annotations__': {'data': 'Optional[T]', 'allow_fit': 'bool'}})
__doc__ = ' Container for parameters that can be fitted by the corfunc perspective'
__init__(data: T | None = None, allow_fit: bool = True)
__module__ = 'sas.sascalc.corfunc.calculation_data'
__orig_bases__ = (typing.Generic[~T],)
__parameters__ = (~T,)
__repr__()

Return repr(self).

__weakref__

list of weak references to the object

clear()
class sas.sascalc.corfunc.calculation_data.GuinierData(A: float, B: float)

Bases: object

Parameters for a Guinier model

A: float
B: float
__annotations__ = {'A': <class 'float'>, 'B': <class 'float'>}
__dataclass_fields__ = {'A': Field(name='A',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'B': Field(name='B',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False)
__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.calculation_data', '__annotations__': {'A': <class 'float'>, 'B': <class 'float'>}, '__doc__': ' Parameters for a Guinier model ', '__dict__': <attribute '__dict__' of 'GuinierData' objects>, '__weakref__': <attribute '__weakref__' of 'GuinierData' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {'A': Field(name='A',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'B': Field(name='B',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__init__': <function GuinierData.__init__>, '__repr__': <function GuinierData.__repr__>, '__eq__': <function GuinierData.__eq__>, '__hash__': None, '__match_args__': ('A', 'B')})
__doc__ = ' Parameters for a Guinier model '
__eq__(other)

Return self==value.

__hash__ = None
__init__(A: float, B: float) None
__match_args__ = ('A', 'B')
__module__ = 'sas.sascalc.corfunc.calculation_data'
__repr__()

Return repr(self).

__weakref__

list of weak references to the object

class sas.sascalc.corfunc.calculation_data.LamellarParameters(long_period: float, interface_thickness: float, hard_block_thickness: float, soft_block_thickness: float, core_thickness: float, polydispersity_ryan: float, polydispersity_stribeck: float, local_crystallinity: float)

Bases: object

Lamellar parameters

__annotations__ = {'core_thickness': <class 'float'>, 'hard_block_thickness': <class 'float'>, 'interface_thickness': <class 'float'>, 'local_crystallinity': <class 'float'>, 'long_period': <class 'float'>, 'polydispersity_ryan': <class 'float'>, 'polydispersity_stribeck': <class 'float'>, 'soft_block_thickness': <class 'float'>}
__dataclass_fields__ = {'core_thickness': Field(name='core_thickness',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'hard_block_thickness': Field(name='hard_block_thickness',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'interface_thickness': Field(name='interface_thickness',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'local_crystallinity': Field(name='local_crystallinity',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'long_period': Field(name='long_period',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'polydispersity_ryan': Field(name='polydispersity_ryan',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'polydispersity_stribeck': Field(name='polydispersity_stribeck',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'soft_block_thickness': Field(name='soft_block_thickness',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False)
__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.calculation_data', '__annotations__': {'long_period': <class 'float'>, 'interface_thickness': <class 'float'>, 'hard_block_thickness': <class 'float'>, 'soft_block_thickness': <class 'float'>, 'core_thickness': <class 'float'>, 'polydispersity_ryan': <class 'float'>, 'polydispersity_stribeck': <class 'float'>, 'local_crystallinity': <class 'float'>}, '__doc__': ' Lamellar parameters', '__dict__': <attribute '__dict__' of 'LamellarParameters' objects>, '__weakref__': <attribute '__weakref__' of 'LamellarParameters' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {'long_period': Field(name='long_period',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'interface_thickness': Field(name='interface_thickness',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'hard_block_thickness': Field(name='hard_block_thickness',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'soft_block_thickness': Field(name='soft_block_thickness',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'core_thickness': Field(name='core_thickness',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'polydispersity_ryan': Field(name='polydispersity_ryan',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'polydispersity_stribeck': Field(name='polydispersity_stribeck',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'local_crystallinity': Field(name='local_crystallinity',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__init__': <function LamellarParameters.__init__>, '__repr__': <function LamellarParameters.__repr__>, '__eq__': <function LamellarParameters.__eq__>, '__hash__': None, '__match_args__': ('long_period', 'interface_thickness', 'hard_block_thickness', 'soft_block_thickness', 'core_thickness', 'polydispersity_ryan', 'polydispersity_stribeck', 'local_crystallinity')})
__doc__ = ' Lamellar parameters'
__eq__(other)

Return self==value.

__hash__ = None
__init__(long_period: float, interface_thickness: float, hard_block_thickness: float, soft_block_thickness: float, core_thickness: float, polydispersity_ryan: float, polydispersity_stribeck: float, local_crystallinity: float) None
__match_args__ = ('long_period', 'interface_thickness', 'hard_block_thickness', 'soft_block_thickness', 'core_thickness', 'polydispersity_ryan', 'polydispersity_stribeck', 'local_crystallinity')
__module__ = 'sas.sascalc.corfunc.calculation_data'
__repr__()

Return repr(self).

__weakref__

list of weak references to the object

core_thickness: float
hard_block_thickness: float
interface_thickness: float
local_crystallinity: float
long_period: float
polydispersity_ryan: float
polydispersity_stribeck: float
soft_block_thickness: float
class sas.sascalc.corfunc.calculation_data.LongPeriodMethod(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: EntryListEnum

Methods for estimating the long period

DOUBLE_MIN = 'double-min'
MAX = 'max'
__doc__ = ' Methods for estimating the long period '
__module__ = 'sas.sascalc.corfunc.calculation_data'
__new__(value)
class sas.sascalc.corfunc.calculation_data.PorodData(K: float, sigma: float)

Bases: object

Parameters for a Porod model

K: float
__annotations__ = {'K': <class 'float'>, 'sigma': <class 'float'>}
__dataclass_fields__ = {'K': Field(name='K',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sigma': Field(name='sigma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False)
__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.calculation_data', '__annotations__': {'K': <class 'float'>, 'sigma': <class 'float'>}, '__doc__': ' Parameters for a Porod model ', '__dict__': <attribute '__dict__' of 'PorodData' objects>, '__weakref__': <attribute '__weakref__' of 'PorodData' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {'K': Field(name='K',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sigma': Field(name='sigma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__init__': <function PorodData.__init__>, '__repr__': <function PorodData.__repr__>, '__eq__': <function PorodData.__eq__>, '__hash__': None, '__match_args__': ('K', 'sigma')})
__doc__ = ' Parameters for a Porod model '
__eq__(other)

Return self==value.

__hash__ = None
__init__(K: float, sigma: float) None
__match_args__ = ('K', 'sigma')
__module__ = 'sas.sascalc.corfunc.calculation_data'
__repr__()

Return repr(self).

__weakref__

list of weak references to the object

sigma: float
class sas.sascalc.corfunc.calculation_data.SettableExtrapolationParameters(point_1: float, point_2: float, point_3: float)

Bases: object

Extrapolation parameters that can be set by the user

__annotations__ = {'point_1': <class 'float'>, 'point_2': <class 'float'>, 'point_3': <class 'float'>}
__dataclass_fields__ = {'point_1': Field(name='point_1',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'point_2': Field(name='point_2',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'point_3': Field(name='point_3',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False)
__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.calculation_data', '__annotations__': {'point_1': <class 'float'>, 'point_2': <class 'float'>, 'point_3': <class 'float'>}, '__doc__': ' Extrapolation parameters that can be set by the user', '__dict__': <attribute '__dict__' of 'SettableExtrapolationParameters' objects>, '__weakref__': <attribute '__weakref__' of 'SettableExtrapolationParameters' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {'point_1': Field(name='point_1',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'point_2': Field(name='point_2',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'point_3': Field(name='point_3',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__init__': <function SettableExtrapolationParameters.__init__>, '__repr__': <function SettableExtrapolationParameters.__repr__>, '__eq__': <function SettableExtrapolationParameters.__eq__>, '__hash__': None, '__match_args__': ('point_1', 'point_2', 'point_3')})
__doc__ = ' Extrapolation parameters that can be set by the user'
__eq__(other)

Return self==value.

__hash__ = None
__init__(point_1: float, point_2: float, point_3: float) None
__match_args__ = ('point_1', 'point_2', 'point_3')
__module__ = 'sas.sascalc.corfunc.calculation_data'
__repr__()

Return repr(self).

__weakref__

list of weak references to the object

point_1: float
point_2: float
point_3: float
class sas.sascalc.corfunc.calculation_data.SupplementaryParameters(tangent_point_z: float, tangent_point_gamma: float, tangent_gradient: float, first_minimum_z: float, first_minimum_gamma: float, first_maximum_z: float, first_maximum_gamma: float, hard_block_z: float, hard_block_gamma: float, interface_z: float, core_z: float, z_range: Tuple[float, float], gamma_range: Tuple[float, float])

Bases: object

Parameters used for drawing the diagram

__annotations__ = {'core_z': <class 'float'>, 'first_maximum_gamma': <class 'float'>, 'first_maximum_z': <class 'float'>, 'first_minimum_gamma': <class 'float'>, 'first_minimum_z': <class 'float'>, 'gamma_range': typing.Tuple[float, float], 'hard_block_gamma': <class 'float'>, 'hard_block_z': <class 'float'>, 'interface_z': <class 'float'>, 'tangent_gradient': <class 'float'>, 'tangent_point_gamma': <class 'float'>, 'tangent_point_z': <class 'float'>, 'z_range': typing.Tuple[float, float]}
__dataclass_fields__ = {'core_z': Field(name='core_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'first_maximum_gamma': Field(name='first_maximum_gamma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'first_maximum_z': Field(name='first_maximum_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'first_minimum_gamma': Field(name='first_minimum_gamma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'first_minimum_z': Field(name='first_minimum_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'gamma_range': Field(name='gamma_range',type=typing.Tuple[float, float],default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'hard_block_gamma': Field(name='hard_block_gamma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'hard_block_z': Field(name='hard_block_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'interface_z': Field(name='interface_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'tangent_gradient': Field(name='tangent_gradient',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'tangent_point_gamma': Field(name='tangent_point_gamma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'tangent_point_z': Field(name='tangent_point_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'z_range': Field(name='z_range',type=typing.Tuple[float, float],default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False)
__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.calculation_data', '__annotations__': {'tangent_point_z': <class 'float'>, 'tangent_point_gamma': <class 'float'>, 'tangent_gradient': <class 'float'>, 'first_minimum_z': <class 'float'>, 'first_minimum_gamma': <class 'float'>, 'first_maximum_z': <class 'float'>, 'first_maximum_gamma': <class 'float'>, 'hard_block_z': <class 'float'>, 'hard_block_gamma': <class 'float'>, 'interface_z': <class 'float'>, 'core_z': <class 'float'>, 'z_range': typing.Tuple[float, float], 'gamma_range': typing.Tuple[float, float]}, '__doc__': ' Parameters used for drawing the diagram ', '__dict__': <attribute '__dict__' of 'SupplementaryParameters' objects>, '__weakref__': <attribute '__weakref__' of 'SupplementaryParameters' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {'tangent_point_z': Field(name='tangent_point_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'tangent_point_gamma': Field(name='tangent_point_gamma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'tangent_gradient': Field(name='tangent_gradient',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'first_minimum_z': Field(name='first_minimum_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'first_minimum_gamma': Field(name='first_minimum_gamma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'first_maximum_z': Field(name='first_maximum_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'first_maximum_gamma': Field(name='first_maximum_gamma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'hard_block_z': Field(name='hard_block_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'hard_block_gamma': Field(name='hard_block_gamma',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'interface_z': Field(name='interface_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'core_z': Field(name='core_z',type=<class 'float'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'z_range': Field(name='z_range',type=typing.Tuple[float, float],default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'gamma_range': Field(name='gamma_range',type=typing.Tuple[float, float],default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__init__': <function SupplementaryParameters.__init__>, '__repr__': <function SupplementaryParameters.__repr__>, '__eq__': <function SupplementaryParameters.__eq__>, '__hash__': None, '__match_args__': ('tangent_point_z', 'tangent_point_gamma', 'tangent_gradient', 'first_minimum_z', 'first_minimum_gamma', 'first_maximum_z', 'first_maximum_gamma', 'hard_block_z', 'hard_block_gamma', 'interface_z', 'core_z', 'z_range', 'gamma_range')})
__doc__ = ' Parameters used for drawing the diagram '
__eq__(other)

Return self==value.

__hash__ = None
__init__(tangent_point_z: float, tangent_point_gamma: float, tangent_gradient: float, first_minimum_z: float, first_minimum_gamma: float, first_maximum_z: float, first_maximum_gamma: float, hard_block_z: float, hard_block_gamma: float, interface_z: float, core_z: float, z_range: Tuple[float, float], gamma_range: Tuple[float, float]) None
__match_args__ = ('tangent_point_z', 'tangent_point_gamma', 'tangent_gradient', 'first_minimum_z', 'first_minimum_gamma', 'first_maximum_z', 'first_maximum_gamma', 'hard_block_z', 'hard_block_gamma', 'interface_z', 'core_z', 'z_range', 'gamma_range')
__module__ = 'sas.sascalc.corfunc.calculation_data'
__repr__()

Return repr(self).

__weakref__

list of weak references to the object

core_z: float
first_maximum_gamma: float
first_maximum_z: float
first_minimum_gamma: float
first_minimum_z: float
gamma_range: Tuple[float, float]
hard_block_gamma: float
hard_block_z: float
interface_z: float
tangent_gradient: float
tangent_point_gamma: float
tangent_point_z: float
z_range: Tuple[float, float]
class sas.sascalc.corfunc.calculation_data.TangentMethod(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Bases: EntryListEnum

Methods for estimating the tangent

HALF_MIN = 'half-min'
INFLECTION = 'inflection'
__doc__ = ' Methods for estimating the tangent '
__module__ = 'sas.sascalc.corfunc.calculation_data'
__new__(value)
class sas.sascalc.corfunc.calculation_data.TransformedData(gamma_1: Data1D, gamma_3: Data1D, idf: Data1D)

Bases: object

Container for the data that is returned by the corfunc transform method

__annotations__ = {'gamma_1': <class 'sasdata.dataloader.data_info.Data1D'>, 'gamma_3': <class 'sasdata.dataloader.data_info.Data1D'>, 'idf': <class 'sasdata.dataloader.data_info.Data1D'>}
__dataclass_fields__ = {'gamma_1': Field(name='gamma_1',type=<class 'sasdata.dataloader.data_info.Data1D'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'gamma_3': Field(name='gamma_3',type=<class 'sasdata.dataloader.data_info.Data1D'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'idf': Field(name='idf',type=<class 'sasdata.dataloader.data_info.Data1D'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}
__dataclass_params__ = _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False)
__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.calculation_data', '__annotations__': {'gamma_1': <class 'sasdata.dataloader.data_info.Data1D'>, 'gamma_3': <class 'sasdata.dataloader.data_info.Data1D'>, 'idf': <class 'sasdata.dataloader.data_info.Data1D'>}, '__doc__': ' Container for the data that is returned by the corfunc transform method', '__dict__': <attribute '__dict__' of 'TransformedData' objects>, '__weakref__': <attribute '__weakref__' of 'TransformedData' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False), '__dataclass_fields__': {'gamma_1': Field(name='gamma_1',type=<class 'sasdata.dataloader.data_info.Data1D'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'gamma_3': Field(name='gamma_3',type=<class 'sasdata.dataloader.data_info.Data1D'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'idf': Field(name='idf',type=<class 'sasdata.dataloader.data_info.Data1D'>,default=<dataclasses._MISSING_TYPE object>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__init__': <function TransformedData.__init__>, '__repr__': <function TransformedData.__repr__>, '__eq__': <function TransformedData.__eq__>, '__hash__': None, '__match_args__': ('gamma_1', 'gamma_3', 'idf')})
__doc__ = ' Container for the data that is returned by the corfunc transform method'
__eq__(other)

Return self==value.

__hash__ = None
__init__(gamma_1: Data1D, gamma_3: Data1D, idf: Data1D) None
__match_args__ = ('gamma_1', 'gamma_3', 'idf')
__module__ = 'sas.sascalc.corfunc.calculation_data'
__repr__()

Return repr(self).

__weakref__

list of weak references to the object

gamma_1: Data1D
gamma_3: Data1D
idf: Data1D

sas.sascalc.corfunc.corfunc_calculator module

This module implements corfunc

exception sas.sascalc.corfunc.corfunc_calculator.CalculationError(msg: str)

Bases: Exception

Error doing calculation

__doc__ = ' Error doing calculation'
__init__(msg: str)
__module__ = 'sas.sascalc.corfunc.corfunc_calculator'
__weakref__

list of weak references to the object

class sas.sascalc.corfunc.corfunc_calculator.CorfuncCalculator(data: Data1D | None = None, extrapolation_parameters: SettableExtrapolationParameters | None = None, long_period_method: LongPeriodMethod | None = None, tangent_method: TangentMethod | None = None)

Bases: object

__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.corfunc_calculator', '__init__': <function CorfuncCalculator.__init__>, 'reset_calculated_values': <function CorfuncCalculator.reset_calculated_values>, 'extrapolation_parameters': <property object>, 'data': <property object>, 'q_range': <property object>, 'background': <property object>, 'guinier': <property object>, 'porod': <property object>, 'transformed': <property object>, 'lamellar_parameters': <property object>, 'supplementary_parameters': <property object>, 'extrapolation_function': <property object>, 'min_extrapolated': <property object>, 'fit_background': <property object>, 'fit_guinier': <property object>, 'fit_porod': <property object>, 'extrapolated': <property object>, 'run': <function CorfuncCalculator.run>, '_calculate_background': <function CorfuncCalculator._calculate_background>, '_calculate_background_subtracted': <function CorfuncCalculator._calculate_background_subtracted>, '_calculate_porod_parameters': <function CorfuncCalculator._calculate_porod_parameters>, '_calculate_guinier_parameters': <function CorfuncCalculator._calculate_guinier_parameters>, '_calculate_extrapolation_function': <function CorfuncCalculator._calculate_extrapolation_function>, '_calculate_extrapolation_data': <function CorfuncCalculator._calculate_extrapolation_data>, '_calculate_transforms': <function CorfuncCalculator._calculate_transforms>, '_calculate_parameters': <function CorfuncCalculator._calculate_parameters>, 'porod_function': <staticmethod(<function CorfuncCalculator.porod_function>)>, 'guinier_function': <staticmethod(<function CorfuncCalculator.guinier_function>)>, 'porod_fitting_function': <staticmethod(<function CorfuncCalculator.porod_fitting_function>)>, 'porod_fitting_function_expected': <staticmethod(<function CorfuncCalculator.porod_fitting_function_expected>)>, 'porod_fitting_function_observed': <staticmethod(<function CorfuncCalculator.porod_fitting_function_observed>)>, 'calculate_guinier_parameters': <staticmethod(<function CorfuncCalculator.calculate_guinier_parameters>)>, 'calculate_porod_parameters': <staticmethod(<function CorfuncCalculator.calculate_porod_parameters>)>, '__dict__': <attribute '__dict__' of 'CorfuncCalculator' objects>, '__weakref__': <attribute '__weakref__' of 'CorfuncCalculator' objects>, '__doc__': None, '__annotations__': {'_extrapolation_parameters': 'Optional[SettableExtrapolationParameters]', 'tangent_method': 'Optional[TangentMethod]', 'long_period_method': 'Optional[LongPeriodMethod]', '_background': 'Fittable[float]', '_porod': 'Fittable[PorodData]', '_guinier': 'Fittable[GuinierData]', '_background_subtracted': 'Optional[np.ndarray]', '_extrapolation_function': 'Optional[SmoothJoin]', '_extrapolation_data': 'Optional[Data1D]', '_transformed_data': 'Optional[TransformedData]', '_lamellar_parameters': 'Optional[LamellarParameters]', '_supplementary_parameters': 'Optional[SupplementaryParameters]'}})
__doc__ = None
__init__(data: Data1D | None = None, extrapolation_parameters: SettableExtrapolationParameters | None = None, long_period_method: LongPeriodMethod | None = None, tangent_method: TangentMethod | None = None)

Back-end for corfunc calculations

Parameters:
  • data – Input data (Data1D)

  • extrapolation_parameters – SettableExtrapolationParameters object containing the q values use to extrapolate

__module__ = 'sas.sascalc.corfunc.corfunc_calculator'
__weakref__

list of weak references to the object

_calculate_background()

Compute the background level from the Porod region of the data, only do this if background fitting is allowed

_calculate_background_subtracted()

Calculate the data with the background removed

_calculate_extrapolation_data()

Numerically evaluate the extrapolation curve

_calculate_extrapolation_function()
_calculate_guinier_parameters()
_calculate_parameters()

Extract the interesting measurements from a correlation function

_calculate_porod_parameters()

Calculate the Porod parameters

_calculate_transforms()

Calculate the transforms

property background
static calculate_guinier_parameters(q, I)

Fit the Guinier region of the curve using linear least squares

static calculate_porod_parameters(q, I)

Fit the Porod region of the curve

property data: Data1D | None
property extrapolated
property extrapolation_function: Callable | None
property extrapolation_parameters: ExtrapolationParameters | None
property fit_background
property fit_guinier
property fit_porod
property guinier
static guinier_function(A, B, background)
property lamellar_parameters: LamellarParameters
property min_extrapolated: float | None
property porod
static porod_fitting_function(q, K, sigma, background)

Equation for the Porod region of the data

static porod_fitting_function_expected(q, K, sigma, background)

Expected value function used for fitting Porod region (has a q^2 weighting)

static porod_fitting_function_observed(q, I)

Observed value function used for fitting Porod region

static porod_function(K, sigma, background)
property q_range: Tuple[float, float]
reset_calculated_values()

Resets the calculated values, but does not clear the data or reset the user specified parameters

run()

Execute the calculation

property supplementary_parameters: SupplementaryParameters | None
property transformed
sas.sascalc.corfunc.corfunc_calculator.extract_lamellar_parameters(data: Data1D, guinier_to_data_transition_right: float, data_to_porod_transition_left: float, data_to_porod_transition_right: float, long_period_method: LongPeriodMethod | None = None, tangent_method: TangentMethod | None = None)

Extract lamellar parameters from data using the corfunc calculator

Parameters:
  • data – Data1D object containing QSpace data

  • guinier_to_data_transition_right – Q value at which to end the extrapolation from Guiner to data

  • data_to_porod_transition_left – Q value at which to begin the extrapolation from data to Porod

  • data_to_porod_transition_right – Q value at which to end the extrapolation from data to Porod

  • long_period_method – LongPeriodMethod enum value specifying how to calculate the long period (None autodetects)

  • tangent_method – TangentMethod enum value specifying how to calculate the long period (None autodetects)

Returns:

LamellarParameters object with calculated lamellar parameters

sas.sascalc.corfunc.smoothing module

class sas.sascalc.corfunc.smoothing.Cache(x, y)

Bases: tuple

__doc__ = 'Cache(x, y)'
__getnewargs__()

Return self as a plain tuple. Used by copy and pickle.

__match_args__ = ('x', 'y')
__module__ = 'sas.sascalc.corfunc.smoothing'
static __new__(_cls, x, y)

Create new instance of Cache(x, y)

__repr__()

Return a nicely formatted representation string

__slots__ = ()
_asdict()

Return a new dict which maps field names to their values.

_field_defaults = {}
_fields = ('x', 'y')
classmethod _make(iterable)

Make a new Cache object from a sequence or iterable

_replace(**kwds)

Return a new Cache object replacing specified fields with new values

x

Alias for field number 0

y

Alias for field number 1

class sas.sascalc.corfunc.smoothing.SmoothJoin(left_hand_function: Callable[[ndarray | float | int], ndarray | float | int], right_hand_function: Callable[[ndarray | float | int], ndarray | float | int], start: float, stop: float)

Bases: object

Function that merges two functions, one on the left (small x), one on the right (high x) with a transition region inbetween, specified by [start, stop]

Parameters:
  • left_hand_function – The first curve to interpolate

  • right_hand_function – The second curve to interpolate

  • start – The value at which to start the interpolation

  • stop – The value at which to stop the interpolation

__call__(*args, **kwargs)

Call self as a function.

__dict__ = mappingproxy({'__module__': 'sas.sascalc.corfunc.smoothing', '__doc__': '\n    Function that merges two functions, one on the left (small x),\n    one on the right (high x) with a transition region inbetween,\n    specified by [start, stop]\n\n\n    :param left_hand_function: The first curve to interpolate\n    :param right_hand_function: The second curve to interpolate\n    :param start: The value at which to start the interpolation\n    :param stop: The value at which to stop the interpolation\n    ', '__init__': <function SmoothJoin.__init__>, '__call__': <function assure_vectorised_argument.<locals>.wrapper>, '__dict__': <attribute '__dict__' of 'SmoothJoin' objects>, '__weakref__': <attribute '__weakref__' of 'SmoothJoin' objects>, '__annotations__': {'_cache': 'Optional[Cache]'}})
__doc__ = '\n    Function that merges two functions, one on the left (small x),\n    one on the right (high x) with a transition region inbetween,\n    specified by [start, stop]\n\n\n    :param left_hand_function: The first curve to interpolate\n    :param right_hand_function: The second curve to interpolate\n    :param start: The value at which to start the interpolation\n    :param stop: The value at which to stop the interpolation\n    '
__init__(left_hand_function: Callable[[ndarray | float | int], ndarray | float | int], right_hand_function: Callable[[ndarray | float | int], ndarray | float | int], start: float, stop: float)
__module__ = 'sas.sascalc.corfunc.smoothing'
__weakref__

list of weak references to the object

sas.sascalc.corfunc.smoothing.main()
sas.sascalc.corfunc.smoothing.show_smoothing_function()

Local sanity-check plots for the joiner

sas.sascalc.corfunc.transform_thread module

class sas.sascalc.corfunc.transform_thread.FourierThread(raw_data, extrapolated_data, bg, updatefn=None, completefn=None)

Bases: CalcThread

__annotations__ = {}
__doc__ = None
__init__(raw_data, extrapolated_data, bg, updatefn=None, completefn=None)
__module__ = 'sas.sascalc.corfunc.transform_thread'
check_if_cancelled()
compute()

Perform a work unit. The subclass will provide details of the arguments.

class sas.sascalc.corfunc.transform_thread.HilbertThread(raw_data, extrapolated_data, bg, updatefn=None, completefn=None)

Bases: CalcThread

__annotations__ = {}
__doc__ = None
__init__(raw_data, extrapolated_data, bg, updatefn=None, completefn=None)
__module__ = 'sas.sascalc.corfunc.transform_thread'
compute()

Perform a work unit. The subclass will provide details of the arguments.

sas.sascalc.corfunc.vectorisation module

sas.sascalc.corfunc.vectorisation.assure_vectorised_argument(f: Callable)

Allow arguments to a function mapping numpy vectors that would otherwise strictly require numpy vectors, to accept and return floats

Module contents