v1.3.1 — detector-pixel spec-overlap + auto-load fix
Headline: spec-overlap renderer matched against direct jwst.assign_wcs ground truth for all 9 (disperser, filter) combos.
Highlights
- Three-colour MPT-style overlay — pink (Mask Stuck) / orange (Masked) / purple (Mask Conflict). Chain propagation along touching slitlets. Per-shutter alpha stacks with conflict count.
- Detector-pixel-accurate spec-overlap
- Subtractive x-range filter drops V2-distance false positives (e.g. G140M/F070LP at ΔV2 ≈ 84″ where spectra don't physically reach each other).
- Additive cross-quadrant detector-y check catches MSA-row blind spots (e.g. G140M/F100LP Q4 s=34 ↔ Q2 s=33 — same detector y, different MSA s).
v2_overlap_distanceis now per-combo, measured from direct slit_frame→detector traces.
- Orange band clamped to N+2 rows — sharp visual cut-off across the full dispersion range.
- Examples auto-load fix —
vmpt examples downloadnow defaults to~/.vmpt/examples/; in-app "Load Abell 370 / RXCJ0600 example" buttons find it there automatically. Works for pip-installed copies; no restart needed.
Install / upgrade
pip install --upgrade jwst-vmpt
vmpt examples download # writes to ~/.vmpt/examples (was CWD)
vmpt # the Load * example buttons now work end-to-end
Numbers
- 144 keys in
data/dispersion_cutoffs.npz(36 MB, included in the wheel). - 188 tests passing; new
tests/test_spec_overlap_purple.pyregression suite. - Spec-overlap refresh ≈ 25 ms per click on PRISM and G140H/F100LP.
See CHANGELOG.md for full notes.