File: pih.keyrec

package info (click to toggle)
python-pywcs 1.11-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 11,888 kB
  • sloc: ansic: 31,441; lex: 6,170; fortran: 6,080; sh: 3,478; python: 3,122; sed: 408; makefile: 76
file content (385 lines) | stat: -rw-r--r-- 21,376 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
#-----------------------------------------------------------------------------
# WCSLIB 4.8 - an implementation of the FITS WCS standard.
# Copyright (C) 1995-2011, Mark Calabretta
#
# This file is part of WCSLIB.
#
# WCSLIB is free software: you can redistribute it and/or modify it under the
# terms of the GNU Lesser General Public License as published by the Free
# Software Foundation, either version 3 of the License, or (at your option)
# any later version.
#
# WCSLIB is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for
# more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with WCSLIB.  If not, see <http://www.gnu.org/licenses/>.
#
# Correspondence concerning WCSLIB may be directed to:
#    Internet email: mcalabre@atnf.csiro.au
#    Postal address: Dr. Mark Calabretta
#                    Australia Telescope National Facility, CSIRO
#                    PO Box 76
#                    Epping NSW 1710
#                    AUSTRALIA
#
# Author: Mark Calabretta, Australia Telescope National Facility
# http://www.atnf.csiro.au/~mcalabre/index.html
# $Id: pih.keyrec,v 4.8.1.1 2011/08/15 08:07:06 cal103 Exp cal103 $
#-----------------------------------------------------------------------------
# FITS header keyrecords used for testing by tpih1, tpih2 and tfitshdr.
#
# Use 'tofits' (supplied) to convert this file to proper FITS format via
#
#     tofits < bth.keyrec > bth.fits
#
# Lines in this file beginning with '#' are ignored by tofits.
#-----------------------------------------------------------------------------
SIMPLE  =                    F / Standards-conformant FITS format?  NO!
BITPIX  =                  -32 / IEEE single precision floating point
NAXIS   =                    0 / No image data

COMMENT                        WARNING  WARNING  WARNING
COMMENT                        -------------------------
COMMENT  This header has been developed for test purposes and as such contains
COMMENT  all standard WCS keywords.  Combining certain of them (e.g. PCi_ja,
COMMENT  CDi_ja, and CROTAn) within a single FITS header violates certain WCS
COMMENT  standards.  However, taken individually, each representation is legal,
COMMENT  except as indicated.
COMMENT
COMMENT  The three alternate representations define essentially the same
COMMENT  coordinate system in three different ways.  The older AIPS convention
COMMENT  is necessarily used for the primary representation because the
COMMENT  alternate version code (e.g. the "a" in CTYPEia) is not applicable in
COMMENT  that convention.
COMMENT
COMMENT  For compatibility testing, the header also contains a number of non-
COMMENT  standard keywords and constructs: the AIPS keywords CROTAn, EPOCH, and
COMMENT  VELREF retrofitted with alternate version codes, and PROJPn, a
COMMENT  forerunner of PVi_ma.  However, non-standard CD00i00j and PC00i00j
COMMENT  keywords, while recognized, are not included since they can only apply
COMMENT  to the primary representation which is used here to test the AIPS
COMMENT  convention.
COMMENT
COMMENT  A simple TAN projection used in the primary representation is
COMMENT  expressed as an equivalent SZP projection in the "A" representation,
COMMENT  and approximated by a ZPN in the "I" representation.  A bulk image
COMMENT  rotation of 15 deg applied by the defunct CROTAn keyword in the AIPS
COMMENT  convention is replaced in the alternates by an equivalent bulk image
COMMENT  rotation of 30 deg applied by the linear transformation matrix,
COMMENT  together with an effective bulk rotation of -15 deg applied by
COMMENT  LONPOLE (this is only possible for zenithal projections).
COMMENT
COMMENT  Similarly, the spectral axis in the primary representation, a simple
COMMENT  linear frequency axis, is recast as non-linear wavelength and redshift
COMMENT  axes in the alternates.
COMMENT
COMMENT  Although the parser handles free-format character string, integer, and
COMMENT  floating-point keyvalues (NOST 100-2.0, Sect. 5.2) most numeric values
COMMENT  in this header are given in the conventional fixed-format, with only
COMMENT  CROTA2I, EPOCHI, and VELREFI as exceptions for testing.  Most string
COMMENT  values are free-format, only those in the "A" representation are fixed.
COMMENT
COMMENT  -----------------------------------------------------------------------

