Skip to content

Tutorial: Build Dashboard Data

Each Luxnode module should emit a compact metrics object for dashboards and keep the full processed spectrum for auditability.

from dataclasses import asdict, is_dataclass
import json

from luxspec import analyze_frame

analysis = analyze_frame(sample, dark=dark, reference=white, mode="reflectance", module="plants")
metrics = analysis.metrics

payload = asdict(metrics) if is_dataclass(metrics) else metrics
print(json.dumps(payload, indent=2))

Recommended dashboard payload:

  • device id
  • module id
  • sample id
  • firmware version
  • SDK version
  • calibrated spectrum URI
  • module metric fields
  • warnings/cautions
  • processing timestamp