AAOmega File Format (or, which spectrum is which object?)

When analysing data from an AAOmega run, one needs to be able to map the combined spectra returned from the reduction task back to individual objects from the input catalogue. All the relevant information is contained within the combined output file(s). The page that follows attempts to describe how to recover this information. The process is simple, once one follows the logic. However, it can seem rather convoluted at first sight. Please send any questions, comments and suggestion you may have on how to make this information more digestible, to Rob Sharp.

File Extensions

The table below gives a summary of the 2dfdr output file content, for either an individual reduced frame ....red.fits files or a combined reduced frame combined_frames.fits file. The file is a standard Multi-Extension FITS file (FITS MEF).

Extension IRAF format Contents
Primary image .fits[0] WxN image containing the spectrum  (W pixels long) for each fibre of the N spectra
First Extension .fits[1] WxN image containing the Variance array for the data
Second Extension .fits[2] FITS binary table, with N rows, one for each fibre. Each Row contains information for each object such as RA, Dec, 2dF Pivot number and more
... ... Details to be added
Seventh Extension .fits[7] Sky spectrum Stored as a FITS binary table, with W rows. Each row contains the one element of the 'typical' sky spectrum used in the data reduction ('typical' because for a combined frame it is not obvious how the final sky spectrum for each fibre should be represented here). Note: The variance information is correctly propagated, the sky spectrum is not presented here for this purpose.

The extension can be accessed in a number of ways shown below.

The primary image in the MEF FITS file is a WxN image where N is the number of spectra which are represented. This is 400 for AAOmega data, 392 science fibres and 8 guide fibres. Unused science fibres and Sky spectra, are included in the output file along with the guide fibres spectra, even though the spectra contain no information, as this is seen to simplify book keeping, and is a small disc space overhead. In the case where multiple sets of AAOmega datasets, which contained a subset of common objects, have been combined, the format is a little more complex, and is explained separately below.

An Important Note on 2dF Fibre-Pivot Number and 2dfdr Fibre Number

There are two very important, and very different, numbers needed to recover the information for which object each fibre was allocated: Fibre slit position AND 2dF Fibre-Pivot position. For the most part there is a one-to-one correspondence between these number sets. i.e. the fibre at AAOmega slit position 1 (at the bottom of the CCD image, ...red.fits[0][*,1]) will map directly to 2dF Pivot position 1, and fibre 400 will map to Pivot position 400. (Note 400 is a guide fibre and so maps to a blank space at the top of the CCD image, ...red.fits[0][*,400]). However, during manufacture or repair of the AAOmega slit units, it is possible for the order of fibres in each of the AAOmega slits to fall out of synchronization with the 2dF Pivot numbering (2 slit blocks on each plate are like this as of April 2007). It is not practical to mechanically alter either position so each of the conversion betwen the two is propagated in the binary table extension (Pivot position).

In the primary image .fits[0] (and also the variance array .fits[1]) the fibre at the bottom of the image, which is the fibre at slit position 1 (...red.fits[0][*,1]), corresponds to the first row in the binary table extension .fits[2]). The table contains a column entry, PIVOT, which gives the 2dF pivot position for this fibre. This is the fibre number seen be the Configure software. The very top fibre in a CCD image corresponds to the very last entry in the binary table (which will be an AAOmega guide fibre in the case of a single AAOmega data set). There is ALWAYS a one-to-one correspondence between each spectrum position in the image and the binary table. There is typically a one-to-one correspondence between slit position and 2dF pivot position but with a number of known mismatches and discontinuities which are tracked via the PIVOT column of the binary table.

Combining Multiple AAOmega Data Sets which contain a Common Subset of Targets

An improvement to the combining algorithm (as of March 2004) is that instead of simply combining based on the fibre number in the reduced data frames (i.e. combine fibre 1 in frame 1 with fibre 1 in frame 2 etc.), the 2dfdr combine algorithm now combines data based on object name. This has a number of advantages:

  • Multiple configurations of the same field can be combined together in the case where some, but not all objects are in common.
  • Only sky (S) and program (P) fibres are combined. This includes cases in which a fibre has been disabled part way though the observation of a field, so that only the good data is combined.

