Skip to content

ogTracker: add rolling PCA tracking app, cbuff stream compatible #373

Draft
edenacadia wants to merge 18 commits into
devfrom
eden/spkl-og-realtime-cbuff
Draft

ogTracker: add rolling PCA tracking app, cbuff stream compatible #373
edenacadia wants to merge 18 commits into
devfrom
eden/spkl-og-realtime-cbuff

Conversation

@edenacadia

Copy link
Copy Markdown
Contributor

This work was partially done by GPT-5.3-Codex in response to the prompt: "Implement ogTracker patterned after strehlEstimator to read aol1_imWFS2, load PCA calibrations based on tweeterSpeck sparkle parameters, compute rolling PCA RMS metrics normalized by ref_rms, and harden runtime behavior/logging."
Additional prompts include: "Move rolling PCA statistics in ogTracker from the internal Eigen ring (m_ringFrames) to a modalPSDs-style pointer circular buffer that stores curr_src frame pointers from aol1_imWFS2_cbuff."

Summary

  • Add the new ogTracker MagAO-X app and integrate it into the top-level build.
  • Implement rolling PCA tracking on the aol1_imWFS2_cbuff stream, including calibration lookup from live tweeterSpeck parameters, normalized OG metrics, running averages, and telemetry/INDI publication.
  • Add unit tests for deterministic helper behavior in ogTracker, and update test Doxygen grouping so the application tests follow current repository documentation rules.

Affected Files

  • Makefile
  • apps/ogTracker/Makefile
  • apps/ogTracker/ogTracker.cpp
  • apps/ogTracker/ogTracker.hpp
  • apps/ogTracker/tests/ogTracker_test.cpp
  • tests/groups.dox

Test Plan

  • Build ogTracker in the MagAO-X environment.
  • Run the ogTracker unit test target that includes apps/ogTracker/tests/ogTracker_test.cpp.
  • Perform a runtime test with a live aol1_imWFS2_cbuff stream, verify calib_*, pca_og, pca_og_avg, and og_summary update as expected.
  • Verify calibration refresh behavior when tweeterSpeck separation, angle, amplitude, frequency, or modulation state changes.

Follow-up / Edge Cases

  • Confirm the configured calibration root matches the deployment environment.
  • Confirm the current og_summary definition and publication semantics match downstream expectations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants