fiber_pos

Overview

A table of open-loop fiber coordinates, in FVC pixels, not constant.

Like merged_fvc_spots, but open loop positions.

Creators

  • PlateMaker external interface
  • PlateMaker internals
    • fvcPosMerge

Users

The Fiber-View-Camera system.

Contents

Table columns

# name type units description
1 serial integer   unique identifier for all target and ETC (exposure time calculator) positioners
2 x float pixels fiber view camera coordinate, center of CCD at 0
3 y float pixels fiber view camera coordinate, center of CCD at 0
4 mag float   astronomical magnitude
5 meas_err float   not meaningful
6 flag int   see below

Flag definitions:

value meaning
4 positioner
8 fiducual (either type)
32 bad

Other bits are unused

Storage and access

Through DOS

After nfsproc and fidproc are run for a sequence, the get PML command may be used retrieve the center 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 fiber coordinates are normally calculated by PlateMaker when nfsproc is called. So, load some sample input for it, and run nfsproc:

>>> from PlateMaker import test_data
>>> targets = test_data.targets
>>> pm.execute('set', seqid=test_data.seq_id)
'SUCCESS'
>>> pm.execute('set', targets=targets)
'SUCCESS'
>>> pm.execute('nfsproc')
'SUCCESS'
>>> pm.execute('fidproc')
'SUCCESS'

Now we can retrieve center from PlateMaker:

>>> fiber_pos = pm.execute('get', 'fiber_pos')
>>> fiber_pos.dtype
dtype((numpy.record, [('serial', '<i8'), ('x', '<f8'), ('y', '<f8'), ('mag', '<f8'), ('meas_err', '<f8'), ('flags', '<i8')]))

Preferred file representation

Name template:fiber-pos-{PLATE_ID}.dat
Format:whitespace delimited ASCII text

Example start of file contents

::
>>> from PlateMaker import test_data
>>> fname = test_data.data_dir + '/fiber-pos-52254.3.dat'
>>> print(open(fname, 'r').read()) 
#serial  x      y      mag  meas_err   flags
#       pix    pix
...