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 GUI follows a modern architecture pattern:
State Management: Redux-like centralized state store with undo/redo
Service Layer: Business logic abstraction via services (ModelService, etc.)
Background Workers: Non-blocking NLSQ/MCMC execution using QThreadPool
Signal-Slot: Qt’s reactive signal/slot pattern for UI updates
Key Components¶
Pages (Main Views):
DataPage: Data import and previewFitPage: Model selection and NLSQ fittingBayesianPage: MCMC configuration and samplingDiagnosticsPage: MCMC diagnostics and ArviZ plotsTransformPage: Data transformation workflowsExportPage: Results export and report generation
Widgets (Reusable Components):
PlotCanvas: Interactive matplotlib plotting with zoom/panParameterTable: Model parameter editing with boundsModelBrowser: Hierarchical model selection treeArvizCanvas: ArviZ diagnostic plot integrationResidualsPanel: Residual analysis visualizationsMultiView: Multi-panel comparison layouts
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.