PyTracerLab.gui.state module¶
Shared GUI state container used across tabs and controller.
- class PyTracerLab.gui.state.AppState(is_monthly: bool = True, is_halfyearly: bool = False, tracer1: str = 'Tritium', tracer2: str | None = None, solver_key: str = 'de', solver_params: Dict[str, dict]=<factory>, input_series: Tuple[numpy.ndarray, numpy.ndarray] | None=None, target_series: Tuple[numpy.ndarray, numpy.ndarray] | None=None, manual_observations: Dict[datetime.datetime, typing.List[float]]=<factory>, selected_units: List[str] = <factory>, design_units: List[typing.Tuple[str, float]]=<factory>, unit_fractions: Dict[str, float]=<factory>, params: Dict[str, typing.Dict[str, typing.Dict[str, float]]]=<factory>, steady_state_input: float | List[float] = 0.0, n_warmup_half_lives: int = 10, tt_results: numpy.ndarray | None = None, tt_mtt_values: numpy.ndarray | None = None, tt_obs_indices: numpy.ndarray | None = None, tt_param_key: str | None = None, last_simulation: object | None = None, last_times: numpy.ndarray | None = None)[source]¶
Bases:
objectCentral application state used by GUI components.
- Variables:
is_monthly (bool) – Whether input/target series are monthly (else yearly).
tracer (str) – LEGACY: single-tracer selection kept for backward compatibility.
tracer1 (str) – Primary tracer (e.g.,
"Tritium","Carbon-14").tracer2 (str | None) – Optional second tracer; if
Noneor"None", runs single-tracer mode.solver_key (str) – Selected solver registry key (
"de","lsq", or"mcmc").solver_params (dict) – Per-solver configuration dictionary.
input_series (tuple(ndarray, ndarray) | None) – Timestamps and input values.
target_series (tuple(ndarray, ndarray) | None) – Timestamps and observation values (optional).
selected_units (list of str) – Unique unit types (legacy support for parameters tab).
design_units (list of (str, float)) – Flat list of chosen units and fractions (can repeat unit types).
unit_fractions (dict[str, float]) – Per-instance fraction mapping keyed by unique instance prefix.
params (dict) – Nested parameter values/bounds/fixed flags per instance prefix.
steady_state_input (float | list of float) – Value(s) for optional steady-state warmup input. Provide a scalar for single-tracer runs or one value per tracer for multi-tracer runs.
n_warmup_half_lives (int) – Warmup length in half-lives of the tracer.
last_simulation (object | None) – Last simulation result or solver payload for plotting.
last_times (ndarray | None) – Cached timestamps for plotting (if needed).
- input_series: Tuple[numpy.ndarray, numpy.ndarray] | None = None¶
- last_times: numpy.ndarray | None = None¶
- manual_observations: Dict[datetime.datetime, List[float]]¶
- target_series: Tuple[numpy.ndarray, numpy.ndarray] | None = None¶
- tt_mtt_values: numpy.ndarray | None = None¶
- tt_obs_indices: numpy.ndarray | None = None¶
- tt_results: numpy.ndarray | None = None¶