fiducial_pos

Overview

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

Creators

Creators

  • PlateMaker external interface
  • PlateMaker internals
    • fiducialPos0

Users

This list is not promised to be comprehensive.

Contents

Table columns

# name type units description
1 Petal integer   PETAL_ID from DESI docdb-2724
2 Id integer   DEVICE_ID from DESI docdb-2724, unique within a petal but repreats one petal to the next
3 Type string   FIF (fiducial mounted in petal directly) or GIF (fiducial mounted in GFA assembly)
4 XOUT float pixels deprecated but used internally to PlateMaker (not actually CCD coordinates)
5 YOUT float pixels deprecated but used internally to PlateMaker (not actually CCD coordinates)

Storage and access

Through DOS

After nfsproc is 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 fiducial 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'

Now we can retrieve center from PlateMaker:

>>> fiducial_pos = pm.execute('get', 'fiducial_pos')
>>> fiducial_pos.dtype
dtype((numpy.record, [('Petal', '<i8'), ('Id', '<i8'), ('Type', '<U3'), ('XOUT', '<f8'), ('YOUT', '<f8')]))

Preferred file representation

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

Example start of file contents

::
>>> from PlateMaker import test_data
>>> fname = test_data.data_dir + '/fiducial-pos-52254.2.dat'
>>> print(open(fname, 'r').read()) 
#Petal Id Type   XOUT   YOUT
...