astrojs / fitsjs

JavaScript library for reading the FITS astronomical format. Functionality includes reading of images, data cubes, compressed images, binary and ascii tables.
http://astrojs.github.io/fitsjs/
MIT License
85 stars 21 forks source link

Header Parsing #6

Closed kapadia closed 11 years ago

kapadia commented 11 years ago

Issues when parsing nasty ESO headers like:

SIMPLE = T / Standard FITS format: NOST 100-2.0
BITPIX = -32 / No. of bits per pixel
NAXIS = 2 / No. of axes in image
NAXIS1 = 2670 / No. of pixels
NAXIS2 = 2592 / No. of pixels
EXTEND = T / FITS extension may be present
BLOCKED = T / FITS file may be blocked
COMMENT NOST 100-2.0: Hanisch,R. et al. 2001, Astron. & Astrophys. 376, 559

CRPIX1 = 1. / Reference pixel
CRVAL1 = -318.314017694 / Coordinate at reference pixel
CDELT1 = 1. / Coord. incr. per pixel (original value)
CTYPE1 = ' PIXEL ' / Units of coordinate
CRPIX2 = 1. / Reference pixel
CRVAL2 = -777.12286106 / Coordinate at reference pixel
CDELT2 = 1. / Coord. incr. per pixel (original value)
CTYPE2 = ' ' / Units of coordinate
BUNIT = ' PIXEL ' / Units of data values
DATAMAX = 686.397277832 / Maximum data value
DATAMIN = -999. / Minimum data value

ORIGIN = 'ESO-MIDAS' / Written by MIDAS
DATE = '2009-12-11T14:45:33' / [UTC] Date of writing
FILENAME= 'cR.bdf ' / Original file base-name
MIDASFTP= 'IMAGE ' / MIDAS File Type

