sas.qtgui.Perspectives.ParticleEditor package¶
Subpackages¶
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality package
- Submodules
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality.ParameterEntries module
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality.ParameterTable module
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality.ParameterTableButtons module
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality.ParameterTableModel module
LinkingImpossibleParameterTableModelParameterTableModel.__dict__ParameterTableModel.__doc__ParameterTableModel.__init__()ParameterTableModel.__module__ParameterTableModel.__weakref__ParameterTableModel.calculation_parameters()ParameterTableModel.can_link()ParameterTableModel.clean()ParameterTableModel.magnetism_parametersParameterTableModel.set_link_status()ParameterTableModel.sld_parametersParameterTableModel.update_from_code()
main()
- Module contents
- sas.qtgui.Perspectives.ParticleEditor.datamodel package
- Submodules
- sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation module
AngularDistributionAngularDistribution.__abstractmethods__AngularDistribution.__dict__AngularDistribution.__doc__AngularDistribution.__module__AngularDistribution.__weakref__AngularDistribution._abc_implAngularDistribution.n_pointsAngularDistribution.name()AngularDistribution.parameters()AngularDistribution.sample_points_and_weights()
MagnetismDefinitionMagnetismDefinition.__annotations__MagnetismDefinition.__dataclass_fields__MagnetismDefinition.__dataclass_params__MagnetismDefinition.__dict__MagnetismDefinition.__doc__MagnetismDefinition.__eq__()MagnetismDefinition.__hash__MagnetismDefinition.__init__()MagnetismDefinition.__match_args__MagnetismDefinition.__module__MagnetismDefinition.__repr__()MagnetismDefinition.__weakref__MagnetismDefinition.magnetism_functionMagnetismDefinition.to_cartesian_conversion
ParticleDefinitionParticleDefinition.__annotations__ParticleDefinition.__dataclass_fields__ParticleDefinition.__dataclass_params__ParticleDefinition.__dict__ParticleDefinition.__doc__ParticleDefinition.__eq__()ParticleDefinition.__hash__ParticleDefinition.__init__()ParticleDefinition.__match_args__ParticleDefinition.__module__ParticleDefinition.__repr__()ParticleDefinition.__weakref__ParticleDefinition.magnetismParticleDefinition.sld
QSampleQSpaceScatteringQSpaceScattering.__annotations__QSpaceScattering.__dataclass_fields__QSpaceScattering.__dataclass_params__QSpaceScattering.__dict__QSpaceScattering.__doc__QSpaceScattering.__eq__()QSpaceScattering.__hash__QSpaceScattering.__init__()QSpaceScattering.__match_args__QSpaceScattering.__module__QSpaceScattering.__repr__()QSpaceScattering.__weakref__QSpaceScattering.abscissaQSpaceScattering.lower_errorQSpaceScattering.ordinateQSpaceScattering.upper_error
RealSpaceScatteringRealSpaceScattering.__annotations__RealSpaceScattering.__dataclass_fields__RealSpaceScattering.__dataclass_params__RealSpaceScattering.__dict__RealSpaceScattering.__doc__RealSpaceScattering.__eq__()RealSpaceScattering.__hash__RealSpaceScattering.__init__()RealSpaceScattering.__match_args__RealSpaceScattering.__module__RealSpaceScattering.__repr__()RealSpaceScattering.__weakref__RealSpaceScattering.abscissaRealSpaceScattering.ordinate
SLDDefinitionSLDDefinition.__annotations__SLDDefinition.__dataclass_fields__SLDDefinition.__dataclass_params__SLDDefinition.__dict__SLDDefinition.__doc__SLDDefinition.__eq__()SLDDefinition.__hash__SLDDefinition.__init__()SLDDefinition.__match_args__SLDDefinition.__module__SLDDefinition.__repr__()SLDDefinition.__weakref__SLDDefinition.sld_functionSLDDefinition.to_cartesian_conversion
SamplingDistributionSamplingDistribution.__annotations__SamplingDistribution.__dataclass_fields__SamplingDistribution.__dataclass_params__SamplingDistribution.__dict__SamplingDistribution.__doc__SamplingDistribution.__eq__()SamplingDistribution.__hash__SamplingDistribution.__init__()SamplingDistribution.__match_args__SamplingDistribution.__module__SamplingDistribution.__repr__()SamplingDistribution.__weakref__SamplingDistribution.bin_edgesSamplingDistribution.countsSamplingDistribution.name
ScatteringCalculationScatteringCalculation.__annotations__ScatteringCalculation.__dataclass_fields__ScatteringCalculation.__dataclass_params__ScatteringCalculation.__dict__ScatteringCalculation.__doc__ScatteringCalculation.__eq__()ScatteringCalculation.__hash__ScatteringCalculation.__init__()ScatteringCalculation.__match_args__ScatteringCalculation.__module__ScatteringCalculation.__repr__()ScatteringCalculation.__weakref__ScatteringCalculation.angular_samplingScatteringCalculation.bin_countScatteringCalculation.bounding_surface_sld_checkScatteringCalculation.parameter_settingsScatteringCalculation.particle_definitionScatteringCalculation.polarisation_vectorScatteringCalculation.q_samplingScatteringCalculation.sample_chunk_size_hintScatteringCalculation.seedScatteringCalculation.spatial_sampling_method
ScatteringOutputScatteringOutput.__annotations__ScatteringOutput.__dataclass_fields__ScatteringOutput.__dataclass_params__ScatteringOutput.__dict__ScatteringOutput.__doc__ScatteringOutput.__eq__()ScatteringOutput.__hash__ScatteringOutput.__init__()ScatteringOutput.__match_args__ScatteringOutput.__module__ScatteringOutput.__repr__()ScatteringOutput.__weakref__ScatteringOutput.calculation_timeScatteringOutput.q_spaceScatteringOutput.seed_used
SpatialDistributionSpatialDistribution.__abstractmethods__SpatialDistribution.__dict__SpatialDistribution.__doc__SpatialDistribution.__init__()SpatialDistribution.__module__SpatialDistribution.__weakref__SpatialDistribution._abc_implSpatialDistribution._bounding_surface_check_points()SpatialDistribution.allows_bootstrapSpatialDistribution.bounding_surface_check_points()SpatialDistribution.generate()SpatialDistribution.info
- sas.qtgui.Perspectives.ParticleEditor.datamodel.parameters module
BackgroundCalculationParametersCalculationParameters.__annotations__CalculationParameters.__doc__CalculationParameters.__getnewargs__()CalculationParameters.__match_args__CalculationParameters.__module__CalculationParameters.__new__()CalculationParameters.__orig_bases__CalculationParameters.__repr__()CalculationParameters.__slots__CalculationParameters._asdict()CalculationParameters._field_defaultsCalculationParameters._fieldsCalculationParameters._make()CalculationParameters._replace()CalculationParameters.backgroundCalculationParameters.magnetism_parametersCalculationParameters.scaleCalculationParameters.sld_parametersCalculationParameters.solvent_sld
FunctionParameterMagnetismParameterContainerMagnetismParameterContainer.__annotations__MagnetismParameterContainer.__doc__MagnetismParameterContainer.__getnewargs__()MagnetismParameterContainer.__match_args__MagnetismParameterContainer.__module__MagnetismParameterContainer.__new__()MagnetismParameterContainer.__orig_bases__MagnetismParameterContainer.__repr__()MagnetismParameterContainer.__slots__MagnetismParameterContainer._asdict()MagnetismParameterContainer._field_defaultsMagnetismParameterContainer._fieldsMagnetismParameterContainer._make()MagnetismParameterContainer._replace()MagnetismParameterContainer.linkedMagnetismParameterContainer.parameter
ParameterScaleSolventSLDValueSource
- sas.qtgui.Perspectives.ParticleEditor.datamodel.types module
CoordinateSystemTransformCoordinateSystemTransform.__abstractmethods__CoordinateSystemTransform.__call__()CoordinateSystemTransform.__dict__CoordinateSystemTransform.__doc__CoordinateSystemTransform.__init__()CoordinateSystemTransform.__module__CoordinateSystemTransform.__parameters__CoordinateSystemTransform.__subclasshook__()CoordinateSystemTransform.__weakref__CoordinateSystemTransform._abc_implCoordinateSystemTransform._is_protocol
MagnetismFunctionMagnetismFunction.__abstractmethods__MagnetismFunction.__call__()MagnetismFunction.__dict__MagnetismFunction.__doc__MagnetismFunction.__init__()MagnetismFunction.__module__MagnetismFunction.__parameters__MagnetismFunction.__subclasshook__()MagnetismFunction.__weakref__MagnetismFunction._abc_implMagnetismFunction._is_protocol
SLDFunction
- Module contents
- sas.qtgui.Perspectives.ParticleEditor.sampling package
- Submodules
- sas.qtgui.Perspectives.ParticleEditor.sampling.angles module
- sas.qtgui.Perspectives.ParticleEditor.sampling.chunking module
- sas.qtgui.Perspectives.ParticleEditor.sampling.geodesic module
GeodesicGeodesic.__dict__Geodesic.__doc__Geodesic.__module__Geodesic.__weakref__Geodesic._base_edgesGeodesic._base_trianglesGeodesic._base_verticesGeodesic._cacheGeodesic._calculate_weights()Geodesic._rotation_matrix_to_z_vector()Geodesic.by_divisions()Geodesic.by_point_count()Geodesic.minimal_divisions_for_points()Geodesic.points_for_division_amount()
GeodesicDivisions
- sas.qtgui.Perspectives.ParticleEditor.sampling.points module
- Module contents
Submodules¶
sas.qtgui.Perspectives.ParticleEditor.AngularSamplingMethodSelector module¶
- class sas.qtgui.Perspectives.ParticleEditor.AngularSamplingMethodSelector.AngularSamplingMethodSelector(parent=None)¶
Bases:
QWidgetSelects the method for doing angular sampling, and provides access to the parameters
- __doc__ = ' Selects the method for doing angular sampling, and provides access to the parameters '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.AngularSamplingMethodSelector'¶
- generate_sampler() AngularDistribution¶
Create the angular distribution sampler spectified by the current settings
- on_update()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("AngularSamplingMethodSelector" inherits "QWidget": )¶
- class sas.qtgui.Perspectives.ParticleEditor.AngularSamplingMethodSelector.ParametersForm(sampling_class: type, parent=None)¶
Bases:
QWidgetForm that displays the parameters associated with the class (also responsible for generating the sampler)
- __doc__ = ' Form that displays the parameters associated with the class (also responsible for generating the sampler)'¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.AngularSamplingMethodSelector'¶
- generate_sampler() AngularDistribution¶
Generate a sampler based on the selected parameters
- staticMetaObject = PySide6.QtCore.QMetaObject("ParametersForm" inherits "QWidget": )¶
- sas.qtgui.Perspectives.ParticleEditor.AngularSamplingMethodSelector.main()¶
Show a demo
sas.qtgui.Perspectives.ParticleEditor.CodeToolBar module¶
- class sas.qtgui.Perspectives.ParticleEditor.CodeToolBar.CodeToolBar(parent=None)¶
Bases:
QWidget,Ui_CodeToolBar- __doc__ = None¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.CodeToolBar'¶
- staticMetaObject = PySide6.QtCore.QMetaObject("CodeToolBar" inherits "QWidget": )¶
sas.qtgui.Perspectives.ParticleEditor.DesignWindow module¶
- class sas.qtgui.Perspectives.ParticleEditor.DesignWindow.DesignWindow(parent=None)¶
Bases:
QDialog,Ui_DesignWindowMain window for the particle editor
- __doc__ = ' Main window for the particle editor'¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, sizeGripEnabled: bool | None = None, modal: bool | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.DesignWindow'¶
- angularDistribution() AngularDistribution¶
Get the AngularDistribution object that represents the GUI selected orientational distribution
- codeError(text)¶
Show an error concerning input code
- codeText(text)¶
Show info about input code / code stdout
- codeWarning(text)¶
Show a warning about input code
- currentSeed()¶
- display_calculation_result(scattering_result: ScatteringOutput)¶
Update graphs and select tab
- doBuild()¶
Build functionality requested
- doScatter()¶
Scatter functionality requested
- magnetismDefinition() MagnetismDefinition | None¶
- onFit()¶
Fit functionality requested
- onLoad()¶
- onRadiusChanged()¶
- onSave()¶
- onTimeEstimateParametersChanged()¶
Called when the number of samples changes
- parametersForCalculation() CalculationParameters¶
- particleDefinition() ParticleDefinition¶
Get the ParticleDefinition object that contains the SLD and magnetism functions
- polarisationVector() ndarray¶
Get a numpy vector representing the GUI specified polarisation vector
- scatteringCalculation() ScatteringCalculation¶
Get the ScatteringCalculation object that represents the calculation that is to be passed to the solver
- sldDefinition() SLDDefinition¶
- spatialSampling() SpatialDistribution¶
Calculate the spatial sampling object based on current gui settings
- staticMetaObject = PySide6.QtCore.QMetaObject("DesignWindow" inherits "QDialog": )¶
- sas.qtgui.Perspectives.ParticleEditor.DesignWindow.main()¶
Demo/testing window
- sas.qtgui.Perspectives.ParticleEditor.DesignWindow.safe_float(text: str)¶
sas.qtgui.Perspectives.ParticleEditor.FunctionViewer module¶
- class sas.qtgui.Perspectives.ParticleEditor.FunctionViewer.FunctionViewer(parent=None)¶
Bases:
QWidget- __doc__ = None¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.FunctionViewer'¶
- drawAxes(im)¶
Draw a small xyz axis on an image
- drawScale(im)¶
Draw a scalebar
- eventFilter(source, event)¶
Event filter intercept, grabs mouse drags on the images
- onDepthChanged()¶
Callback for cross section depth slider
- onDisplayTypeSelected()¶
Switch between SLD and magnetism view
- onMagPhiChanged()¶
Magnetic field phi angle changed
- onMagThetaChanged()¶
Magnetic field theta angle changed
- onRadiusChanged()¶
Draw radius changed
- setAngles(alpha_deg, beta_deg)¶
Set the viewer angles
- setSLDFunction(fun, coordinate_mapping)¶
Set the function to be plotted
- staticMetaObject = PySide6.QtCore.QMetaObject("FunctionViewer" inherits "QWidget": )¶
- updateImage(mag_only=True)¶
Update the images in the viewer
- sas.qtgui.Perspectives.ParticleEditor.FunctionViewer.cross_section_coordinates(radius: float, alpha: float, beta: float, plane_distance: float, n_points: int)¶
- sas.qtgui.Perspectives.ParticleEditor.FunctionViewer.draw_line_in_place(im, x0, y0, dx, dy, channel)¶
Simple line drawing (otherwise need to import something heavyweight)
- sas.qtgui.Perspectives.ParticleEditor.FunctionViewer.main()¶
Show a demo of the function viewer
- sas.qtgui.Perspectives.ParticleEditor.FunctionViewer.rotation_matrix(alpha: float, beta: float)¶
sas.qtgui.Perspectives.ParticleEditor.GeodesicSampleSelector module¶
- class sas.qtgui.Perspectives.ParticleEditor.GeodesicSampleSelector.GeodesicSamplingSpinBox(parent: QWidget | None = None)¶
Bases:
QSpinBoxSpinBox that only takes values that corresponds to the number of vertices on a geodesic sphere
- __doc__ = ' SpinBox that only takes values that corresponds to the number of vertices on a geodesic sphere '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, *, suffix: str | None = None, prefix: str | None = None, cleanText: str | None = None, minimum: int | None = None, maximum: int | None = None, singleStep: int | None = None, stepType: PySide6.QtWidgets.QAbstractSpinBox.StepType | None = None, value: int | None = None, displayIntegerBase: int | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.GeodesicSampleSelector'¶
- getNDivisions()¶
- onEditingFinished()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("GeodesicSamplingSpinBox" inherits "QSpinBox": )¶
- stepBy(self, steps: int, /) None¶
- updateDisplayValue()¶
- sas.qtgui.Perspectives.ParticleEditor.GeodesicSampleSelector.main()¶
Show a demo of the spinner
sas.qtgui.Perspectives.ParticleEditor.LabelledSlider module¶
- class sas.qtgui.Perspectives.ParticleEditor.LabelledSlider.LabelledSlider(name: str, min_value: int, max_value: int, value: int, tick_interval: int = 10, name_width=10, value_width=30, value_units='°')¶
Bases:
QWidgetSlider with labels and value text
- __doc__ = ' Slider with labels and value text'¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.LabelledSlider'¶
- _on_value_changed()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("LabelledSlider" inherits "QWidget": )¶
- value() int¶
- property valueChanged¶
sas.qtgui.Perspectives.ParticleEditor.OutputViewer module¶
- class sas.qtgui.Perspectives.ParticleEditor.OutputViewer.OutputViewer(parent=None)¶
Bases:
QTextEditPython text editor window
- __doc__ = ' Python text editor window'¶
- __init__(self, text: str, /, parent: PySide6.QtWidgets.QWidget | None = None, *, autoFormatting: PySide6.QtWidgets.QTextEdit.AutoFormattingFlag | None = None, tabChangesFocus: bool | None = None, documentTitle: str | None = None, undoRedoEnabled: bool | None = None, lineWrapMode: PySide6.QtWidgets.QTextEdit.LineWrapMode | None = None, lineWrapColumnOrWidth: int | None = None, readOnly: bool | None = None, markdown: str | None = None, html: str | None = None, plainText: str | None = None, overwriteMode: bool | None = None, tabStopDistance: float | None = None, acceptRichText: bool | None = None, cursorWidth: int | None = None, textInteractionFlags: PySide6.QtCore.Qt.TextInteractionFlag | None = None, document: PySide6.QtGui.QTextDocument | None = None, placeholderText: str | None = None) None¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, *, autoFormatting: PySide6.QtWidgets.QTextEdit.AutoFormattingFlag | None = None, tabChangesFocus: bool | None = None, documentTitle: str | None = None, undoRedoEnabled: bool | None = None, lineWrapMode: PySide6.QtWidgets.QTextEdit.LineWrapMode | None = None, lineWrapColumnOrWidth: int | None = None, readOnly: bool | None = None, markdown: str | None = None, html: str | None = None, plainText: str | None = None, overwriteMode: bool | None = None, tabStopDistance: float | None = None, acceptRichText: bool | None = None, cursorWidth: int | None = None, textInteractionFlags: PySide6.QtCore.Qt.TextInteractionFlag | None = None, document: PySide6.QtGui.QTextDocument | None = None, placeholderText: str | None = None) None
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.OutputViewer'¶
- _htmlise(text)¶
- addError(text)¶
- addText(text)¶
- addWarning(text)¶
- appendAndMove(text)¶
- keyPressEvent(e)¶
Itercepted key press event
- reset()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("OutputViewer" inherits "QTextEdit": )¶
- sas.qtgui.Perspectives.ParticleEditor.OutputViewer.main()¶
sas.qtgui.Perspectives.ParticleEditor.PythonViewer module¶
- class sas.qtgui.Perspectives.ParticleEditor.PythonViewer.PythonViewer(parent=None)¶
Bases:
QTextEditPython text editor window
- __doc__ = ' Python text editor window'¶
- __init__(self, text: str, /, parent: PySide6.QtWidgets.QWidget | None = None, *, autoFormatting: PySide6.QtWidgets.QTextEdit.AutoFormattingFlag | None = None, tabChangesFocus: bool | None = None, documentTitle: str | None = None, undoRedoEnabled: bool | None = None, lineWrapMode: PySide6.QtWidgets.QTextEdit.LineWrapMode | None = None, lineWrapColumnOrWidth: int | None = None, readOnly: bool | None = None, markdown: str | None = None, html: str | None = None, plainText: str | None = None, overwriteMode: bool | None = None, tabStopDistance: float | None = None, acceptRichText: bool | None = None, cursorWidth: int | None = None, textInteractionFlags: PySide6.QtCore.Qt.TextInteractionFlag | None = None, document: PySide6.QtGui.QTextDocument | None = None, placeholderText: str | None = None) None¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, *, autoFormatting: PySide6.QtWidgets.QTextEdit.AutoFormattingFlag | None = None, tabChangesFocus: bool | None = None, documentTitle: str | None = None, undoRedoEnabled: bool | None = None, lineWrapMode: PySide6.QtWidgets.QTextEdit.LineWrapMode | None = None, lineWrapColumnOrWidth: int | None = None, readOnly: bool | None = None, markdown: str | None = None, html: str | None = None, plainText: str | None = None, overwriteMode: bool | None = None, tabStopDistance: float | None = None, acceptRichText: bool | None = None, cursorWidth: int | None = None, textInteractionFlags: PySide6.QtCore.Qt.TextInteractionFlag | None = None, document: PySide6.QtGui.QTextDocument | None = None, placeholderText: str | None = None) None
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.PythonViewer'¶
- build_trigger¶
- insertFromMimeData(source)¶
Keep own highlighting
- keyPressEvent(e)¶
Itercepted key press event
- staticMetaObject = PySide6.QtCore.QMetaObject("PythonViewer" inherits "QTextEdit": Methods: #73 type=Signal, signature=build_trigger() )¶
- sas.qtgui.Perspectives.ParticleEditor.PythonViewer.main()¶
Demo/testing window
sas.qtgui.Perspectives.ParticleEditor.RadiusSelection module¶
- class sas.qtgui.Perspectives.ParticleEditor.RadiusSelection.RadiusSelection(text: str | None = None, parent=None)¶
Bases:
QWidget,Ui_RadiusSelection- __doc__ = None¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.RadiusSelection'¶
- radius()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("RadiusSelection" inherits "QWidget": )¶
sas.qtgui.Perspectives.ParticleEditor.SLDMagnetismOption module¶
- class sas.qtgui.Perspectives.ParticleEditor.SLDMagnetismOption.SLDMagnetismOption(parent=None)¶
Bases:
QWidget,Ui_SLDMagnetismOption- __doc__ = None¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.SLDMagnetismOption'¶
- staticMetaObject = PySide6.QtCore.QMetaObject("SLDMagnetismOption" inherits "QWidget": )¶
sas.qtgui.Perspectives.ParticleEditor.ViewerButtons module¶
- class sas.qtgui.Perspectives.ParticleEditor.ViewerButtons.AxisButtons(set_angles_function: Callable[[float, float], None])¶
Bases:
QWidget,Ui_AxisSelectionX, Y, Z axis selection buttons, sets angles
- __doc__ = ' X, Y, Z axis selection buttons, sets angles '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.ViewerButtons'¶
- staticMetaObject = PySide6.QtCore.QMetaObject("AxisButtons" inherits "QWidget": )¶
- class sas.qtgui.Perspectives.ParticleEditor.ViewerButtons.PlaneButtons(set_angles_function: Callable[[float, float], None])¶
Bases:
QWidget,Ui_PlaneSelectionXY, XZ, YZ plane selection buttons, sets angles
- __doc__ = ' XY, XZ, YZ plane selection buttons, sets angles '¶
- __init__(self, /, parent: PySide6.QtWidgets.QWidget | None = None, f: PySide6.QtCore.Qt.WindowType = Default(Qt.WindowFlags), *, modal: bool | None = None, windowModality: PySide6.QtCore.Qt.WindowModality | None = None, enabled: bool | None = None, geometry: PySide6.QtCore.QRect | None = None, frameGeometry: PySide6.QtCore.QRect | None = None, normalGeometry: PySide6.QtCore.QRect | None = None, x: int | None = None, y: int | None = None, pos: PySide6.QtCore.QPoint | None = None, frameSize: PySide6.QtCore.QSize | None = None, size: PySide6.QtCore.QSize | None = None, width: int | None = None, height: int | None = None, rect: PySide6.QtCore.QRect | None = None, childrenRect: PySide6.QtCore.QRect | None = None, childrenRegion: PySide6.QtGui.QRegion | None = None, sizePolicy: PySide6.QtWidgets.QSizePolicy | None = None, minimumSize: PySide6.QtCore.QSize | None = None, maximumSize: PySide6.QtCore.QSize | None = None, minimumWidth: int | None = None, minimumHeight: int | None = None, maximumWidth: int | None = None, maximumHeight: int | None = None, sizeIncrement: PySide6.QtCore.QSize | None = None, baseSize: PySide6.QtCore.QSize | None = None, palette: PySide6.QtGui.QPalette | None = None, font: PySide6.QtGui.QFont | None = None, cursor: PySide6.QtGui.QCursor | None = None, mouseTracking: bool | None = None, tabletTracking: bool | None = None, isActiveWindow: bool | None = None, focusPolicy: PySide6.QtCore.Qt.FocusPolicy | None = None, focus: bool | None = None, contextMenuPolicy: PySide6.QtCore.Qt.ContextMenuPolicy | None = None, updatesEnabled: bool | None = None, visible: bool | None = None, minimized: bool | None = None, maximized: bool | None = None, fullScreen: bool | None = None, sizeHint: PySide6.QtCore.QSize | None = None, minimumSizeHint: PySide6.QtCore.QSize | None = None, acceptDrops: bool | None = None, windowTitle: str | None = None, windowIcon: PySide6.QtGui.QIcon | None = None, windowIconText: str | None = None, windowOpacity: float | None = None, windowModified: bool | None = None, toolTip: str | None = None, toolTipDuration: int | None = None, statusTip: str | None = None, whatsThis: str | None = None, accessibleName: str | None = None, accessibleDescription: str | None = None, accessibleIdentifier: str | None = None, layoutDirection: PySide6.QtCore.Qt.LayoutDirection | None = None, autoFillBackground: bool | None = None, styleSheet: str | None = None, locale: PySide6.QtCore.QLocale | None = None, windowFilePath: str | None = None, inputMethodHints: PySide6.QtCore.Qt.InputMethodHint | None = None) None¶
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.ViewerButtons'¶
- staticMetaObject = PySide6.QtCore.QMetaObject("PlaneButtons" inherits "QWidget": )¶
sas.qtgui.Perspectives.ParticleEditor.defaults module¶
- sas.qtgui.Perspectives.ParticleEditor.defaults.default_text = '"""\n\nHere\'s a new perspective. It calculates the scattering based on real-space description of a particle.\n\nBasically, define your SLD as a function of either cartesian or polar coordinates and click scatter\n\n def sld(x,y,z)\n def sld(r,theta,phi)\n\nThe display on the right shows your particle, both as a total projected density (top) and as a slice (bottom).\n\nThis is a minimal working system. Currently magnetism doesn\'t work, neither do extra parameters for your functions,\nnor structure factors, nor fitting, nor 2D plots.\n\nHere\'s a simple example: """\n\ndef sld_cube(x,y,z):\n """ A cube with 100Ang side length"""\n\n return rect(0.02*x)*rect(0.02*y)*rect(0.02*z)\n\n\ndef sld_sphere(r, theta, phi):\n """ Sphere r=50Ang"""\n\n return rect(0.02*r)\n\nsld = sld_sphere\n\n'¶
Press shift-return to build and update views Click scatter to show the scattering profile
- sas.qtgui.Perspectives.ParticleEditor.defaults.sld(r, theta, phi)¶
sas.qtgui.Perspectives.ParticleEditor.function_processor module¶
- exception sas.qtgui.Perspectives.ParticleEditor.function_processor.FunctionDefinitionFailed(*args)¶
Bases:
Exception- __doc__ = None¶
- __init__(*args)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.function_processor'¶
- __weakref__¶
list of weak references to the object
- sas.qtgui.Perspectives.ParticleEditor.function_processor.cartesian_converter(x, y, z)¶
Converter from calculation coordinates to function definition
For functions specified in cartesian coordinates
- sas.qtgui.Perspectives.ParticleEditor.function_processor.default_callback(string: str)¶
Just for default
- sas.qtgui.Perspectives.ParticleEditor.function_processor.main()¶
- sas.qtgui.Perspectives.ParticleEditor.function_processor.process_code(input_text: str, solvent_sld: float = 0.0, text_callback: ~collections.abc.Callable[[str], None] = <function default_callback>, warning_callback: ~collections.abc.Callable[[str], None] = <function default_callback>, error_callback: ~collections.abc.Callable[[str], None] = <function default_callback>)¶
Process the code for generating functions that specify sld/magnetism
- sas.qtgui.Perspectives.ParticleEditor.function_processor.spherical_converter(x, y, z)¶
Converter from calculation coordinates to function definition
For functions specified in spherical coordinates
sas.qtgui.Perspectives.ParticleEditor.helper_functions module¶
Functions that get automatically included in the build window
- sas.qtgui.Perspectives.ParticleEditor.helper_functions.rect(x: ndarray)¶
Rectangle function, zero if mod(input) > 1, 1 otherwise
- sas.qtgui.Perspectives.ParticleEditor.helper_functions.step(x: ndarray)¶
Step function, 0 if input < 0, 1 if input >= 0
sas.qtgui.Perspectives.ParticleEditor.syntax_highlight module¶
Modified from: art1415926535/PyQt5-syntax-highlighting on github
It’s not great, should all really be implemented as a finite state machine with a stack
- class sas.qtgui.Perspectives.ParticleEditor.syntax_highlight.PythonHighlighter(document)¶
Bases:
QSyntaxHighlighterSyntax highlighter for the Python language.
- __doc__ = 'Syntax highlighter for the Python language.\n '¶
- __init__(self, parent: PySide6.QtGui.QTextDocument, /) None¶
- __init__(self, parent: PySide6.QtCore.QObject, /) None
Initialize self. See help(type(self)) for accurate signature.
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.syntax_highlight'¶
- braces = ['\\{', '\\}', '\\(', '\\)', '\\[', '\\]']¶
- highlightBlock(text)¶
Apply syntax highlighting to the given block of text.
- keywords = ['and', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'yield', 'None', 'True', 'False']¶
- operators = ['=', '==', '!=', '<', '<=', '>', '>=', '\\+', '-', '\\*', '/', '//', '\\%', '\\*\\*', '\\+=', '-=', '\\*=', '/=', '\\%=', '\\^', '\\|', '\\&', '\\~', '>>', '<<']¶
- special = ['sld', 'solvent_sld', 'magnetism']¶
- staticMetaObject = PySide6.QtCore.QMetaObject("PythonHighlighter" inherits "QSyntaxHighlighter": )¶
- sas.qtgui.Perspectives.ParticleEditor.syntax_highlight.format(color, style='')¶
Return a QTextCharFormat with the given attributes.
sas.qtgui.Perspectives.ParticleEditor.util module¶
- sas.qtgui.Perspectives.ParticleEditor.util.format_time_estimate(est_time_seconds)¶
Get easily understandable string for a computational time estimate
sas.qtgui.Perspectives.ParticleEditor.vectorise module¶
- sas.qtgui.Perspectives.ParticleEditor.vectorise.clean_traceback(trace: str)¶
Tracebacks from vectorise contain potentially confusing information from the vectorisation infrastructure. Clean it up and replace empty filename with something else
- sas.qtgui.Perspectives.ParticleEditor.vectorise.main()¶
- sas.qtgui.Perspectives.ParticleEditor.vectorise.vectorise_magnetism(fun: Callable, warning_callback: Callable[[str], None], *args, **kwargs)¶
Check whether a magnetism function can handle numpy arrays properly, if not, create a wrapper that that can
- sas.qtgui.Perspectives.ParticleEditor.vectorise.vectorise_sld(fun: Callable, warning_callback: Callable[[str], None], error_callback: Callable[[str], None], *args, **kwargs)¶
Check whether an SLD function can handle numpy arrays properly, if not, create a wrapper that that can