sas.qtgui.Perspectives.SizeDistribution package

Subpackages

Submodules

sas.qtgui.Perspectives.SizeDistribution.SizeDistributionLogic module

class sas.qtgui.Perspectives.SizeDistribution.SizeDistributionLogic.SizeDistributionLogic(data: Data1D | None = None)

Bases: object

All the data-related logic. This class deals exclusively with Data1D/2D No QStandardModelIndex here.

__dict__ = mappingproxy({'__module__': 'sas.qtgui.Perspectives.SizeDistribution.SizeDistributionLogic', '__firstlineno__': 23, '__doc__': '\nAll the data-related logic. This class deals exclusively with Data1D/2D\nNo QStandardModelIndex here.\n', '__init__': <function SizeDistributionLogic.__init__>, 'data': <property object>, 'isLoadedData': <function SizeDistributionLogic.isLoadedData>, 'setDataProperties': <function SizeDistributionLogic.setDataProperties>, 'computeDataRange': <function SizeDistributionLogic.computeDataRange>, 'computeBackground': <function SizeDistributionLogic.computeBackground>, 'computeTrustRange': <function SizeDistributionLogic.computeTrustRange>, 'fitBackground': <function SizeDistributionLogic.fitBackground>, 'newDataPlot': <function SizeDistributionLogic.newDataPlot>, 'newSizeDistrPlot': <function SizeDistributionLogic.newSizeDistrPlot>, '__static_attributes__': ('_data', 'background', 'data_fit', 'data_is_loaded', 'di_flag'), '__dict__': <attribute '__dict__' of 'SizeDistributionLogic' objects>, '__weakref__': <attribute '__weakref__' of 'SizeDistributionLogic' objects>, '__annotations__': {'_data': 'LoadData1D | None', 'data_is_loaded': 'bool', 'di_flag': 'bool', 'background': 'LoadData1D | None', 'data_fit': 'LoadData1D | None'}})
__doc__ = '\nAll the data-related logic. This class deals exclusively with Data1D/2D\nNo QStandardModelIndex here.\n'
__firstlineno__ = 23
__init__(data: Data1D | None = None) None
__module__ = 'sas.qtgui.Perspectives.SizeDistribution.SizeDistributionLogic'
__static_attributes__ = ('_data', 'background', 'data_fit', 'data_is_loaded', 'di_flag')
__weakref__

list of weak references to the object

computeBackground(constant: float, scale: float, power: float) None
computeDataRange() tuple[float, float]

Compute the minimum and the maximum range of the data.

computeTrustRange(qmin: float, qmax: float) list[float]

Compute the trusted range (green area in Irena).

property data: Data1D | None

Return the data.

fitBackground(power: float | None, qmin: float, qmax: float) list[float] | None

Estimate the background power law, given by: scale * q^(power).

Parameters:

power – if a float is given, the power is fixed; if None, the power is fitted

Returns:

fit parameters; [scale] if power is fixed, or [scale, power] if power is fitted

isLoadedData() bool

Return whether data is loaded.

newDataPlot() tuple[Data1D, Data1D, Data1D | None]

Create a new 1D data instance.

newSizeDistrPlot(result: MaxEntResult, qmin: float, qmax: float) tuple[Data1D, Data1D]

Create a new 1D data instance based on fitting results.

setDataProperties() None

Analyze data and set up some properties important for the presentation layer.

sas.qtgui.Perspectives.SizeDistribution.SizeDistributionPerspective module

class sas.qtgui.Perspectives.SizeDistribution.SizeDistributionPerspective.SizeDistributionWindow(parent: QWidget | None = None)

Bases: QDialog, Ui_SizeDistribution, Perspective

The main window for the Size Distribution perspective.

__annotations__ = {'ext': <class 'str'>, 'name': <class 'str'>}
__doc__ = 'The main window for the Size Distribution perspective.'
__firstlineno__ = 46
__init__(parent: QWidget | None = None) None
__module__ = 'sas.qtgui.Perspectives.SizeDistribution.SizeDistributionPerspective'
__static_attributes__ = ('_allowClose', '_data', '_manager', '_model_item', '_parent', '_path', 'backgd_plot', 'backgd_subtr_plot', 'communicator', 'fit_plot', 'fit_thread', 'is_calculating', 'logic', 'mapper', 'model', 'size_distr_plot', 'trust_plot')
allowBatch() bool