OBJECT = 'average frame' / MIDAS desc.: IDENT(1)
RA = 146.33936 / MIDAS desc.: O_POS(1)
DEC = -14.29499 / MIDAS desc.: O_POS(2)
DATE-OBS= '09/04/92' / MIDAS desc.: O_TIME(1)
MJD-OBS = 48721.06194 / MIDAS desc.: O_TIME(4)
TM-START= 5351.615999965 / MIDAS desc.: O_TIME(5)
EXPTIME = 300. / MIDAS desc.: O_TIME(7)
COMMENT IP_FILE 'IHAP/FITS/EM9204090129133.FITS::USER ' / IHAP: Begin of keywor\ COMMENT d
COMMENT IP_FEND / IHAP: End of keyword file
COMMENT EXPTIME 300.000
COMMENT IP_CBEND / IHAP: comment block end
TELESCOP= 'ESONTTB ' / MIDAS desc.: TELESCOP(1)
INSTRUME= 'EMMI ' / MIDAS desc.: INSTRUME(1)
OBSERVER= 'Giavalisco' / MIDAS desc.: OBSERVER(1)
AIRMASS = 1.03685 / MIDAS desc.: O_AIRM(1)
HISTORY Extracted from: ONTT.1992-04-09T01:29:11.000.fits \ HISTORY FLIP/IMAGE E92_09T012911.bdf Y \ HISTORY FLIP/IMAGE E92_09T012911.bdf Y \ HISTORY FLIP/IMAGE E92_09T012911.bdf X \ HISTORY FLIP/IMAGE E92_09T012911.bdf X \ HISTORY FLIP/IMAGE E9209T012911.b\ HISTORY df X REBIN/ROTATE E92\ HISTORY 09T012911 rE92_09T012911 keyword E95_01T042813 NO COMPUTE/\ HISTORY IMAG R_92 = R_92 - 2.254456e+03 \ HISTORY COMPUTE/IMAG R_92 = R_92/300 \ HISTORY AVERAGE/IMAG R = R_92,R_95 M -999 average -1,999 \ HISTORY REPLACE/IMAGE R cR w_mask00/.5,>=med00 \ HISTORY
ARCFILE = 'ONTT.1992-04-09T01:29:11.000.fits'
CHECKSUM= 'ZBJ9a9I8VAI8Z7I8' / HDU checksum updated 2007-01-05T16:22:42
DATASUM = '3477596210' / data unit checksum updated 2007-01-05T16:22:42 HIERARCH ESO GEN ID = 'ARC-0001/1.2' / Version of related document
HIERARCH ESO GEN PROJ ID = '000.00.000' / ESO program identification
HIERARCH ESO GEN EXPO NO = 18089 / Image Sequence Number
HIERARCH ESO GEN EXPO TYPE = 'SCI ' / Type of exposure
HIERARCH ESO GEN EXPO LST = 35799. / Loc. Sid. time at start of ex.
HIERARCH ESO TEL ID = 'ESONTTB ' / Telescope Identification
HIERARCH ESO TEL LON = 70.7345 / Telescope Longitude (+=West)
HIERARCH ESO TEL LAT = -29.2584 / Telescope Latitude (+=North)
HIERARCH ESO TEL ALTITUDE = 2440 / Telescope Altitude
HIERARCH ESO TEL FOCU LEN = 38.482 / Focus lenght (m)
HIERARCH ESO TEL FOCU SCALE = 1.489 / Focus scale (deg/m) = 5.36""/mm
HIERARCH ESO TEL TRAK RATEA = 0.0042 / Traking rate in alpha (deg/s)
HIERARCH ESO TEL TRAK RATED = 0. / Traking rate in delta (deg/s)
HIERARCH ESO ADA ID = 'ADAPTB ' / Adapter Identification
HIERARCH ESO ADA MODE = 'STD ' / Mode (standard)
HIERARCH ESO ADA ROT = 0. / Rotat. at the start of the exp.
HIERARCH ESO ADA GUID-1 X = 0.01714 / Guide probe x position (m)
HIERARCH ESO ADA GUID-1 Y = 0.1004 / Guide probe y position (m)
HIERARCH ESO ADA GUID-2 X = 0.000503 / Guide probe x position (m)
HIERARCH ESO ADA GUID-2 Y = 0.001106 / Guide probe y position (m)
HIERARCH ESO INS ID = 'EMMI #1 ' / Instrument Identification
HIERARCH ESO INS COMP ID = 'HP RTE-A V5' / Instrument computer op. sys.
HIERARCH ESO INS MODE = 'RILD ' / Mode EMMI is in
HIERARCH ESO INS OPTI-2 NO = 1 / Mirror Wheel position
HIERARCH ESO INS OPTI-2 TYPE = 'MIRROR ' / What is this element
HIERARCH ESO INS OPTI-2 ID = 'RILD MIR' / Mirror unique identification
HIERARCH ESO INS OPTI-2 NAME = 'RILD ' / Mirror position
HIERARCH ESO INS OPTI-3 NO = 1 / LD Slits Wheel position
HIERARCH ESO INS OPTI-3 TYPE = 'FREE ' / What is this element
HIERARCH ESO INS MIRR-3 NAME = 'UPPER RED' / Upper folding mirror red
HIERARCH ESO INS MIRR-3 ST = F / Mirror IN when true
HIERARCH ESO INS OPTI-7 NO = 1 / Filter Wheel red position
HIERARCH ESO INS OPTI-7 TYPE = 'FILTER ' / What is this element
HIERARCH ESO INS OPTI-7 ID = '#608 ' / Filter unique identification
HIERARCH ESO INS OPTI-7 NAME = 'R ' / Filter position
HIERARCH ESO INS OPTI-9 NO = 9 / Grism Wheel position
HIERARCH ESO INS OPTI-9 TYPE = 'FREE ' / What is this element
HIERARCH ESO DET NAME = 'FA_2048_L' / Detector name
HIERARCH ESO DET ID = 'ccd$24 ' / Detector serial id.
HIERARCH ESO DET TYPE = 'CCD Ford' / Detector type
HIERARCH ESO DET PIXSIZE = 1.5E-05 / Size of pixel (m)
HIERARCH ESO DET BITS = 16 / ADU bits per pixel
HIERARCH ESO DET FRAM NAXIS1 = 1501 / Number of pixels along x
HIERARCH ESO DET FRAM CRVAL1 = 250 / x coordinate of lower left pixel
HIERARCH ESO DET FRAM CRPIX1 = 1 / x coordinate of reference pixel
HIERARCH ESO DET FRAM CDELT1 = 1 / Binning factor along x
HIERARCH ESO DET FRAM NAXIS2 = 1501 / Number of pixels along y
HIERARCH ESO DET FRAM CRVAL2 = 250 / y coordinate of lower left pixel
HIERARCH ESO DET FRAM CRPIX2 = 1 / y coordinate of reference pixel
HIERARCH ESO DET FRAM CDELT2 = 1 / Binning factor along y
HIERARCH ESO DET DKTIME= 361.25 / Dark current time (s)
HIERARCH ESO DET TEMP-VAR = 0.1 / Temperature drift during exposure HIERARCH ESO DET TEMPMEAN = 158.4 / Mean detector temperature (K)
HIERARCH ESO DET COMP ID = 'ccdr-V1.0' / A900 CCD-program name+vers
HIERARCH ESO DET PARM1 = 'CLOCK=fd2048'
HIERARCH ESO DET PARM2 = 'HLO1 : -5.06 VLO1 : -8.01 VDD1 : 23.34'
HIERARCH ESO DET PARM3 = 'HHI1 : 5.03 VHI1 : 2.01 VDR1 : 11.97'
HIERARCH ESO DET PARM4 = 'HLO2 : -5.00 RLO1 : -1.07 VGS1 : 3.63'
HIERARCH ESO DET PARM5 = 'HHI2 : 5.01 RHI1 : 7.04 ICCD1 : 0.00'
HIERARCH ESO DET PARM6 = 'TL 1, 5 telem. data'
HIERARCH ESO DET DATE = '01/04/91' / CCD implementation date
HIERARCH ESO DET MODE = 'SLOW ' / Readout mode
HIERARCH ESO DET GAIN = 2 / Gain
HIERARCH ESO DET AD-VALUE = 1.5 / Electrons per AD unit
HIERARCH ESO DET DIT = 300. / Defined integration time (sec)
HIERARCH ESO DET SHUT TMOPEN = 0.5 / Time needed to open shutter(sec)
HIERARCH ESO DET SHUT TMCLOS = 0.5 / Time needed to close shutter(sec)

HISTORY ESO-DESCRIPTORS START ................
HISTORY 'START_PRE','R_8',1,2,'3E23.15'
HISTORY 2.500000000000000E+02 2.500000000000000E+02
HISTORY
HISTORY 'SEEING','R_4',1,2,'5E14.7'
HISTORY 1.1211230E+00 1.1870620E+00
HISTORY
HISTORY 'START_S','R_8',1,2,'3E23.15'
HISTORY 2.502179570000000E+02 2.500067900000000E+02
HISTORY
HISTORY 'STEP_RATAN','R_8',1,2,'3E23.15'
HISTORY -1.000000000000000E+00 1.000000000000000E+00
HISTORY
HISTORY 'START_RATAN','R_8',1,2,'3E23.15'
HISTORY 1.750217957000000E+03 2.500067899999999E+02
HISTORY
HISTORY 'LHCUTS','R_4',1,4,'5E14.7'
HISTORY 0.0000000E+00 1.0000000E+01-9.9900000E+02 6.8639728E+02
HISTORY
HISTORY 'DISPLAY_DATA','I*4',1,9,'7I10'
HISTORY 2 2 1336 1297 0 -1 -1 HISTORY -1 -1
HISTORY
HISTORY ESO-DESCRIPTORS END ................

END