solver

Field solver module - thin layer over other field solver services.

source

Solver

 Solver (api_key=None, cache='.cache/wcs', cmd=None, args=None)

Wrapper of AstrometryNet solver from astropy tuned for the use in osob use.


source

Solver.solve

 Solver.solve (hdu, crop=(slice(0, -32, None), slice(0, -32, None)),
               force_solve=False, tout=None)

Solve plate in fits format using local (if present) or remote (not fully implemented yet) AstrometryNet solver

config = configparser.ConfigParser()
config.read(expanduser('~/.config/telescope.ini'))
solver = Solver(config['astrometry.net']['apikey'])

scope=Telescope(config='~/.config/telescope.ini')
reqlst=scope.get_user_requests(sort='completion')
for rq in sorted(reqlst, key=lambda r: int(r['requesttime']), reverse=True):
    if Telescope.REQUESTSTATUS_TEXTS[int(rq['status'])]=='Complete':
        break
ousutil.print_dict(rq)
print()
ousutil.print_dict(scope.get_request(int(rq['id'])))
last_complete = int(scope.get_request(int(rq['id']))['jid'])
id: 771144
seen: 1
usercomments: AAVSO
objecttype: RADEC
objectid: 21:55:57.03 +48:20:52.52
objectname: LX Cyg
requesttime: 1730321603
status: 8
row: 113

rid: 771144
jid: 422672
type: RADEC
oid: 21:55:57.03 +48:20:52.52
name: LX Cyg
exp: 180000 ms
filter: BVR
dark: Instant
tele_type: Galaxy
tele: COAST
requested: ['30', 'October', '2024', '20:53:23', 'UTC']
completion: ['11', 'November', '2024', '00:25:33', 'UTC']
status: Complete
ffn = scope.get_obs(scope.get_job(last_complete)).name
print(last_complete, '-->', ffn)
hdu = fits.open(ffn, cube=True, verbose=True)[0]

s_hdu = solver.solve(hdu)

assert s_hdu

w = WCS(s_hdu, naxis=2)
w.printwcs()
422672 --> .cache/jobs/4/2/422672.fits
Solving for 871C3AC8
solve-field -p -l 15 -O -L 1 -H 2 -u app -3 328.987500 -4 48.347778 -5 2 /tmp/field-solver1pjva1vt/tmpnkuaqevx.fits
WCS Keywords

Number of WCS axes: 2
CTYPE : 'RA---TAN-SIP' 'DEC--TAN-SIP' 
CRVAL : 328.892169298 48.2980299761 
CRPIX : 909.534133911 632.779216766 
CD1_1 CD1_2  : -0.000467341943674 -7.38084875081e-06 
CD2_1 CD2_2  : -7.70366801401e-06 0.000467066492949 
NAXIS : 1536  1536  3
WARNING: FITSFixedWarning: EPOCH = 'REAL' 
a floating-point value was expected. [astropy.wcs.wcs]
WARNING: FITSFixedWarning: RADECSYS= 'ICRS' 
the RADECSYS keyword is deprecated, use RADESYSa. [astropy.wcs.wcs]
hd = solver.ast.solve_from_image(ffn, force_image_upload=True)
WCS(hd, naxis=2).printwcs()
Solving............WCS Keywords

Number of WCS axes: 2
CTYPE : 'RA---TAN-SIP' 'DEC--TAN-SIP' 
CRVAL : 329.014424178 48.4825814278 
CRPIX : 729.613105774 1025.02197266 
CD1_1 CD1_2  : -0.000467115230037 -6.83923132343e-06 
CD2_1 CD2_2  : -6.85954795315e-06 0.000466847668568 
NAXIS : 0  0