vipr_reflectometry.shared package¶
Subpackages¶
- vipr_reflectometry.shared.controllers package
- vipr_reflectometry.shared.load_data package
Submodules¶
vipr_reflectometry.shared.model_properties module¶
Model properties for reflectometry models.
This module provides type-safe containers for model metadata, particularly for models that use reflectorch library components for forward simulation.
- class vipr_reflectometry.shared.model_properties.ReflectometryModelProperties(*, q_generator: Any | None = None, prior_sampler: Any | None = None, curves_scaler: Any | None = None)¶
Bases:
BaseModelType-safe, validated container for reflectometry model metadata.
Used by Flow Models and potentially other reflectometry models that need forward simulation components from reflectorch library.
These components are loaded from reflectorch configuration files and enable forward simulation from parameter samples.
- q_generator¶
Q-value generator for forward simulation
- Type:
Any | None
- prior_sampler¶
Prior sampler for parameter conversion
- Type:
Any | None
- curves_scaler¶
Curve scaler for data normalization
- Type:
Any | None
- is_complete() → bool¶
Check if all required components are loaded.
- Returns:
True if q_generator, prior_sampler, and curves_scaler are all present
- model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True, 'extra': 'forbid', 'validate_assignment': True}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- vipr_reflectometry.shared.model_properties.get_model_properties(model) → ReflectometryModelProperties | None¶
Extract and validate reflectometry properties from model.
Type-safe helper for accessing model properties throughout the plugin. Uses try-except (EAFP) for Pythonic error handling.
- Parameters:
model – Model instance with properties attribute
- Returns:
Validated ReflectometryModelProperties or None if missing/incomplete
Example
>>> model_properties = get_model_properties(model) >>> if model_properties: >>> q_values = model_properties.q_values
vipr_reflectometry.shared.q_resolution module¶
Shared Q-resolution resolution for reflectometry.
Single function, consistent hierarchy, used by predictors and postprocessing.
- vipr_reflectometry.shared.q_resolution.resolve_q_resolution(app, pointwise_dx: Any | None = None, exp_spectrum: Any | None = None, prediction_params: dict | None = None) → ndarray | float | None¶
Resolve q-resolution with a consistent hierarchy.
Returns the raw value — consumers decide how to apply it.
- Priority:
pointwise_dx (direct array, e.g. from DataSet.dx)
exp_spectrum.dx (pointwise from spectrum object)
Scalar
q_resolutionfrom prediction_params orapp.inference.prediction_stepNone
- Returns:
np.ndarray (pointwise), float (scalar dq/q), or None.
Module contents¶
Shared components for VIPR reflectometry plugin.
- vipr_reflectometry.shared.load(app)¶
Load shared handlers used by multiple submodules.