COMMENT  -----------------------------------------------------------------------
COMMENT  Primary representation
COMMENT  ----------------------
COMMENT
COMMENT  In the AIPS convention CROTAn associated with the latitude axis
COMMENT  defines a bulk image rotation.  Strictly speaking, the representation
COMMENT  here is illegal since it mixes new WCS keywords (WCSAXESa and
COMMENT  WCSNAMEa) with CROTAn, an older AIPS convention keyword.  WCSAXES is
COMMENT  used here because setting NAXIS non-zero would require that this FITS
COMMENT  file contain a data section.
COMMENT
COMMENT  Several PROJPn keyrecords (non-standard) are also included here for
COMMENT  test purposes; they were never part of the AIPS convention and only
COMMENT  appeared in early drafts of the WCS papers.  Their values are not
COMMENT  actually used in the TAN projection.
COMMENT
COMMENT  -----------------------------------------------------------------------
COMMENT  The following two keyrecords are not part of the AIPS convention.
WCSAXES =                    4 / Four coordinate axes
WCSNAME =   'AIPS convention: TAN projection' / Name of this coordinate system

CRPIX1  =                513.0 / Pixel coordinate of reference point
CRPIX2  =                513.0 / Pixel coordinate of reference point
CRPIX3  =               1025.0 / Pixel coordinate of reference point
CRPIX4  =                  1.0 / Pixel coordinate of reference point

CDELT1  =                -0.10 / x-scale
CDELT2  =                 0.10 / y-scale
CROTA2  =                 15.0 / Bulk image rotation
CTYPE1  = 'RA---TAN'           / Right ascension in a gnomonic projection
CRVAL1  =                150.0 / Right ascension at the reference point
CTYPE2  = 'DEC--TAN'           / Declination in a gnomonic projection
CRVAL2  =                -30.0 / Declination at the reference point
EPOCH   =               2000.0 / Equinox of equatorial coordinates

CDELT3  =               62.5e3 / Frequency scale
CTYPE3  = 'FREQ    '           / Frequency axis
CRVAL3  =             1.3945e9 / Reference frequency
VELREF  =                  258 / Barycentric radio velocity
ALTRPIX =                  0.0 / Alternate reference pixel (not handled)
ALTRVAL =                  0.0 / Alternate reference value (not handled)
RESTFREQ=         1.42040575e9 / HI rest frequency

CDELT4  =                  1.0 / Stokes increment
CTYPE4  = 'STOKES  '           / Stokes convention axis (I, Q, U, V)
CRVAL4  =                  1.0 / Stokes I

COMMENT  As explained above, the following keyrecords are non-standard.
PROJP0  =                  0.0 / Projection parameter (not used)
PROJP1  =                  0.0 / Projection parameter (not used)
PROJP2  =                  0.0 / Projection parameter (not used)

COMMENT  -----------------------------------------------------------------------
COMMENT  Alternate representation 'A'
COMMENT  ----------------------------
COMMENT
COMMENT  This coordinate representation utilizing a PCi_ja matrix expresses the
COMMENT  above gnomonic (TAN) projection as a slant zenithal perspective
COMMENT  projection (SZP) in order to test the reading of a number of PVi_ma
COMMENT  keywords.  It also includes a linear time axis.
COMMENT
COMMENT  This representation contains only standard keywords and usage.
COMMENT
COMMENT  -----------------------------------------------------------------------
WCSAXESA=                    4 / Four coordinate axes
WCSNAMEA= 'Standard representation: SZP projection' / Name of this system

CRPIX1A =                513.0 / Pixel coordinate of reference point
CRPIX2A =                513.0 / Pixel coordinate of reference point
CRPIX3A =               1025.0 / Pixel coordinate of reference point
CRPIX4A =                  1.0 / Pixel coordinate of reference point
PC1_1A  =          0.866025404 / Linear transformation matrix element
PC1_2A  =          0.500000000 / Linear transformation matrix element
PC2_1A  =         -0.500000000 / Linear transformation matrix element
PC2_2A  =          0.866025404 / Linear transformation matrix element

