gfa_guide

Overview

The expected pixel positions of a set of guide stars in the hypethetical case where the telescope is at the correct pointing.

Creators

  • PlateMaker external interface
  • PlateMaker internals
    • nomadCenter

Users

This list is not promised to be comprehensive.

Contents

Table columns

# name type units description
1 xi float degrees tangent plane coordinate relative to field center, in apparent TPV coordinates
2 eta float degrees tangent plane coordinate relative to field center, in apparent TPV coordinates
3 xip float degrees “xi prime”, tangent plane coordinate, in apparent TPV coordinates
4 etap float degrees “eta prime”, tangent plane coordinate, in apparent TPV coordinates
5 ra float decimal degrees J2000 coordinates (epoch and equinox 2000)
6 dec float decimal degrees J2000 coordinates (epoch and equinox 2000)
7 row float    
8 col float    
9 ccdrow float    
10 ccdcol float    
11 raerr float    
12 decerr float    
13 pmra float asec/year proper motion in ra
14 pmdec float asec/year proper motion in dec
15 pmraerr float asec/year error in pmra
16 pmdecerr float asec/year error in pmdec
17 row float pixels linearized (as if outside the corrector) pixel coordinate: increases to the west (not device coordinates!)
18 col float pixels linearized (as if outside the corrector) pixel coordinate: increases to the north (not device coordinates!)
19 rowccd float pixels device row coordinate (after distortion and rotation to match device orientation) (0, 0 is lower left corner of lower left pixel)
20 colccd float pixels device column coordinate (after distortion and rotation to match device orientation) (0, 0 is lower left corner of lower left pixel)
21 mag float magnitude r band magnitude
22 gfaid integer   petal number + 2
23 objtype integer   always 0
24 okguide integer   1 means usable as a guide star

Storage and access

Through DOS

After gfaproc is run for a sequence, the get PML command may be used retrieve the guiding data from PlateMaker.

First, a PML connection must be established:

>>> from DOSlib.PML import dos_connection
>>> pm = dos_connection('PLATEMAKER')
>>> pm.execute('configure')
'SUCCESS'

The GFA guide data is normally calculated by PlateMaker when gfaproc is called. So, load some sample input for it, and run gfaproc:

>>> from PlateMaker import test_data
>>> nfsdata = test_data.nfs_data
>>> gfa_images = test_data.gfa_images
>>> stdstars = test_data.stdstars
>>> pm.execute('set', instrument=test_data.inst_name)
'SUCCESS'
>>> pm.execute('set', seqid=test_data.seq_id)
'SUCCESS'
>>> pm.execute('set', nfsdata=nfsdata)
'SUCCESS'
>>> pm.execute('set', gfa_images=gfa_images, stdstars=stdstars)
'SUCCESS'
>>> pm.execute('gfaproc')
'SUCCESS'

Now we can retrieve the guide data from PlateMaker, which it will return in the form of numpy.recarray.

>>> gfa_guide = pm.execute('get', 'gfa_guide')
>>> gfa_guide.dtype
dtype((numpy.record, [('xi', '<f8'), ('eta', '<f8'), ('xip', '<f8'), ('etap', '<f8'), ('ra', '<f8'), ('dec', '<f8'), ('row', '<f8'), ('col', '<f8'), ('rowccd', '<f8'), ('colccd', '<f8'), ('raerr', '<f4'), ('decerr', '<f4'), ('pmra', '<f4'), ('pmdec', '<f4'), ('pmraerr', '<f4'), ('pmdecerr', '<f4'), ('mag', '<f4'), ('gfaid', '<i4'), ('objtype', '<i4'), ('okguide', '<i4')]))

Preferred file representation

Name template:gfa-guide-{PLATE_ID}.{CONFIG_ID}.fits
Format:FITS

All keywords appear in the header of HDU1, and the table is the content of HDU1.

Example FITS headers

::
>>> import astropy.io.fits as fits
>>> from PlateMaker import test_data
>>> fname = test_data.data_dir + '/gfa-guide-52254.4.fits'
>>> for idx, hdu in enumerate(fits.open(fname)):
...     print("******** HDU " + str(idx) + " ********")
...     hdu.header 
...
******** HDU 0 ********
SIMPLE  =                    T
BITPIX  =                    8
NAXIS   =                    0
EXTEND  =                    T
******** HDU 1 ********
XTENSION= 'BINTABLE'
BITPIX  =                    8
NAXIS   =                    2
NAXIS1  =                  120
NAXIS2  =                   42
PCOUNT  =                    0
GCOUNT  =                    1
TFIELDS =                   20
TFORM1  = '1D      '
TTYPE1  = 'xi      '
TFORM2  = '1D      '
TTYPE2  = 'eta     '
TFORM3  = '1D      '
TTYPE3  = 'xip     '
TFORM4  = '1D      '
TTYPE4  = 'etap    '
TFORM5  = '1D      '
TTYPE5  = 'ra      '
TFORM6  = '1D      '
TTYPE6  = 'dec     '
TFORM7  = '1D      '
TTYPE7  = 'row     '
TFORM8  = '1D      '
TTYPE8  = 'col     '
TFORM9  = '1D      '
TTYPE9  = 'rowccd  '
TFORM10 = '1D      '
TTYPE10 = 'colccd  '
TFORM11 = '1E      '
TTYPE11 = 'raerr   '
TFORM12 = '1E      '
TTYPE12 = 'decerr  '
TFORM13 = '1E      '
TTYPE13 = 'pmra    '
TFORM14 = '1E      '
TTYPE14 = 'pmdec   '
TFORM15 = '1E      '
TTYPE15 = 'pmraerr '
TFORM16 = '1E      '
TTYPE16 = 'pmdecerr'
TFORM17 = '1E      '
TTYPE17 = 'mag     '
TFORM18 = '1J      '
TTYPE18 = 'gfaid   '
TFORM19 = '1J      '
TTYPE19 = 'objtype '
TFORM20 = '1J      '
TTYPE20 = 'okguide '