GUI Reference Guide¶
RheoJAX provides an optional graphical user interface (GUI) built with PySide6/Qt6 for interactive rheological analysis workflows.
GUI Documentation
Overview¶
The RheoJAX GUI provides a visual interface for:
Data Loading: Import rheological data from CSV, Excel, TRIOS, and other formats
Model Fitting: Interactive NLSQ curve fitting with real-time visualization
Bayesian Inference: MCMC sampling with ArviZ diagnostics plots
Transforms: Apply mastercurve, FFT, and derivative transforms
Exporting: Save results, figures, and reports in various formats
Installation¶
The GUI dependencies are included in the standard install:
uv sync
Launching the GUI¶
From the command line:
rheojax-gui
Or from Python:
from rheojax.gui import main
main()
Architecture¶
The Workspace Shell uses the following architecture:
State Management: Per-window
AppState(foundation/state.py) with step invalidation cascadesService Layer: Business logic abstraction via services (ModelService, etc.)
Background Workers: NLSQ/MCMC execution via OS subprocess isolation
Signal-Slot: Qt’s reactive signal/slot pattern for UI updates
Key Components¶
Widgets (Reusable Components):
PlotCanvas: Interactive matplotlib plotting with zoom/panParameterTable: Model parameter editing with boundsArvizCanvas: ArviZ diagnostic plot integrationResidualsPanel: Residual analysis visualizations
Performance¶
The GUI is optimized for responsive interactions:
Service operations: <100ms
Model listing: <50ms
Plot rendering: <500ms for 1000 points
State updates: <5ms
Background workers ensure long-running MCMC operations don’t freeze the UI.