CDELT1A =                -0.10 / [deg] x-scale
CUNIT1A = 'deg'                / Degree units are required
CTYPE1A = 'RA---SZP'           / Right ascension in slant zenithal projection
CRVAL1A =                150.0 / [deg] Right ascension at the reference point
CNAME1A = 'Right ascension (J2000)' / Axis name for labelling purposes
CDELT2A =                 0.10 / [deg] y-scale
CUNIT2A = 'deg'                / Degree units are required
CTYPE2A = 'DEC--SZP'           / Declination in a slant zenithal projection
CRVAL2A =                -30.0 / [deg] Declination at the reference point
CNAME2A = 'Declination (J2000)' / Axis name for labelling purposes
PV1_1A  =                  0.0 / [deg] Native longitude of the reference point
PV1_2A  =                 90.0 / [deg] Native latitude  of the reference point
PV1_3A  =                195.0 / [deg] LONPOLEa by another name (precedence)
PV1_4A  =                999.0 / [deg] LATPOLEa by another name (precedence)
PV2_1A  =                  0.0 / SZP distance, in spherical radii
PV2_2A  =                180.0 / [deg] SZP P-longitude
PV2_3A  =                 45.0 / [deg] SZP P-latitude
LONPOLEA=                195.0 / [deg] Native longitude of the NCP
LATPOLEA=                999.0 / [deg] Native latitude of the NCP
RADESYSA= 'FK5'                / Mean equatorial coordinates, IAU 1984 system
EQUINOXA=               2000.0 / [yr] Equinox of equatorial coordinates

CDELT3A =      -9.635265432e-6 / [m] Wavelength scale
CUNIT3A = 'm'                  / Wavelength units
CTYPE3A = 'WAVE-F2W'           / Frequency axis expressed as wavelength
CRVAL3A =          0.214982042 / [m] Reference wavelength
CNAME3A = 'Wavelength'         / Axis name for labelling purposes
CRDER3A =              1.0e-11 / [m] Wavelength calibration, random error
CSYER3A =              1.0e-12 / [m] Wavelength calibration, systematic error
RESTFRQA=         1.42040575e9 / [Hz] HI rest frequency
RESTWAVA=          0.211061141 / [m] HI rest wavelength
SPECSYSA= 'BARYCENT'           / Reference frame of spectral coordinates
SSYSOBSA= 'TOPOCENT'           / Reference frame of observation
VELOSYSA=               1500.0 / [m/s] Bary-topo velocity towards the source
SSYSSRCA= 'LSRK'               / Reference frame of source redshift
ZSOURCEA=               0.0025 / Redshift of the source

