fxbhelp.pro
来自「basic median filter simulation」· PRO 代码 · 共 127 行
PRO
127 行
PRO FXBHELP,UNIT;+; NAME: ; FXBHELP; Purpose : ; Prints short description of columns in a FITS binary table.; Explanation : ; Prints a short description of the columns in a FITS binary table to the; terminal screen.; Use : ; FXBHELP, UNIT; Inputs : ; UNIT = Logical unit number of file opened by FXBOPEN.; Opt. Inputs : ; None.; Outputs : ; None.; Opt. Outputs: ; None.; Keywords : ; None.; Calls : ; FXBFIND, FXBFINDLUN, FXPAR; Common : ; Uses common block FXBINTABLE--see "fxbintable.pro" for more; information.; Restrictions: ; The file must have been opened with FXBOPEN.; Side effects: ; Certain fields may be truncated in the display.; Category : ; Data Handling, I/O, FITS, Generic.; Prev. Hist. : ; William Thompson, Feb. 1992, from TBHELP by W. Landsman.; Written : ; William Thompson, GSFC, February 1992.; Modified : ; Version 1, William Thompson, GSFC, 12 April 1993.; Incorporated into CDS library.; Version 2, William Thompson, GSFC, 12 May 1993.; Modified to not write to a logical unit number assigned to the; terminal. This makes it compatible with IDL for Windows.; Version : ; Version 2, 12 May 1993.; Converted to IDL V5.0 W. Landsman September 1997;-;@fxbintable ON_ERROR,2;; Check the number of parameters.; IF N_PARAMS() LT 1 THEN MESSAGE,'Syntax: FXBHELP, UNIT';; Get the header.; ILUN = FXBFINDLUN(UNIT) HEADER = HEAD[*,ILUN];; Get the extension name.; EXTNAME = FXPAR(HEADER,'EXTNAME') IF !ERR LT 0 THEN EXTNAME = '';; Print the labels.; PRINT,' ' PRINT,'FITS Binary Table: ' + EXTNAME PRINT,'Table contains ' + STRTRIM(TFIELDS[ILUN],2) + $ ' columns, by ' + STRTRIM(NAXIS2[ILUN],2) + ' rows' PRINT,' ' T_FORMAT = 26 ;Starting column for Format/Size T_UNITS = 46 ;Starting column for Units T_NULL = 58 ;Starting column for Null PRINT,FORMAT="('Col',2X,'Name',T" + STRTRIM(T_FORMAT,2) + $ ",'Type Size',T" + STRTRIM(T_UNITS,2) + ",'Units',T" + $ STRTRIM(T_NULL,2) + ",6X,'Null')" PRINT,' ';; Get the values of the information to be printed.; FXBFIND,HEADER,'TDIM', COL,TDIM0, N_FOUND,'' FXBFIND,HEADER,'TUNIT',COL,TUNIT0,N_FOUND,''; FXBFIND,HEADER,'TNULL',COL,TNULL0,N_FOUND SNULL = STRARR(TFIELDS[ILUN]) IF N_FOUND GT 0 THEN FOR I = 0,N_ELEMENTS(COL)-1 DO $ SNULL[COL[I]-1] = STRTRIM(TNULL0[I],2);; Print the column information.; FOR ICOL = 0,TFIELDS[ILUN]-1 DO BEGIN CASE FORMAT[ICOL,ILUN] OF 'L': TYPE0 = 'Log' 'A': TYPE0 = 'Asc' 'B': TYPE0 = 'Byt' 'I': TYPE0 = 'Int' 'J': TYPE0 = 'Lng' 'E': TYPE0 = 'Flt' 'D': TYPE0 = 'Dbl' 'C': TYPE0 = 'Cmp' 'M': TYPE0 = 'DbC' 'X': TYPE0 = 'Bit' ENDCASE IF MAXVAL[ICOL,ILUN] GT 0 THEN BEGIN ELEM = MAXVAL[ICOL,ILUN] IF FORMAT[ICOL,ILUN] EQ 'M' THEN ELEM = ELEM/2 ELEM = "< " + STRTRIM(ELEM,2) END ELSE IF TDIM0[ICOL] NE '' THEN BEGIN ELEM = TDIM0[ICOL] END ELSE BEGIN ELEM = N_ELEM[ICOL,ILUN] IF FORMAT[ICOL,ILUN] EQ 'M' THEN ELEM = ELEM/2 ELEM = STRTRIM(ELEM,2) ENDELSE PRINT,ICOL+1,TTYPE[ICOL,ILUN],TYPE0,ELEM, $ TUNIT0[ICOL],SNULL[ICOL], FORMAT='(I3,2X,A,T' + $ STRTRIM(T_FORMAT-2,2) + ',2X,A3,2X,A,T' + $ STRTRIM(T_UNITS-2,2) + ',2X,A,T' + $ STRTRIM(T_NULL-2,2) + ',2X,A10)' ENDFOR PRINT,' '; RETURN END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?