This can result in final combined data frames in which there are more than spectra than the instrument can produce in one exposure, so that all objects are contained, whether they are contained within every frame or only a sub-set of the frames. The first spectra will be all those from the first frame (including any unused/parked and sky fibres), while any additional spectra will be extra program (only) spectra from objects not present in the first frame. All the fibres extension information is properly propagated in this process and an extra array is added listing the actual exposure time (in seconds) for each spectrum. If the data combined are all from the same configuration there will be no difference between the new combining and the old fibre number combining (apart from that unused/parked fibres will have all their values set to zero).

Fibre Extension Binary Table Columns

Column Column name Description
1 Name Object name from the .fld file
2 RA Right Ascension from the .fld file
3 Dec Declination from the .fld file
4 X 2dF field plate X co-ordinate (in microns)
5 Y 2dF field plate Y co-ordinate (in microns)
6 Xerr Reported error in X in final fibre placement
7 Yerr Reported error in Y in final fibre placement
8 Theta Angle of fibre on field plate
9 Type Fibre type, F-guide, N-broken, P-program, S-sky, U-unused
10 Pivot 2dF fibre pivot number
11 Magnitude Object magnitude, as given in the .fld file
12 PID ???
13 Comment Comment from the .fld file
14 Retractor 2dF retractor number
15 Switch Field ???
16 Switch Partner For cross beam switched data, the paired fibre is indicated (fibre slit position number)
17 Wlen ???

How to Access the FITS Binary Table Information

This list is not exhaustive. If your favorite option is missing, send an e-mail to Rob Sharp and it will be added to the list.

With Configure

One can save a list file (file menu -> ..list) which contains the allocated 2dF fibre Pivot number for each allocated fibre. Notice this is the Pivot number for 2dF, NOT the fibre number in the reduced 2D spectra file.

Within 2dfdr

To be added

2dfinfo

The 2dfinfo program comes packaged with 2dfdr. It can be used to recover information on the fibre from either a .fits or .sdf file. The syntax for the command is :

2dfinfo file.fits

If the option is omitted then the list of options is given. To recover the fibre table information one would use:

2dfinfo file.fits fibres

IRAF

The <span style IRAF/STSDAS package TABLES has a number of routines designed, unsurprisingly, for manipulating tables. A simple example might be:

IRAF> tdump combined_frame.fits[2] >; output.txt

This would create a complete, if rather inelegant, listing of the fibre info binary table and pipe it to a ascii text file. Formating the output can be achieved with:

IRAF> tprint combined_frame.fits[2] columns="NAME,RA,DEC" > output.txt

IDL

For users of IDL, the NASA IDL astronomy library has some excellent fits data access routines.

Starting from a combined fits frame, combined_frame.fits, one might use the following code extracts to manipulate AAOmega data.

Notes, there are much cleverer (and quicker) ways to perform the operations below with the NASA astrolib tasks, the code here is given as a set of simple examples.

file='combined_frame.fits'

;; Read in the spectral image, store the header information
spec=mrdfits(dir+file_comb,0,header0)

;; And the variance array
spec_var=mrdfits(dir+file_comb,1)

;; Make a wavelength vector, note the use of CRPIX1, which is often not expected by many users.
;; If missed, the wavelength solution will tend to be wrong by half a CCD width
crpix=fxpar(header0,'crpix1')
crval=fxpar(header0,'crval1')
cdelt=fxpar(header0,'cdelt1')
wave=((findgen(n_elements(spec[*,0]))-crpix)*cdelt)+crval

;; Read in the object identification information
fxbopen,unit,file,2
fxbreadm,unit $
  ,['name','ra','dec','x','y','xerr','yerr','theta','type','pivot','magnitude'] $
  ,id,ra,dec,x,y,xerr,yerr,theta,type,pivot,mag
fxbclose,unit

;; And read a copy of the sky spectrum subtracted from the data.
;; Note, for a combined frame, this is the sky spectrum from the first file in the list of combined frames.
;; It is a good representative sky spectrum, but should be used with caution for the combined spectral data.
fxbopen,unit,file,7
fxbreadm,unit,['SKY'],sky
fxbclose,unit

-- RonHeald - 23 Apr 2007

Edit | Attach | Watch | Print version | History: r18 | r9 < r8 < r7 < r6 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r7 - 2007-04-23 - RonHeald
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback