sas.qtgui.Perspectives.ParticleEditor.datamodel package¶
Submodules¶
sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation module¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.AngularDistribution¶
Bases:
ABCBase class for angular distributions
- abstract property n_points: int¶
Number of sample points
- abstractmethod static name() str¶
Name of this distribution
- abstractmethod static parameters() list[tuple[str, str, type]]¶
List of keyword arguments to constructor, names for GUI, and the type of value
- abstractmethod sample_points_and_weights() tuple[ndarray, ndarray]¶
Get sample q vector directions and associated weights
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.MagnetismDefinition(magnetism_function: MagnetismFunction, to_cartesian_conversion: CoordinateSystemTransform)¶
Bases:
objectDefinition of the magnetism vector fields
- magnetism_function: MagnetismFunction¶
- to_cartesian_conversion: CoordinateSystemTransform¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.ParticleDefinition(sld: SLDDefinition, magnetism: MagnetismDefinition | None)¶
Bases:
objectObject containing the functions that define a particle
- magnetism: MagnetismDefinition | None¶
- sld: SLDDefinition¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.QSample(start, end, n_points, is_log)¶
Bases:
objectRepresentation of Q Space sampling
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.QSpaceScattering(abscissa: sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.QSample, ordinate: numpy.ndarray, upper_error: numpy.ndarray | None = None, lower_error: numpy.ndarray | None = None)¶
Bases:
object- lower_error: ndarray | None = None¶
- ordinate: ndarray¶
- upper_error: ndarray | None = None¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.RealSpaceScattering(abscissa: numpy.ndarray, ordinate: numpy.ndarray)¶
Bases:
object- abscissa: ndarray¶
- ordinate: ndarray¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.SLDDefinition(sld_function: SLDFunction, to_cartesian_conversion: CoordinateSystemTransform)¶
Bases:
objectDefinition of the SLD scalar field
- sld_function: SLDFunction¶
- to_cartesian_conversion: CoordinateSystemTransform¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.SamplingDistribution(name: str, bin_edges: numpy.ndarray, counts: numpy.ndarray)¶
Bases:
object- bin_edges: ndarray¶
- counts: ndarray¶
- name: str¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.ScatteringCalculation(q_sampling: QSample, angular_sampling: AngularDistribution, spatial_sampling_method: SpatialDistribution, particle_definition: ParticleDefinition, parameter_settings: CalculationParameters, polarisation_vector: ndarray | None, seed: int | None, bounding_surface_sld_check: bool, sample_chunk_size_hint: int = 100000)¶
Bases:
objectSpecification for a scattering calculation
- angular_sampling: AngularDistribution¶
- bin_count = 1000¶
- bounding_surface_sld_check: bool¶
- parameter_settings: CalculationParameters¶
- particle_definition: ParticleDefinition¶
- polarisation_vector: ndarray | None¶
- sample_chunk_size_hint: int = 100000¶
- seed: int | None¶
- spatial_sampling_method: SpatialDistribution¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.ScatteringOutput(q_space: sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.QSpaceScattering | None, calculation_time: float, seed_used: int | None)¶
Bases:
object- calculation_time: float¶
- q_space: QSpaceScattering | None¶
- seed_used: int | None¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.calculation.SpatialDistribution(radius: float, n_points: int, n_desired_points)¶
Bases:
ABCBase class for point generators
Batches need to be usable for bootstrapping, the run needs to be split into n_bootstrap sections, and the output saved for each section, so that it can be rebuilt in different combinations to establish a variance.
- property allows_bootstrap: bool¶
- bounding_surface_check_points() tuple[ndarray, ndarray, ndarray]¶
- abstractmethod generate(start_index: int, end_index: int) tuple[ndarray, ndarray, ndarray]¶
Generate points from start_index up to end_index
- property info: str¶
Information to be displayed in the settings window next to the point number input
sas.qtgui.Perspectives.ParticleEditor.datamodel.parameters module¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.parameters.Background¶
Bases:
ParameterParameter representing the background intensity, always present
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.parameters.CalculationParameters(solvent_sld: float, background: float, scale: float, sld_parameters: dict, magnetism_parameters: dict)¶
Bases:
NamedTupleObject containing the parameters for a simulation
- background: float¶
Alias for field number 1
- magnetism_parameters: dict¶
Alias for field number 4
- scale: float¶
Alias for field number 2
- sld_parameters: dict¶
Alias for field number 3
- solvent_sld: float¶
Alias for field number 0
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.parameters.FunctionParameter(name: str, value: float, in_use: bool, set_by: ValueSource)¶
Bases:
Parameter- property in_use¶
- is_function_parameter = True¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.parameters.MagnetismParameterContainer(parameter: FunctionParameter, linked: bool)¶
Bases:
NamedTupleEntry describing a magnetism parameter, keeps track of whether it should be linked to an SLD parameter
- linked: bool¶
Alias for field number 1
- parameter: FunctionParameter¶
Alias for field number 0
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.parameters.Parameter(name: str, value: float)¶
Bases:
objectBase class for parameter descriptions
- property in_use¶
- is_function_parameter = False¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.parameters.Scale¶
Bases:
ParameterParameter representing the scaling, always present
sas.qtgui.Perspectives.ParticleEditor.datamodel.types module¶
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.types.CoordinateSystemTransform(*args, **kwargs)¶
Bases:
ProtocolType of functions that can represent a coordinate transform
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.types.MagnetismFunction(*args, **kwargs)¶
Bases:
ProtocolType of functions that can represent magnetism profiles
- class sas.qtgui.Perspectives.ParticleEditor.datamodel.types.SLDFunction(*args, **kwargs)¶
Bases:
ProtocolType of functions that can represent SLD profiles