astrophotography/state
Laurence 118dc36e92 solve: prefer the estate's own Astrometry.net over nova for blind solves
The estate now runs Astrometry.net itself (ankh-morpork-infra astrometry/):
solve-field against ~5 GB of local index files, sized from this repo's
TELESCOPES.md so the whole iTelescope fleet's fields of view are covered.

blind.py now tries it before nova.astrometry.net. Speed is the least of the
reasons - a blind solve of a real DSS field returns in 0.7s where nova queues
for minutes. The reasons that matter are that nova requires UPLOADING the
master to a third party and holding an API key, and neither is necessary any
more for the ordinary case. nova remains the fallback, so an estate outage
costs speed and privacy rather than the ability to solve.

pipeline/astrometry_net.py is the client and nothing more: stdlib-only POST,
parses the returned .wcs so the full TAN solution is used rather than a
re-derivation from the summary numbers. It deliberately does NOT decide whether
to trust a solution - blind.py already verifies every blind solve against Gaia
and applies a star-count and residual gate, and two gates that can disagree is
worse than one that is trusted.

The source ('estate' or 'nova') is threaded through the log lines, the returned
method, and the ASTRSOLV card, because a year from now that card is the only
way to tell whether a frame was solved in-house or uploaded.

Also corrected astrometry.py's 'cannot solve without a blind solver' message,
which has been untrue since run.py started falling through to blind.py.

Tested against the live service: blind solve of a DSS2 field with a known
centre returned within ~4 arcsec in 0.7s; the WCS round-trips through astropy;
and an unreachable service falls through to nova instead of raising.
2026-07-21 23:00:23 +01:00
..
ARCHITECTURE.md Bring the state files up to date so a cold session can resume 2026-07-21 17:32:00 +01:00
DECISIONS.md solve: prefer the estate's own Astrometry.net over nova for blind solves 2026-07-21 23:00:23 +01:00
NOTES.md Bring the state files up to date so a cold session can resume 2026-07-21 17:32:00 +01:00
PR_TEMPLATE.md Telescope review: all 23 active iTelescope systems 2026-07-17 14:20:49 +01:00
PROJECT.md Make the merged repository coherent: README, state, and internal links 2026-07-21 17:16:20 +01:00
TODO.md Add the plate solve stage; it works on two sessions of four 2026-07-21 21:27:33 +01:00