Repository navigation
Restore full Vetstar feature set to VetStar Pi (minus multi-sector + … - #38
Merged
Merged
Conversation
…joint fit)
Vendors the complete backend/app package into pios/vetstar_pi so the Pi
port now drives the same code paths as the cloud studio, dropping only
the two features that don't belong on a Pi:
- Multi-sector representative-picker: two-pass "fetch every sector,
score, re-run the winner" loop keeps too much per-sector state live
to fit the 1 GB budget. The multi-sector orchestration in
pipeline.py and the multi-sector PDF builder in report.py are excised.
- Joint TESS + Gaia PSPL fit: research-tier online-only workflow from
Harris+2026 that only makes sense when the joint pipeline is running
continuously. fit_pspl_joint and analyze_event_joint stripped from
microlensing.py. The Gaia Alerts fetcher stays — the GUI's Classifier
tab loads Gaia-band curves directly for the single-band fit.
Everything else in the cloud studio is now here and drives the same
functions:
* MAST SPOC light-curve fetch by (TIC, sector) + sector listing
* SPOC DVT phase-fold + fitted a/R★ + impact parameter ingestion
* Adaptive event detection + gap handling
* Optional sinusoidal pre-BLS detrend (spotted rotators)
* Odd/even, secondary, centroid, shape, physics, verdict
* Constrained BLS (known-period ± 2%) with P/2 and 2P harmonics
* Gaia DR3 + SIMBAD + NASA Exoplanet Archive cross-match
* HCI habitability engine (STEHM) + subscore breakdown
* Predicted Observables (POE) + ExoFOP TOI parameter table
* TLCM transit geometry + absolute masses
* ExoMiner feature/view extraction (matplotlib, no TF)
* TESScut FFI cutouts (transit) and TESScut + Gaia overlay (microlens)
* Microlensing coverage via tess-point sector lookup
* Gaia Alerts G-band fetcher + cone search
* Stage-by-stage progress reporter wired to a Tk progress bar
* Full transit + microlensing PDF reports with DejaVu Sans
GUI (Tkinter) now exposes:
* Transit tab: Open FITS / Fetch from MAST… / List sectors…, six
sensitivity knobs (threshold, min SNR, secondary σ, odd/even σ,
rotation period, known period) plus high-variability detrend, four
PDF-extras toggles (HCI, ExoMiner, FFI, DVT), stage/percent progress
bar, embedded matplotlib canvas (LC + zoom of deepest event),
verdict text pane, Save PNG / PDF / JSON. Known-object cross-match
hit + HCI headline surface in the text pane.
* Microlensing tab: two sub-tabs.
- Classifier: Open CSV/JSON + Fetch Gaia Alert…, window entry,
3-way BIC fit, embedded plot with model overlays + BIC bar
chart, full param + observable pane, PNG + PDF export.
- Coverage: Load events CSV → tess-point per row → sortable
Treeview with observability flag + ecliptic latitude + bulge
blind-zone flag, observability summary bar chart, Save JSON.
CLI adds sub-commands mirroring the cloud API's non-multi-sector,
non-joint-fit endpoints: mast, sectors, coverage, habitability, exominer,
ffi, alerts. Everything fails soft when offline; the local transit
pipeline still runs.
Requirements pull astroquery (Gaia/SIMBAD/MAST/TESScut/Vizier) and
tess-point (coverage). Both ship as piwheels-prebuilt ARM wheels;
install stays under 5 min on a 1 GB Pi. Peak RSS with the full PDF
(HCI + ExoMiner + FFI) is ~420 MB — under half the budget. The
README's feature comparison table and pios/README.md are rewritten to
match the new scope.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
…joint fit)
Vendors the complete backend/app package into pios/vetstar_pi so the Pi port now drives the same code paths as the cloud studio, dropping only the two features that don't belong on a Pi:
Everything else in the cloud studio is now here and drives the same functions:
GUI (Tkinter) now exposes:
CLI adds sub-commands mirroring the cloud API's non-multi-sector, non-joint-fit endpoints: mast, sectors, coverage, habitability, exominer, ffi, alerts. Everything fails soft when offline; the local transit pipeline still runs.
Requirements pull astroquery (Gaia/SIMBAD/MAST/TESScut/Vizier) and tess-point (coverage). Both ship as piwheels-prebuilt ARM wheels; install stays under 5 min on a 1 GB Pi. Peak RSS with the full PDF (HCI + ExoMiner + FFI) is ~420 MB — under half the budget. The README's feature comparison table and pios/README.md are rewritten to match the new scope.