fs_dev.demo.plots#

plots.py

Functions#

  • fs_dev.demo.plots.extract_probe_locations_from_headers()

  • fs_dev.demo.plots.style_dark_3d_axes()

  • fs_dev.demo.plots.interactive_dashboard()

Function Reference#

extract_probe_locations_from_headers#

extract_probe_locations_from_headers(header_lines)#

Extract probe positions from header lines.

Expected input format#

#       Probe 0 (-0.022 0.015 0)

Returns#

dict[int, tuple[float, float, float]]

Mapping between probe identifiers and Cartesian coordinates.

Example#

{
    0: (-0.022, 0.015, 0.0),
    1: (-0.017, 0.014, 0.05),
}

style_dark_3d_axes#

style_dark_3d_axes(ax)#

Apply a professional dark theme to a 3D matplotlib axis.

interactive_dashboard#

interactive_dashboard(probe_positions, temperatures, averages, time)#

Interactive synchronized scientific visualization dashboard.

This dashboard combines temporal and spatial representations of multi-probe temperature measurements into a single synchronized interactive interface.

The visualization is intended for engineering demonstrations, scientific inspection, and validation of deterministic cross-language workflows within FalconSmith.

Overview#

The dashboard consists of two synchronized panels.

  • LEFT PANEL

    Temporal evolution of probe temperatures.

  • RIGHT PANEL

    Spatial 3D representation of probe geometry.

The dashboard allows the user to move interactively through measurement frames while maintaining synchronization between temporal position, probe temperatures, and spatial temperature distribution.

Purpose#

The purpose of this visualization is not only scientific plotting, but also demonstration of a deterministic engineering workflow combining:

  • native data readers

  • native numerical processing

  • NumPy orchestration

  • Python visualization

  • interactive scientific analysis

Parameters#

probe_positionsdict[str, tuple[float, float, float]]

Mapping between probe names and spatial coordinates.

Example:

{
    "Probe0": (x0, y0, z0),
    "Probe1": (x1, y1, z1),
}

Coordinates are interpreted as Cartesian positions in meters.

temperaturesnumpy.ndarray

Temperature matrix with shape (N_samples, N_probes).

Each column corresponds to a probe. Each row corresponds to a time frame. Values represent instantaneous measured temperatures.

averagesnumpy.ndarray

Cumulative average temperature matrix with shape (N_samples, N_probes).

The cumulative averages are visualized together with the raw temperature measurements to illustrate temporal convergence and smoothing behavior.

timenumpy.ndarray

Time vector with shape (N_samples,).

Used for both time-series visualization and synchronized frame tracking.

Visualization Layout#

The left panel displays raw temperature measurements, cumulative average temperatures, and a current-frame indicator.

The right panel displays the spatial probe geometry and instantaneous temperature distribution. Probe temperatures are mapped using the inferno colormap.

Interaction Model#

  • RIGHT ARROW

    Advance forward in time.

  • LEFT ARROW

    Move backward in time.

  • HOME

    Jump to the first frame.

  • END

    Jump to the final frame.

  • Q / ESC

    Close the dashboard.

Frame Navigation#

The dashboard advances through the dataset using discrete frame steps defined internally by STEP = 10.

Each frame update synchronizes:

  • 3D probe coloring

  • temporal frame indicator

  • displayed timestamp

  • spatial temperature distribution

FalconSmith Concepts Demonstrated#

This visualization demonstrates deterministic interoperability, stable API exposure, cross-language integration, scientific workflow consistency, and operational simplicity.

Notes#

This dashboard is intended primarily for scientific demonstrations, engineering presentations, workflow validation, and interactive inspection.

The implementation intentionally favors transparency and architectural readability over advanced visualization frameworks.