fiber_pos¶
Overview¶
A table of open-loop fiber coordinates, in FVC pixels, not constant.
Like merged_fvc_spots, but open loop positions.
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 ...