Skip to content

FIgLib nights get their own optical centres, not ones borrowed from 2026 - #25

Merged
rharnish merged 4 commits into
mainfrom
figlib-intrinsics
Oct 1, 2026
Merged

rharnish merged 4 commits into
mainfrom
figlib-intrinsics

Conversation

@rharnish

@rharnish rharnish commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Follow-up to #24. star-calibration's intrinsics.lookup gives a camera's nearest CDN centre segment to any date, so a 2020 FIgLib night was taking a centre fitted on 2026 frames. On lp-w-mobo-c at Willow that borrowed centre was (1.9, 63.1) px, from a single night. It barely improved the fit (1.80 → 1.75 px), bent the lens to k1 −0.059, and moved pitch by 2.4°.

Change (plume-side; the library is untouched)

  • New stars.intrinsics fits the FIgLib nights' own centre series with the library's intrinsics.build and its rules, into data/meta/figlib_intrinsics.json.
  • A night takes its own segment's centre or the frame's middle, never another date's.
  • python -m src.figlib.stars.intrinsics solves every FIgLib night through the library's centre first, then fits and re-solves twice. That starting point matters: tp-w at Bonita matches only 16 stars at the frame's middle, under the 20-star floor for fitting a centre.
  • stars.solve.camera reads the new file for FIgLib sequences. CDN blocks keep the library's centre.

Fit: 16 of 21 FIgLib camera segments get a centre. Where a camera also has a CDN centre, the two agree to within 3–8 px, so a centre usually holds across years; lp-w is the exception.

Ledger (same 86 sources; CDN entries unchanged)

  • FIgLib median residual: 1.09 → 0.86 px.
  • Bearings at the middle column move a median 0.015°, at most 0.08°.
  • Lens scale range is now 0.883–0.894.

Re-run (rerun_results.sh from 48ae5f2)

  • Star-azimuth and whole-camera rows: 2.02 → 2.03 km. This is Roundfire, the upper median, moving 0.01 km.
  • Terrain validate: 62 → 61 of 74. SloaneFire lp-w is back outside, as it was on the 2026-09-26 poses.
  • Details in NOTES.md (2026-09-30, later).

🤖 Generated with Claude Code

rharnish and others added 4 commits September 30, 2026 20:57
star_calibration's intrinsics.lookup hands a camera's nearest CDN segment to any date, so a
2020 FIgLib night took a centre fitted on 2026 frames. On lp-w-mobo-c at Willow that was
(1.9, 63.1) px from one night, and it bent the solved lens (k1 -0.059) and pitch (2.4 deg).

stars.intrinsics fits the FIgLib nights' own series with the library's intrinsics.build and
its rules, into data/meta/figlib_intrinsics.json. A night takes its own segment's centre or
the frame's middle, never a neighbour's. `python -m src.figlib.stars.intrinsics` alternates
fit and re-solve twice. stars.solve.camera reads it for FIgLib sequences; CDN blocks keep the
library's. solve_batch factored out of stars.solve's main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ile; fit the FIgLib centres

The first run solved every round at the frame's middle: main runs as __main__, so the copy
stars.solve imports kept a stale cache. And the start matters: tp-w at Bonita matches 16 stars
at the middle (under the 20-star floor, so it never gets a centre) but 22 through the library's.
main now seeds each night at the library's centre, then fits and re-solves twice. 16 of 21
segments get a centre; lp-w at Willow keeps the middle (15 stars, one night).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Same 86 sources; the 60 CDN entries are unchanged. The 26 FIgLib solves move d_az a median
0.15 deg (-1.08 to +0.82) and their median residual drops 1.09 -> 0.86 px. Read at the
middle column the bearings move a median 0.015 deg, at most 0.08.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every stage in rerun_results.sh from 48ae5f2 (out/logs/rerun_48ae5f2.log). Star azimuth and
whole-camera rows 2.02 -> 2.03 km (Roundfire, the upper median, +0.01); terrain validate
62 -> 61 of 74 (SloaneFire lp-w back outside, as on the 2026-09-26 poses). Ledger: 0.86 px,
34 of 52 cameras more than 1 deg off, lens 0.883-0.894. star_ledger.png redrawn.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@rharnish
rharnish merged commit 941e739 into main Oct 1, 2026
1 check passed
@rharnish
rharnish deleted the figlib-intrinsics branch October 1, 2026 23:05
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.

1 participant