Tell the caller we don’t accept batch data.

allowSwap() bool

Tell the caller we don’t accept swapping data.

clearStatistics() None

Clear the output box.

closeEvent(event: QCloseEvent) None

Overwrite QDialog close method to allow for custom widget close.

data_plot_signal
enableButtons() None

Enable buttons when data is present, else disable them.

eventFilter(widget: QObject, event: QEvent) bool

Catch enter key presses and update data plot.

ext: str = 'ps'
fitComplete(result: MaxEntResult) None

Receive and display fitting results.

Parameters:

result – MaxEnt fitting result object containing the calculated statistics and fitted data used to update the plots and output.

fittingCompleted(result: MaxEntResult | None) None

Send the finish message from calculate threads to main thread.

fittingError(etype: type[BaseException], value: BaseException, traceback: TracebackType | None) None

Handle error in the calculation thread.

fittingFinishedSignal
getBackgroundParams() tuple[float, float, float]

Collect background parameters from the GUI state.

getFlatBackgroundRange() tuple[float, float]

Collect background range from the GUI state.

getMaxEntParams() MaxEntParameters

Collect Max Ent parameters from the GUI state.

getPage() dict[str, str | bool]

Serializes full state of this fit page into a dictionary.

Returns:

a dictionary of {param_name: value}

getPowerLawBackgroundRange() tuple[float, float]

Collect power law range from the GUI state.

getState() dict[str, str | bool]

Collects all active params into a dictionary.

Returns:

a dictionary of {name: value}

getWeightType() WeightType | None

Return the weight type based on the checked radio button.

help() None

Open the Size Distribution help.

isClosable() bool

Return whether this widget is currently closable.

isSerializable() bool

Tell the caller that this perspective writes its state.

name: str = 'SizeDistribution'
onFitFlatBackground() None

Fit flat background and update plot.

onFitPowerLaw() None

Fit background power law and update plot.

onFullFit() None

Perform a full fit of the size distribution.

onLowQStateChanged(state: int) None

Slot for state change of the subtract power law checkbox.

onQuickFit() None

Perform a quick fit of the size distribution.

onRangeReset() None

Callback for resetting qmin/qmax.

plotData() None

Plot data, background and background subtracted data.

removeData(data_list: list | None = None) None

Remove the existing data reference from the Size Distribution Perspective.

reset() None

Reset the size distribution perspective to an empty state.

resetWindow() None

Reset the state of input widgets and data structures to default values.

serializeAll() dict

Serialize the size distribution state so data can be saved. Size distribution is not batch-ready so this will only effect a single page.

Returns:

a dictionary of {data-id: {self.name: {inversion-state}}}

serializeCurrentPage() dict

Serialize and return a dictionary representing the current state of the size distribution page. Return empty dictionary if no data.

Returns:

a dictionary of {data-id: {self.name: {invariant - state}}}

setClosable(value: bool = True) None

Allow outsiders close this widget.

setData(data_item: list | None = None, is_batch: bool = False) None

Obtain a QStandardItem object and parse it to get Data1D/2D Pass it over to the calculator

setupMapper() None

Set up the mapper.

setupModel() None

Update boxes with initial values.

setupSlots() None

Connect the use controls to their appropriate methods.

setupValidators() None

Apply validators to editable line edits.

setupWindow() None

Initialize base window state on startup.