CDELT4A =                  1.0 / [s] Time scale
CUNIT4A = 's'                  / Time units
CTYPE4A = 'TIME''x'''          / String value and comment containing quotes (')
CRVAL4A =                 -2e3 / [s] Time at the reference point
CNAME4A = 'Time offset'        / Axis name for labelling purposes
PS4_0A  = 'UTC'                / Time measurement system

COMMENT  -----------------------------------------------------------------------
COMMENT  Alternate representation 'I'
COMMENT  ----------------------------
COMMENT
COMMENT  In the IRAF representation, if one CDi_ja keyword is given then the
COMMENT  default is zero for any that are omitted.  CDELTia and CROTAn
COMMENT  keywords are included for informational purposes only and otherwise
COMMENT  are to be ignored.
COMMENT
COMMENT  Strictly speaking, alternate version codes are not defined for CROTAn
COMMENT  (e.g. CROTA2I below), EPOCHa or VELREFa.  The latter two should be
COMMENT  overridden by EQUINOXa and SPECSYSa even though they occur later in
COMMENT  the header.
COMMENT
COMMENT  While encoding a TAN projection as SZP may be good for testing
COMMENT  purposes, approximating it by a zenithal polynomial projection (ZPN)
COMMENT  is even better!  The polynomial coefficients are accurate to the
COMMENT  number of decimal places given (but don't ever do this in a real
COMMENT  header).
COMMENT
COMMENT  -----------------------------------------------------------------------
WCSAXESI=                    3 / Three coordinate axes
WCSNAMEI= 'IRAF representation: ZPN projection' / Name of this coordinate system

CRPIX1I =                513.0 / Pixel coordinate of reference point
CRPIX2I =                513.0 / Pixel coordinate of reference point
CRPIX3I =               1025.0 / Pixel coordinate of reference point
CD1_1I  =         -0.086602540 / Linear transformation matrix element
CD1_2I  =         -0.050000000 / Linear transformation matrix element
CD2_1I  =         -0.050000000 / Linear transformation matrix element
CD2_2I  =          0.086602540 / Linear transformation matrix element
CD3_3I  =      -4.565153674e-5 / Redshift scale

CDELT1I =                -0.10 / [deg] x-scale (informational)
CUNIT1I = 'deg'                / Degree units are required
CTYPE1I = 'RA---ZPN'           / Right ascension in slant zenithal projection
CRVAL1I =                150.0 / [deg] Right ascension at the reference point
CNAME1I = 'Right ascension (J2000)' / Axis name for labelling purposes
CDELT2I =                 0.10 / [deg] y-scale (informational)
CUNIT2I = 'deg'                / Degree units are required
CTYPE2I = 'DEC--ZPN'           / Declination in a slant zenithal projection
CRVAL2I =                -30.0 / [deg] Declination at the reference point
CNAME2I = 'Declination (J2000)' / Axis name for labelling purposes
PV2_1I  =          1.000000000 / ZPN P1  coefficient for approximating TAN
PV2_3I  =          0.333333333 / ZPN P3  coefficient for approximating TAN
PV2_5I  =          0.133333333 / ZPN P5  coefficient for approximating TAN
PV2_7I  =          0.053968254 / ZPN P7  coefficient for approximating TAN
PV2_9I  =          0.021869489 / ZPN P9  coefficient for approximating TAN
PV2_11I =          0.008863236 / ZPN P11 coefficient for approximating TAN
PV2_13I =          0.003592128 / ZPN P13 coefficient for approximating TAN
PV2_15I =          0.001455834 / ZPN P15 coefficient for approximating TAN
PV2_17I =          0.000590027 / ZPN P17 coefficient for approximating TAN
PV2_19I =          0.000239129 / ZPN P19 coefficient for approximating TAN
LONPOLEI=                195.0 / [deg] Native longitude of the NCP
LATPOLEI=                999.0 / [deg] Native latitude of the NCP
RADESYSI= 'FK5'                / Mean equatorial coordinates, IAU 1984 system
EQUINOXI=               2000.0 / [yr] Equinox of equatorial coordinates

CDELT3I =      -4.565153674e-5 / Redshift scale (informational)
CTYPE3I = 'ZOPT-F2W'           / Frequency axis expressed as redshift
CRVAL3I =          0.018577089 / Reference redshift
CNAME3I = 'Redshift'           / Axis name for labelling purposes
CRDER3I =              5.0e-11 / Redshift calibration, random error
CSYER3I =              5.0e-12 / Redshift calibration, systematic error
RESTFRQI=         1.42040575e9 / [Hz] HI rest frequency
RESTWAVI=          0.211061141 / [m] HI rest wavelength
SSYSOBSI= 'TOPOCENT'           / Reference frame of observation
VELOSYSI=               1500.0 / [m/s] Bary-topo velocity towards the source
SSYSSRCI= 'LSRK'               / Reference frame of source redshift
VSOURCEI=             748544.3 / [m/s] Apparent radial velocity of the source

COMMENT  As explained above, the following keyrecords are non-standard.
CROTA2I =     30.0             / [deg] Bulk image rotation
EPOCHI  =   2000               / [yr] Equinox of equatorial coordinates
VELREFI =    258               / Barycentric radio velocity

COMMENT  -----------------------------------------------------------------------
COMMENT
COMMENT  The following keywords have no alternates; they apply to each
COMMENT  coordinate representation, even that of the AIPS convention for
COMMENT  which, strictly, only the DATE-OBS keyword should be recognized.
COMMENT
COMMENT  The keycomments for OBSGEO-Y and OBSGEO-Z have been omitted
COMMENT  deliberately for test purposes.
COMMENT
COMMENT  -----------------------------------------------------------------------
OBSGEO-X=           -4554231.9 / [m] ITRF observatory coordinates
OBSGEO-Y=            2816758.3 /
OBSGEO-Z=           -3454035.9
MJD-OBS =            35883.625 / [d] MJD at start of observation (UTC)
MJD-AVG =            35883.700 / [d] MJD mid-observation time (UTC)
DATE-OBS= '1957-02-14T15:00:00'/ UTC date corresponding to MJD-OBS
DATE-AVG= '1957-02-14T16:48:00'/ UTC date corresponding to MJD-AVG

COMMENT  -----------------------------------------------------------------------
COMMENT
COMMENT  The following look a little like WCS keywords but should be discarded:
COMMENT
COMMENT  -----------------------------------------------------------------------
COMMENT
CRPIXELS=                  0.0 / Furphy, not CRPIXja
PCATALOG=                  0.0 / Furphy, not PCi_ja
CDELTA  =                  0.0 / Furphy, not CDELTia
CDI_JA  =                  0.0 / Furphy, not CDi_ja
CUNITARY=                  0.0 / Furphy, not CUNITia
CTYPEXY =                  0.0 / Furphy, not CTYPEia
CRVALUE =                  0.0 / Furphy, not CRVALia
CNAME   =                  0.0 / Furphy, not CNAMEia
PV1_1AL =                  0.0 / Furphy, not PVi_ma
PV02_1  =                  0.0 / Furphy, not PVi_ma (leading zero on i)
PV2_01  =                  0.0 / Furphy, not PVi_ma (leading zero on m)
PSEUDO  =                  0.0 / Furphy, not PSi_ma
EPOCHAL =                  0.0 / Furphy, not EPOCH
VELREF1 =                  0.0 / Furphy, not VELREF

COMMENT  -----------------------------------------------------------------------
COMMENT
COMMENT  The following illegal WCS keyrecords should be rejected by wcspih():
COMMENT
COMMENT  -----------------------------------------------------------------------
COMMENT
CTYPE1  =                  0.0 / Illegal, CTYPEia must be string type
PV2_1   =                '0.0' / Illegal, PVi_ma must be numeric
PV2_1    =                 0.0 / Illegal, "= " not in columns 9-10
EPOCH   = '2000.0'             / Illegal, EPOCH must be numeric

COMMENT  -----------------------------------------------------------------------
COMMENT
COMMENT  The following keyrecords are for testing fitshdr():
COMMENT
COMMENT  -----------------------------------------------------------------------
COMMENT
NOVLSPEC=1                     / Not a valid value specifier (no " " in col. 10)
INT32   =          00000012345 / Not a 64-bit integer
INT32   =     -000000123456789 / Not a 64-bit integer
INT32   =          -2147483648 / Not a 64-bit integer (INT_MIN)
INT32   =           2147483647 / Not a 64-bit integer (INT_MAX)
INT32   =    0000000000000000000000000000000000012345 / Not a very long integer
INT32   =       -000000000000000000000000000123456789 / Not a very long integer
INT64   =          -2147483649 / 64-bit integer (INT_MIN - 1)
INT64   =          +2147483648 / 64-bit integer (INT_MAX + 1)
INT64   =  +100000000000000000 / 64-bit integer
INT64   =  -876543210987654321 / 64-bit integer
INT64   = -9223372036854775808 / Not a very long integer (LONG_MIN)
INT64   = +9223372036854775807 / Not a very long integer (LONG_MAX)
INT64   = -000000000000000000000000000000876543210987654321 / 64-bit integer
INTVL   = -9223372036854775809 / Very long integer (LONG_MIN - 1)
INTVL   = +9223372036854775808 / Very long integer (LONG_MAX + 1)
INTVL   = -100000000000000000000000000000876543210987654321 / Very-long integer
INTVL   = +123456789012345678901234567890123456789012345678901234567890123456789
INTVL   = 1234567890123456789012345678901234567890123456789012345678901234567890
COMPLEX =            (137, -1) / An integer complex keyvalue
COMPLEX =         (10e5, -0.1) / A floating point complex keyvalue
GOODSTR =     '"G''DAY"  '     / A valid string keyvalue
BLANKS  =   '              '   / An all-blank string equals a single blank
LONGSTR = 'The loooooongest possible non-continued string value, 68 characters.'
CONTSTR = 'The quick brown & ' / Continued string, with & (will be stripped off)
CONTINUE  'fox jumps over the'   Relaxed handling of invalid keycomment
CONTINUE      ' lazy dog'
PI      =  3.14159265358929323 / [!?] is not a valid units specification
CONTINUE      'Not a valid string continuation'

COMMENT  The following are all deliberate syntax errors:
BadKey  =                  111 / Example of a syntax error, invalid keyword
BADKEY! =                  222 / Example of a syntax error, invalid keyword
BAD KEY =                  333 / Example of a syntax error, invalid keyword
BADSTR  =                  BAD / Example of a syntax error, invalid keyvalue
BADSTR  =                "BAD" / Example of a syntax error, invalid keyvalue
BADSTR  =          'BAD' 'STR' / Example syntax error, invalid string keyvalue
BADFLT  =              49 + 94 / Example of a syntax error, invalid keyvalue
BADFLT  =                 1D99 / Example of a syntax error, invalid keyvalue
BADCOMM =                  999   Example of a syntax error, invalid keycomment
END     =            'ILLEGAL' / Illegal END keyrecord

END

DANGLE1  Keyrecords following the END keyrecord should be ignored.
DANGLE2  
DANGLE3