/usr/share/gnudatalanguage/astrolib/fxhclean.pro is in gdl-astrolib 2018.02.16+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 | PRO FXHCLEAN,HEADER,ERRMSG=ERRMSG
;+
; NAME:
; FXHCLEAN
; Purpose :
; Removes required keywords from FITS header.
; Explanation :
; Removes any keywords relevant to array structure from a FITS header,
; preparatory to recreating it with the proper values.
; Use :
; FXHCLEAN, HEADER
; Inputs :
; HEADER = FITS header to be cleaned.
; Opt. Inputs :
; None.
; Outputs :
; HEADER = The cleaned FITS header is returned in place of the input
; array.
; Opt. Outputs:
; None.
; Keywords :
; ERRMSG = If defined and passed, then any error messages will be
; returned to the user in this parameter rather than
; depending on the MESSAGE routine in IDL. If no errors are
; encountered, then a null string is returned. In order to
; use this feature, ERRMSG must be defined first, e.g.
;
; ERRMSG = ''
; FXHCLEAN, ERRMSG=ERRMSG, ...
; IF ERRMSG NE '' THEN ...
;
; Calls :
; SXDELPAR, FXPAR
; Common :
; None.
; Restrictions:
; HEADER must be a string array containing a properly formatted FITS
; header.
; Side effects:
; Warning: when cleaning a binary table extension header, not all of the
; keywords pertaining to columns in the table may be removed.
; Category :
; Data Handling, I/O, FITS, Generic.
; Prev. Hist. :
; William Thompson, Jan 1992.
; Written :
; William Thompson, GSFC, January 1992.
; Modified :
; Version 1, William Thompson, GSFC, 12 April 1993.
; Incorporated into CDS library.
; Version 2, William Thompson, GSFC, 31 May 1994
; Added ERRMSG keyword.
; Version 3, William Thompson, GSFC, 23 June 1994
; Modified so that ERRMSG is not touched if not defined.
; Version 4, William Thompson, GSFC, 30 December 1994
; Added TCUNIn to list of column keywords to be removed.
; Version :
; Version 4, 30 December 1994
; Converted to IDL V5.0 W. Landsman September 1997
;-
;
ON_ERROR, 2
;
; Check the number of input parameters.
;
IF N_PARAMS() NE 1 THEN BEGIN
MESSAGE = 'Syntax: FXHCLEAN, HEADER'
IF N_ELEMENTS(ERRMSG) NE 0 THEN BEGIN
ERRMSG = MESSAGE
RETURN
END ELSE MESSAGE, MESSAGE
ENDIF
;
; Check the type of HEADER.
;
S = SIZE(HEADER)
IF (S[0] NE 1) OR (S[2] NE 7) THEN BEGIN
MESSAGE = 'HEADER must be a (one-dimensional) string array'
IF N_ELEMENTS(ERRMSG) NE 0 THEN BEGIN
ERRMSG = MESSAGE
RETURN
END ELSE MESSAGE, MESSAGE
ENDIF
;
; Start removing the various keywords relative to the structure of the FITS
; file.
;
SXDELPAR,HEADER,['SIMPLE','EXTEND','XTENSION','BITPIX','PCOUNT', $
'GCOUNT','THEAP']
;
; Get the number of axes as stored in the header. Then, remove it, and any
; NAXISnnn keywords implied by it.
;
NAXIS = FXPAR(HEADER,'NAXIS')
SXDELPAR,HEADER,'NAXIS'
IF NAXIS GT 0 THEN FOR I=1,NAXIS DO $
SXDELPAR,HEADER,'NAXIS'+STRTRIM(I,2)
;
; Get the number of columns in a binary table. Remove any column definitions.
;
TFIELDS = FXPAR(HEADER,'TFIELDS')
SXDELPAR,HEADER,'TFIELDS'
IF TFIELDS GT 0 THEN FOR I=1,TFIELDS DO SXDELPAR,HEADER, $
['TFORM','TTYPE','TDIM','TUNIT','TSCAL','TZERO', $
'TNULL','TDISP','TDMIN','TDMAX','TDESC','TROTA', $
'TRPIX','TRVAL','TDELT','TCUNI'] + STRTRIM(I,2)
;
IF N_ELEMENTS(ERRMSG) NE 0 THEN ERRMSG = ''
RETURN
END
|