staticMetaObject = PySide6.QtCore.QMetaObject("SizeDistributionWindow" inherits "QDialog": Methods:   #41 type=Signal, signature=fittingFinishedSignal(PyObject), parameters=PyObject   #42 type=Signal, signature=data_plot_signal() )
property title: str

Return the window title.

updateBackground() None

Update the background data.

updateFromParameters(params: dict) None

Update the GUI state based on a dictionary of parameters. Called by Open Project, Open Analysis, and removeData.

Parameters:

params – a dictionary of {param_name: value}; default values used if not valid

updateQRange(q_range_min: float, q_range_max: float) None

Update the local model based on calculated values.

updateStatistics(result: MaxEntResult) None

Update the output box with statistics.

sas.qtgui.Perspectives.SizeDistribution.SizeDistributionThread module

class sas.qtgui.Perspectives.SizeDistribution.SizeDistributionThread.SizeDistributionThread(data: Data1D, background: Data1D, params: MaxEntParameters, completefn: Callable[[MaxEntResult], None] | None = None, updatefn: Callable | None = None, yieldtime: float = 0.01, worktime: float = 0.01, exception_handler: Callable | None = None)

Bases: CalcThread

Thread performing the fit.

__annotations__ = {}
__doc__ = 'Thread performing the fit.'
__firstlineno__ = 16
__init__(data: Data1D, background: Data1D, params: MaxEntParameters, completefn: Callable[[MaxEntResult], None] | None = None, updatefn: Callable | None = None, yieldtime: float = 0.01, worktime: float = 0.01, exception_handler: Callable | None = None) None
__module__ = 'sas.qtgui.Perspectives.SizeDistribution.SizeDistributionThread'
__static_attributes__ = ('background', 'data', 'params', 'starttime')
compute(*args, **kwargs) None

Perform the size distribution fit.

sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils module

class sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils.MaxEntParameters(qmin: float = 0.0, qmax: float = 0.1, dmin: float = 10.0, dmax: float = 1000.0, num_bins: int = 100, log_binning: bool = True, model: str = 'ellipsoid', aspect_ratio: float = 1.0, contrast: float = 1.0, sky_background: float = 1e-06, max_iterations: int = 100, use_weights: bool = True, weight_type: WeightType | None = WeightType.DI, weight_factor: float = 1.0, weight_percent: float = 1.0, full_fit: bool = True)

Bases: object

Parameters for the maximum entropy size distribution fit.

__annotations__ = {'aspect_ratio': <class 'float'>, 'contrast': <class 'float'>, 'dmax': <class 'float'>, 'dmin': <class 'float'>, 'full_fit': <class 'bool'>, 'log_binning': <class 'bool'>, 'max_iterations': <class 'int'>, 'model': <class 'str'>, 'num_bins': <class 'int'>, 'qmax': <class 'float'>, 'qmin': <class 'float'>, 'sky_background': <class 'float'>, 'use_weights': <class 'bool'>, 'weight_factor': <class 'float'>, 'weight_percent': <class 'float'>, 'weight_type': sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils.WeightType | None}
__dataclass_fields__ = {'aspect_ratio': Field(name='aspect_ratio',type=<class 'float'>,default=1.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'contrast': Field(name='contrast',type=<class 'float'>,default=1.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'dmax': Field(name='dmax',type=<class 'float'>,default=1000.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'dmin': Field(name='dmin',type=<class 'float'>,default=10.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'full_fit': Field(name='full_fit',type=<class 'bool'>,default=True,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'log_binning': Field(name='log_binning',type=<class 'bool'>,default=True,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'max_iterations': Field(name='max_iterations',type=<class 'int'>,default=100,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'model': Field(name='model',type=<class 'str'>,default='ellipsoid',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'num_bins': Field(name='num_bins',type=<class 'int'>,default=100,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'qmax': Field(name='qmax',type=<class 'float'>,default=0.1,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'qmin': Field(name='qmin',type=<class 'float'>,default=0.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sky_background': Field(name='sky_background',type=<class 'float'>,default=1e-06,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'use_weights': Field(name='use_weights',type=<class 'bool'>,default=True,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'weight_factor': Field(name='weight_factor',type=<class 'float'>,default=1.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'weight_percent': Field(name='weight_percent',type=<class 'float'>,default=1.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'weight_type': Field(name='weight_type',type=sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils.WeightType | None,default=<WeightType.DI: 'dI'>,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,match_args=True,kw_only=False,slots=False,weakref_slot=False)
__dict__ = mappingproxy({'__module__': 'sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils', '__firstlineno__': 39, '__annotations__': {'qmin': <class 'float'>, 'qmax': <class 'float'>, 'dmin': <class 'float'>, 'dmax': <class 'float'>, 'num_bins': <class 'int'>, 'log_binning': <class 'bool'>, 'model': <class 'str'>, 'aspect_ratio': <class 'float'>, 'contrast': <class 'float'>, 'sky_background': <class 'float'>, 'max_iterations': <class 'int'>, 'use_weights': <class 'bool'>, 'weight_type': sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils.WeightType | None, 'weight_factor': <class 'float'>, 'weight_percent': <class 'float'>, 'full_fit': <class 'bool'>}, '__doc__': 'Parameters for the maximum entropy size distribution fit.', 'qmin': 0.0, 'qmax': 0.1, 'dmin': 10.0, 'dmax': 1000.0, 'num_bins': 100, 'log_binning': True, 'model': 'ellipsoid', 'aspect_ratio': 1.0, 'contrast': 1.0, 'sky_background': 1e-06, 'max_iterations': 100, 'use_weights': True, 'weight_type': <WeightType.DI: 'dI'>, 'weight_factor': 1.0, 'weight_percent': 1.0, 'full_fit': True, '__static_attributes__': (), '__dict__': <attribute '__dict__' of 'MaxEntParameters' objects>, '__weakref__': <attribute '__weakref__' of 'MaxEntParameters' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'qmin': Field(name='qmin',type=<class 'float'>,default=0.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'qmax': Field(name='qmax',type=<class 'float'>,default=0.1,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'dmin': Field(name='dmin',type=<class 'float'>,default=10.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'dmax': Field(name='dmax',type=<class 'float'>,default=1000.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'num_bins': Field(name='num_bins',type=<class 'int'>,default=100,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'log_binning': Field(name='log_binning',type=<class 'bool'>,default=True,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'model': Field(name='model',type=<class 'str'>,default='ellipsoid',default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'aspect_ratio': Field(name='aspect_ratio',type=<class 'float'>,default=1.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'contrast': Field(name='contrast',type=<class 'float'>,default=1.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'sky_background': Field(name='sky_background',type=<class 'float'>,default=1e-06,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'max_iterations': Field(name='max_iterations',type=<class 'int'>,default=100,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'use_weights': Field(name='use_weights',type=<class 'bool'>,default=True,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'weight_type': Field(name='weight_type',type=sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils.WeightType | None,default=<WeightType.DI: 'dI'>,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'weight_factor': Field(name='weight_factor',type=<class 'float'>,default=1.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'weight_percent': Field(name='weight_percent',type=<class 'float'>,default=1.0,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD), 'full_fit': Field(name='full_fit',type=<class 'bool'>,default=True,default_factory=<dataclasses._MISSING_TYPE object>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),kw_only=False,_field_type=_FIELD)}, '__replace__': <function _replace>, '__hash__': None, '__init__': <function MaxEntParameters.__init__>, '__repr__': <function MaxEntParameters.__repr__>, '__eq__': <function MaxEntParameters.__eq__>, '__match_args__': ('qmin', 'qmax', 'dmin', 'dmax', 'num_bins', 'log_binning', 'model', 'aspect_ratio', 'contrast', 'sky_background', 'max_iterations', 'use_weights', 'weight_type', 'weight_factor', 'weight_percent', 'full_fit')})
__doc__ = 'Parameters for the maximum entropy size distribution fit.'
__eq__(other)

Return self==value.

__firstlineno__ = 39
__hash__ = None
__init__(qmin: float = 0.0, qmax: float = 0.1, dmin: float = 10.0, dmax: float = 1000.0, num_bins: int = 100, log_binning: bool = True, model: str = 'ellipsoid', aspect_ratio: float = 1.0, contrast: float = 1.0, sky_background: float = 1e-06, max_iterations: int = 100, use_weights: bool = True, weight_type: WeightType | None = WeightType.DI, weight_factor: float = 1.0, weight_percent: float = 1.0, full_fit: bool = True) None
__match_args__ = ('qmin', 'qmax', 'dmin', 'dmax', 'num_bins', 'log_binning', 'model', 'aspect_ratio', 'contrast', 'sky_background', 'max_iterations', 'use_weights', 'weight_type', 'weight_factor', 'weight_percent', 'full_fit')
__module__ = 'sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils'
__replace__(**changes)
__repr__()

Return repr(self).

__static_attributes__ = ()
__weakref__

list of weak references to the object

aspect_ratio: float = 1.0
contrast: float = 1.0
dmax: float = 1000.0
dmin: float = 10.0
full_fit: bool = True
log_binning: bool = True
max_iterations: int = 100
model: str = 'ellipsoid'
num_bins: int = 100
qmax: float = 0.1
qmin: float = 0.0
sky_background: float = 1e-06
use_weights: bool = True
weight_factor: float = 1.0
weight_percent: float = 1.0
weight_type: WeightType | None = 'dI'
class sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils.MaxEntResult(convergences: list[bool], num_iters: list[int], chisq: float, bins: list[float], bin_mag: list[float], bin_diff: list[float], bin_err: list[float], data_max_ent: Data1D, statistics: dict)

Bases: object

Results of the maximum entropy size distribution fit.

__annotations__ = {'bin_diff': list[float], 'bin_err': list[float], 'bin_mag': list[float], 'bins': list[float], 'chisq': <class 'float'>, 'convergences': list[bool], 'data_max_ent': <class 'sasdata.dataloader.data_info.Data1D'>, 'num_iters': list[int], 'statistics': <class 'dict'>}
__dataclass_fields__ = {'bin_diff': Field(name='bin_diff',type=list[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), 'bin_err': Field(name='bin_err',type=list[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), 'bin_mag': Field(name='bin_mag',type=list[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), 'bins': Field(name='bins',type=list[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), 'chisq': Field(name='chisq',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), 'convergences': Field(name='convergences',type=list[bool],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), 'data_max_ent': Field(name='data_max_ent',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), 'num_iters': Field(name='num_iters',type=list[int],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), 'statistics': Field(name='statistics',type=<class 'dict'>,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,match_args=True,kw_only=False,slots=False,weakref_slot=False)
__dict__ = mappingproxy({'__module__': 'sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils', '__firstlineno__': 60, '__annotations__': {'convergences': list[bool], 'num_iters': list[int], 'chisq': <class 'float'>, 'bins': list[float], 'bin_mag': list[float], 'bin_diff': list[float], 'bin_err': list[float], 'data_max_ent': <class 'sasdata.dataloader.data_info.Data1D'>, 'statistics': <class 'dict'>}, '__doc__': 'Results of the maximum entropy size distribution fit.', '__static_attributes__': (), '__dict__': <attribute '__dict__' of 'MaxEntResult' objects>, '__weakref__': <attribute '__weakref__' of 'MaxEntResult' objects>, '__dataclass_params__': _DataclassParams(init=True,repr=True,eq=True,order=False,unsafe_hash=False,frozen=False,match_args=True,kw_only=False,slots=False,weakref_slot=False), '__dataclass_fields__': {'convergences': Field(name='convergences',type=list[bool],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), 'num_iters': Field(name='num_iters',type=list[int],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), 'chisq': Field(name='chisq',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), 'bins': Field(name='bins',type=list[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), 'bin_mag': Field(name='bin_mag',type=list[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), 'bin_diff': Field(name='bin_diff',type=list[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), 'bin_err': Field(name='bin_err',type=list[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), 'data_max_ent': Field(name='data_max_ent',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), 'statistics': Field(name='statistics',type=<class 'dict'>,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)}, '__replace__': <function _replace>, '__hash__': None, '__init__': <function MaxEntResult.__init__>, '__repr__': <function MaxEntResult.__repr__>, '__eq__': <function MaxEntResult.__eq__>, '__match_args__': ('convergences', 'num_iters', 'chisq', 'bins', 'bin_mag', 'bin_diff', 'bin_err', 'data_max_ent', 'statistics')})
__doc__ = 'Results of the maximum entropy size distribution fit.'
__eq__(other)

Return self==value.

__firstlineno__ = 60
__hash__ = None
__init__(convergences: list[bool], num_iters: list[int], chisq: float, bins: list[float], bin_mag: list[float], bin_diff: list[float], bin_err: list[float], data_max_ent: Data1D, statistics: dict) None
__match_args__ = ('convergences', 'num_iters', 'chisq', 'bins', 'bin_mag', 'bin_diff', 'bin_err', 'data_max_ent', 'statistics')
__module__ = 'sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils'
__replace__(**changes)
__repr__()

Return repr(self).

__static_attributes__ = ()
__weakref__

list of weak references to the object

bin_diff: list[float]
bin_err: list[float]
bin_mag: list[float]
bins: list[float]
chisq: float
convergences: list[bool]
data_max_ent: Data1D
num_iters: list[int]
statistics: dict
class sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils.WeightType(*values)

Bases: StrEnum

Enumeration of weight types for the size distribution fit.

DI = 'dI'
NONE = 'None'
PERCENT_I = 'percentI'
SQRT_I = 'sqrt(I Data)'
__doc__ = 'Enumeration of weight types for the size distribution fit.'
__format__(format_spec, /)

Return a formatted version of the string as described by format_spec.

__module__ = 'sas.qtgui.Perspectives.SizeDistribution.SizeDistributionUtils'
__new__(value)
__str__()

Return str(self).

static _generate_next_value_(name, start, count, last_values)

Return the lower-cased version of the member name.

Module contents