📄 fthelp.pro
字号:
pro fthelp,h,TEXTOUT=textout;+; NAME:; FTHELP; PURPOSE:; Routine to print a description of a FITS ASCII table extension;; CALLING SEQUENCE:; FTHELP, H, [ TEXTOUT = ];; INPUTS:; H - FITS header for ASCII table extension, string array;; OPTIONAL INPUT KEYWORD; TEXTOUT - scalar number (0-7) or string (file name) determining; output device (see TEXTOPEN). Default is TEXTOUT=1, output ; to the user's terminal ;; NOTES:; FTHELP checks that the keyword XTENSION equals 'TABLE' in the FITS; header.;; SYSTEM VARIABLES:; Uses the non-standard system variables !TEXTOUT and !TEXTUNIT; which must be defined (e.g. with ASTROLIB) prior to compilation.; PROCEDURES USED:; REMCHAR, SXPAR(), TEXTOPEN, TEXTCLOSE, ZPARCHECK;; HISTORY:; version 1 W. Landsman Jan. 1988; Add TEXTOUT option, cleaner format W. Landsman September 1991; TTYPE value can be longer than 8 chars, W. Landsman August 1995; Remove calls to !ERR, some vectorization W. Landsman February 2000 ; Slightly more compact display W. Landsman August 2005;- compile_opt idl2 On_error,2 ;Return to caller if N_params() EQ 0 then begin print,'Syntax - FTHELP, hdr, [ TEXTOUT = ]' return endif zparcheck,'FTHELP',h,1,7,1,'Table Header' ;Make sure a string array n = sxpar( h, 'TFIELDS' , Count = N_TFields) if N_TFields EQ 0 then message, $ 'ERROR - FITS Header does not include required TFIELDS keyword' if strtrim(sxpar(h,'XTENSION'),2) ne 'TABLE' then $ message,'WARNING - Header is not for a FITS Table',/INF if not keyword_set(TEXTOUT) then textout = 1 textopen,'fthelp',TEXTOUT=textout naxis = sxpar( h, 'NAXIS*') printf,!TEXTUNIT,'FITS ASCII Table: ' +$ 'Size ',strtrim(naxis[0],2),' by ',strtrim(naxis[1],2) extname = sxpar(h,'EXTNAME', Count=N_ext) if N_ext GT 0 then printf,!TEXTUNIT, 'Extension Name: ',sxpar(h,'EXTNAME') extver = sxpar(h, 'EXTVER', Count = N_extver) if N_extver GT 0 then printf,!TEXTUNIT,'Version: ',extver printf,!TEXTUNIT,' ' printf,!TEXTUNIT, $ 'Field Name Unit Format Column' tbcol = intarr(n) tform = strarr(n) & tunit = tform & ttype =tform name = strmid(h,0,5) number = strtrim(strmid(h,5,3),2) value = strtrim(strmid(h,11,20),2) for i = 1, N_elements(h)-1 do begin case name[i] of 'TTYPE': ttype[fix(number[i]-1)] = value[i] 'TFORM': tform[fix(number[i]-1)] = value[i] 'TUNIT': tunit[fix(number[i]-1)] = value[i] 'TBCOL': tbcol[fix(number[i]-1)] = fix(value[i]) 'END ': goto, DONE ELSE : end endforDONE: ;Done reading FITS header ttype = strtrim(ttype,2) & remchar,ttype,"'" remchar,tunit,"'" remchar,tform,"'" for i = 0,n-1 do printf,!TEXTUNIT,i+1,ttype[i],tunit[i],tform[i],tbcol[i], $ f='(I5,T9,A,T30,A,T47,A,T55,I8)' textclose,TEXTOUT=textout return end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -