sas.qtgui.Perspectives.ParticleEditor package¶
Subpackages¶
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality package
- Submodules
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality.ParameterEntries module
MagneticParameterEntryMagneticParameterEntry.__annotate_func__MagneticParameterEntry.__annotations_cache__MagneticParameterEntry.__doc__MagneticParameterEntry.__firstlineno__MagneticParameterEntry.__init__()MagneticParameterEntry.__module__MagneticParameterEntry.__static_attributes__MagneticParameterEntry._add_items()MagneticParameterEntry.staticMetaObject
ParameterEntryParameterEntry.__annotate_func__ParameterEntry.__annotations_cache__ParameterEntry.__doc__ParameterEntry.__firstlineno__ParameterEntry.__init__()ParameterEntry.__module__ParameterEntry.__static_attributes__ParameterEntry._add_items()ParameterEntry._update_value()ParameterEntry.staticMetaObject
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality.ParameterTable module
ParameterTableParameterTable.__annotate_func__ParameterTable.__annotations_cache__ParameterTable.__doc__ParameterTable.__firstlineno__ParameterTable.__init__()ParameterTable.__module__ParameterTable.__static_attributes__ParameterTable._section_heading()ParameterTable.build()ParameterTable.clean()ParameterTable.clear()ParameterTable.rebuild()ParameterTable.staticMetaObjectParameterTable.update_contents()
main()
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality.ParameterTableButtons module
ParameterTableButtonsParameterTableButtons.__annotate_func__ParameterTableButtons.__annotations_cache__ParameterTableButtons.__doc__ParameterTableButtons.__firstlineno__ParameterTableButtons.__init__()ParameterTableButtons.__module__ParameterTableButtons.__static_attributes__ParameterTableButtons.staticMetaObject
- sas.qtgui.Perspectives.ParticleEditor.ParameterFunctionality.ParameterTableModel module
LinkingImpossibleParameterTableModelParameterTableModel.__annotate_func__ParameterTableModel.__annotations_cache__ParameterTableModel.__dict__ParameterTableModel.__doc__ParameterTableModel.__firstlineno__ParameterTableModel.__init__()ParameterTableModel.__module__ParameterTableModel.__static_attributes__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.__annotate_func__AngularDistribution.__annotations_cache__AngularDistribution.__dict__AngularDistribution.__doc__AngularDistribution.__firstlineno__AngularDistribution.__module__AngularDistribution.__static_attributes__AngularDistribution.__weakref__AngularDistribution._abc_implAngularDistribution.n_pointsAngularDistribution.name()AngularDistribution.parameters()AngularDistribution.sample_points_and_weights()
MagnetismDefinitionMagnetismDefinition.__annotate_func__()MagnetismDefinition.__annotations_cache__MagnetismDefinition.__dataclass_fields__MagnetismDefinition.__dataclass_params__MagnetismDefinition.__dict__MagnetismDefinition.__doc__MagnetismDefinition.__eq__()MagnetismDefinition.__firstlineno__MagnetismDefinition.__hash__MagnetismDefinition.__init__()MagnetismDefinition.__match_args__MagnetismDefinition.__module__MagnetismDefinition.__replace__()MagnetismDefinition.__repr__()MagnetismDefinition.__static_attributes__MagnetismDefinition.__weakref__MagnetismDefinition.magnetism_functionMagnetismDefinition.to_cartesian_conversion
ParticleDefinitionParticleDefinition.__annotate_func__()ParticleDefinition.__annotations_cache__ParticleDefinition.__dataclass_fields__ParticleDefinition.__dataclass_params__ParticleDefinition.__dict__ParticleDefinition.__doc__ParticleDefinition.__eq__()ParticleDefinition.__firstlineno__ParticleDefinition.__hash__ParticleDefinition.__init__()ParticleDefinition.__match_args__ParticleDefinition.__module__ParticleDefinition.__replace__()ParticleDefinition.__repr__()ParticleDefinition.__static_attributes__ParticleDefinition.__weakref__ParticleDefinition.magnetismParticleDefinition.sld
QSampleQSpaceScatteringQSpaceScattering.__annotate_func__()QSpaceScattering.__annotations_cache__QSpaceScattering.__dataclass_fields__QSpaceScattering.__dataclass_params__QSpaceScattering.__dict__QSpaceScattering.__doc__QSpaceScattering.__eq__()QSpaceScattering.__firstlineno__QSpaceScattering.__hash__QSpaceScattering.__init__()QSpaceScattering.__match_args__QSpaceScattering.__module__QSpaceScattering.__replace__()QSpaceScattering.__repr__()QSpaceScattering.__static_attributes__QSpaceScattering.__weakref__QSpaceScattering.abscissaQSpaceScattering.lower_errorQSpaceScattering.ordinateQSpaceScattering.upper_error
RealSpaceScatteringRealSpaceScattering.__annotate_func__()RealSpaceScattering.__annotations_cache__RealSpaceScattering.__dataclass_fields__RealSpaceScattering.__dataclass_params__RealSpaceScattering.__dict__RealSpaceScattering.__doc__RealSpaceScattering.__eq__()RealSpaceScattering.__firstlineno__RealSpaceScattering.__hash__RealSpaceScattering.__init__()RealSpaceScattering.__match_args__RealSpaceScattering.__module__RealSpaceScattering.__replace__()RealSpaceScattering.__repr__()RealSpaceScattering.__static_attributes__RealSpaceScattering.__weakref__RealSpaceScattering.abscissaRealSpaceScattering.ordinate
SLDDefinitionSLDDefinition.__annotate_func__()SLDDefinition.__annotations_cache__SLDDefinition.__dataclass_fields__SLDDefinition.__dataclass_params__SLDDefinition.__dict__SLDDefinition.__doc__SLDDefinition.__eq__()SLDDefinition.__firstlineno__SLDDefinition.__hash__SLDDefinition.__init__()SLDDefinition.__match_args__SLDDefinition.__module__SLDDefinition.__replace__()SLDDefinition.__repr__()SLDDefinition.__static_attributes__SLDDefinition.__weakref__SLDDefinition.sld_functionSLDDefinition.to_cartesian_conversion
SamplingDistributionSamplingDistribution.__annotate_func__()SamplingDistribution.__annotations_cache__SamplingDistribution.__dataclass_fields__SamplingDistribution.__dataclass_params__SamplingDistribution.__dict__SamplingDistribution.__doc__SamplingDistribution.__eq__()SamplingDistribution.__firstlineno__SamplingDistribution.__hash__SamplingDistribution.__init__()SamplingDistribution.__match_args__SamplingDistribution.__module__SamplingDistribution.__replace__()SamplingDistribution.__repr__()SamplingDistribution.__static_attributes__SamplingDistribution.__weakref__SamplingDistribution.bin_edgesSamplingDistribution.countsSamplingDistribution.name
ScatteringCalculationScatteringCalculation.__annotate_func__()ScatteringCalculation.__annotations_cache__ScatteringCalculation.__dataclass_fields__ScatteringCalculation.__dataclass_params__ScatteringCalculation.__dict__ScatteringCalculation.__doc__ScatteringCalculation.__eq__()ScatteringCalculation.__firstlineno__ScatteringCalculation.__hash__ScatteringCalculation.__init__()ScatteringCalculation.__match_args__ScatteringCalculation.__module__ScatteringCalculation.__replace__()ScatteringCalculation.__repr__()ScatteringCalculation.__static_attributes__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.__annotate_func__()ScatteringOutput.__annotations_cache__ScatteringOutput.__dataclass_fields__ScatteringOutput.__dataclass_params__ScatteringOutput.__dict__ScatteringOutput.__doc__ScatteringOutput.__eq__()ScatteringOutput.__firstlineno__ScatteringOutput.__hash__ScatteringOutput.__init__()ScatteringOutput.__match_args__ScatteringOutput.__module__ScatteringOutput.__replace__()ScatteringOutput.__repr__()ScatteringOutput.__static_attributes__ScatteringOutput.__weakref__ScatteringOutput.calculation_timeScatteringOutput.q_spaceScatteringOutput.seed_used
SpatialDistributionSpatialDistribution.__abstractmethods__SpatialDistribution.__annotate_func__SpatialDistribution.__annotations_cache__SpatialDistribution.__dict__SpatialDistribution.__doc__SpatialDistribution.__firstlineno__SpatialDistribution.__init__()SpatialDistribution.__module__SpatialDistribution.__static_attributes__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.__annotate_func__()CalculationParameters.__annotations_cache__CalculationParameters.__classdictcell__CalculationParameters.__doc__CalculationParameters.__firstlineno__CalculationParameters.__getnewargs__()CalculationParameters.__match_args__CalculationParameters.__module__CalculationParameters.__new__()CalculationParameters.__orig_bases__CalculationParameters.__replace__()CalculationParameters.__repr__()CalculationParameters.__slots__CalculationParameters.__static_attributes__CalculationParameters._asdict()CalculationParameters._field_defaultsCalculationParameters._fieldsCalculationParameters._make()CalculationParameters._replace()CalculationParameters.backgroundCalculationParameters.magnetism_parametersCalculationParameters.scaleCalculationParameters.sld_parametersCalculationParameters.solvent_sld
FunctionParameterFunctionParameter.__annotate_func__FunctionParameter.__annotations_cache__FunctionParameter.__doc__FunctionParameter.__firstlineno__FunctionParameter.__init__()FunctionParameter.__module__FunctionParameter.__repr__()FunctionParameter.__static_attributes__FunctionParameter.in_useFunctionParameter.is_function_parameter
MagnetismParameterContainerMagnetismParameterContainer.__annotate_func__()MagnetismParameterContainer.__annotations_cache__MagnetismParameterContainer.__classdictcell__MagnetismParameterContainer.__doc__MagnetismParameterContainer.__firstlineno__MagnetismParameterContainer.__getnewargs__()MagnetismParameterContainer.__match_args__MagnetismParameterContainer.__module__MagnetismParameterContainer.__new__()MagnetismParameterContainer.__orig_bases__MagnetismParameterContainer.__replace__()MagnetismParameterContainer.__repr__()MagnetismParameterContainer.__slots__MagnetismParameterContainer.__static_attributes__MagnetismParameterContainer._asdict()MagnetismParameterContainer._field_defaultsMagnetismParameterContainer._fieldsMagnetismParameterContainer._make()MagnetismParameterContainer._replace()MagnetismParameterContainer.linkedMagnetismParameterContainer.parameter
ParameterScaleSolventSLDValueSource
- sas.qtgui.Perspectives.ParticleEditor.datamodel.types module
CoordinateSystemTransformCoordinateSystemTransform.__abstractmethods__CoordinateSystemTransform.__annotate_func__CoordinateSystemTransform.__annotations_cache__CoordinateSystemTransform.__call__()CoordinateSystemTransform.__dict__CoordinateSystemTransform.__doc__CoordinateSystemTransform.__firstlineno__CoordinateSystemTransform.__init__()CoordinateSystemTransform.__module__CoordinateSystemTransform.__parameters__CoordinateSystemTransform.__protocol_attrs__CoordinateSystemTransform.__static_attributes__CoordinateSystemTransform.__subclasshook__()CoordinateSystemTransform.__weakref__CoordinateSystemTransform._abc_implCoordinateSystemTransform._is_protocol
MagnetismFunctionMagnetismFunction.__abstractmethods__MagnetismFunction.__annotate_func__MagnetismFunction.__annotations_cache__MagnetismFunction.__call__()MagnetismFunction.__dict__MagnetismFunction.__doc__MagnetismFunction.__firstlineno__MagnetismFunction.__init__()MagnetismFunction.__module__MagnetismFunction.__parameters__MagnetismFunction.__protocol_attrs__MagnetismFunction.__static_attributes__MagnetismFunction.__subclasshook__()MagnetismFunction.__weakref__MagnetismFunction._abc_implMagnetismFunction._is_protocol
SLDFunctionSLDFunction.__abstractmethods__SLDFunction.__annotate_func__SLDFunction.__annotations_cache__SLDFunction.__call__()SLDFunction.__dict__SLDFunction.__doc__SLDFunction.__firstlineno__SLDFunction.__init__()SLDFunction.__module__SLDFunction.__parameters__SLDFunction.__protocol_attrs__SLDFunction.__static_attributes__SLDFunction.__subclasshook__()SLDFunction.__weakref__SLDFunction._abc_implSLDFunction._is_protocol
- Module contents
- sas.qtgui.Perspectives.ParticleEditor.sampling package
- Submodules
- sas.qtgui.Perspectives.ParticleEditor.sampling.angles module
UniformUniform.__abstractmethods__Uniform.__annotate_func__Uniform.__annotations_cache__Uniform.__doc__Uniform.__firstlineno__Uniform.__init__()Uniform.__module__Uniform.__repr__()Uniform.__static_attributes__Uniform._abc_implUniform.n_pointsUniform.name()Uniform.parameters()Uniform.sample_points_and_weights()
ZDelta
- sas.qtgui.Perspectives.ParticleEditor.sampling.chunking module
- sas.qtgui.Perspectives.ParticleEditor.sampling.geodesic module
GeodesicGeodesic.__annotate_func__Geodesic.__annotations_cache__Geodesic.__dict__Geodesic.__doc__Geodesic.__firstlineno__Geodesic.__module__Geodesic.__static_attributes__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
BoundedByCubeBoundedByCube.__abstractmethods__BoundedByCube.__annotate_func__BoundedByCube.__annotations_cache__BoundedByCube.__doc__BoundedByCube.__firstlineno__BoundedByCube.__module__BoundedByCube.__static_attributes__BoundedByCube._abc_implBoundedByCube._boundary_base_pointsBoundedByCube._bounding_surface_check_points()
GridPointGeneratorStepperPointGeneratorStepper.__annotate_func__PointGeneratorStepper.__annotations_cache__PointGeneratorStepper.__dict__PointGeneratorStepper.__doc__PointGeneratorStepper.__firstlineno__PointGeneratorStepper.__init__()PointGeneratorStepper.__iter__()PointGeneratorStepper.__module__PointGeneratorStepper.__static_attributes__PointGeneratorStepper.__weakref__PointGeneratorStepper._iterator()
RandomCube
- 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
- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = 'Selects the method for doing angular sampling, and provides access to the parameters '¶
- __firstlineno__ = 51¶
- __init__(parent=None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.AngularSamplingMethodSelector'¶
- __static_attributes__ = ('combo', 'entry_widgets', 'subwidget_layout')¶
- 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)
- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = 'Form that displays the parameters associated with the class (also responsible for generating the sampler)'¶
- __firstlineno__ = 10¶
- __init__(sampling_class: type, parent=None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.AngularSamplingMethodSelector'¶
- __static_attributes__ = ('layout', 'parameter_callbacks', 'sampling_class')¶
- 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- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 7¶
- __init__(parent=None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.CodeToolBar'¶
- __static_attributes__ = ()¶
- 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
- __annotate_func__ = None¶
- __annotations_cache__ = {'last_calculation_n_q': 'int', 'last_calculation_n_r': 'int', 'last_calculation_time': 'float | None', 'magnetism_coordinate_mapping': 'np.ndarray | None', 'magnetism_function': 'np.ndarray | None', 'sld_coordinate_mapping': 'CoordinateSystemTransform | None', 'sld_function': 'SLDFunction | None'}¶
- __doc__ = 'Main window for the particle editor'¶
- __firstlineno__ = 47¶
- __init__(parent=None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.DesignWindow'¶
- __static_attributes__ = ('_parameterTableModel', 'angularSamplingMethodSelector', 'codeToolBar', 'functionViewer', 'last_calculation_n_q', 'last_calculation_n_r', 'last_calculation_time', 'magnetism_coordinate_mapping', 'magnetism_function', 'methodComboOptions', 'outputCanvas', 'outputViewer', 'parameterTabButtons', 'parametersTable', 'parent', 'pythonViewer', 'sld_coordinate_mapping', 'sld_function')¶
- 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- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 62¶
- __init__(parent=None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.FunctionViewer'¶
- __static_attributes__ = ('_graphics_viewer_offset', '_size_px', 'alpha', 'beta', 'coordinate_mapping', 'dPhidY', 'dThetadX', 'densityPixmapItem', 'densityScene', 'densityViewer', 'depth_slider', 'function', 'lastMouseX', 'lastMouseY', 'layer_size', 'mag_buttons', 'mag_phi', 'mag_phi_slider', 'mag_theta', 'mag_theta_slider', 'n_draw_layers', 'normal_offset', 'plane_buttons', 'radius', 'radius_control', 'sld_magnetism_option', 'slicePixmapItem', 'sliceScene', 'sliceViewer', 'upscale')¶
- 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
- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = 'SpinBox that only takes values that corresponds to the number of vertices on a geodesic sphere '¶
- __firstlineno__ = 7¶
- __init__(parent: QWidget | None = None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.GeodesicSampleSelector'¶
- __static_attributes__ = ('n_divisions',)¶
- getNDivisions()¶
- onEditingFinished()¶
- staticMetaObject = PySide6.QtCore.QMetaObject("GeodesicSamplingSpinBox" inherits "QSpinBox": )¶
- stepBy(steps: int)¶
- 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
- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = 'Slider with labels and value text'¶
- __firstlineno__ = 5¶
- __init__(name: str, min_value: int, max_value: int, value: int, tick_interval: int = 10, name_width=10, value_width=30, value_units='°')¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.LabelledSlider'¶
- __static_attributes__ = ('name_label', 'slider', 'units', 'value_label')¶
- _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
- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = 'Python text editor window'¶
- __firstlineno__ = 9¶
- __init__(parent=None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.OutputViewer'¶
- __static_attributes__ = ()¶
- _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
- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = 'Python text editor window'¶
- __firstlineno__ = 10¶
- __init__(parent=None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.PythonViewer'¶
- __static_attributes__ = ('code_highlighter',)¶
- 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- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 7¶
- __init__(text: str | None = None, parent=None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.RadiusSelection'¶
- __static_attributes__ = ()¶
- 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- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 6¶
- __init__(parent=None)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.SLDMagnetismOption'¶
- __static_attributes__ = ()¶
- 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
- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = 'X, Y, Z axis selection buttons, sets angles '¶
- __firstlineno__ = 28¶
- __init__(set_angles_function: Callable[[float, float], None])¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.ViewerButtons'¶
- __static_attributes__ = ('setAngles',)¶
- 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
- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = 'XY, XZ, YZ plane selection buttons, sets angles '¶
- __firstlineno__ = 13¶
- __init__(set_angles_function: Callable[[float, float], None])¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.ViewerButtons'¶
- __static_attributes__ = ('setAngles',)¶
- 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- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = None¶
- __firstlineno__ = 12¶
- __init__(*args)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.function_processor'¶
- __static_attributes__ = ()¶
- __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.
- __annotate_func__ = None¶
- __annotations_cache__ = {}¶
- __doc__ = 'Syntax highlighter for the Python language.\n '¶
- __firstlineno__ = 50¶
- __init__(document)¶
- __module__ = 'sas.qtgui.Perspectives.ParticleEditor.syntax_highlight'¶
- __static_attributes__ = ('rules', 'tri_double', 'tri_single')¶
- 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