Skip to content

Unified dashboard

Interactive Dash app combining the Raman explorer and GNLSE viewer. Docstrings are the source of truth, rendered with mkdocstrings (numpydoc style).

photonics_helper.dashboard

Unified interactive dashboard: Raman explorer + GNLSE result viewer.

One Dash app, two top-level tabs:

  • Raman Explorer — the full multi-layer Raman browser from :mod:photonics_helper.raman.dashboard (material selector, fR/τ sliders, pump wavelength, n/k database browser).
  • GNLSE Viewer — a small form that propagates a pulse with :class:~photonics_helper.gnlse.GNLSESolver and renders the interactive four-panel spectral/temporal summary (:func:~photonics_helper.gnlse.plot_spectral_temporal_summary).

The Raman layout and callbacks are reused unchanged, so the standalone photonics_helper.raman.app() keeps working.

Requires the webapp extra (pip install 'photonics-helper[webapp]') and plotting (Plotly) for the GNLSE tab. Run with::

from photonics_helper.dashboard import app

app().run(debug=True, port=8050)

build_layout

build_layout(*, dcc, html)

Top-level tabbed layout (Raman Explorer + GNLSE Viewer).

register_gnlse_callbacks

register_gnlse_callbacks(dash_app, *, dcc, html, Input, Output, State)

Register the GNLSE viewer callback on dash_app.

app

app() -> dash.Dash

Build the unified dashboard Dash application.

Returns:

Type Description
dash.Dash — configured application with the Raman Explorer and GNLSE
Viewer tabs, all callbacks registered.