function gt_eitfilter, item, header=header, string=string, $
short=short, spaces=spaces
;
;+
;NAME:
; gt_EITfilter
;PURPOSE:
; To extract the EIT filter number optionally return a string mnemonic.
;CALLING SEQUENCE:
; print, gt_EITfilter() ;to list the mnemonics
; filters = gt_EITfilter(index)
; filters = gt_EITfilter(roadmap)
; filters = gt_EITfilter(index.eit, /string)
; filters = gt_EITfilter(index, /short)
; filters = gt_EITfilter(indgen(4)) ;used with menu selection
; filters = gt_EITfilter(index.eit, /space) ;put single space before string
; filters = gt_EITfilter(index.eit, space=3) ;put 3 spaces
;METHOD:
; The input can be a vector or a scalar.
; The input can be a integer or a structure.
; The structure can be the index, or roadmap, or observing log.
; The integer value corresponding to the EIT definition. To
; check, use print,gt_EITfilter()
;
;INPUT:
; item - A integer or structure, which can be scalar or an array. If this
; value is not present, a help summary is printed with the filter
; names used.
;OPTIONAL INPUT:
; string - If present, return the string mnemonic (long notation)
; short - If present, return the short string mnemonic
; spaces - If present, place that many spaces before the output
; string.
;OUTPUT:
; returns - The filter selected, a integer value or a string
; value depending on the switches used. It is a vector
; if the input is a vector
;OPTIONAL OUTPUT:
; header - A string that describes the item that was selected
; to be used in listing headers.
;HISTORY:
; 10-Jun-1995, J. R. Lemen (LPARL), Written
;-
;
header_array = ['Filter', 'Filt'] ; Long and Short versions
conv2str = ['???','Filter 1 ','Filter 2 ','Bot blocked','Open ','Top blocked','???'];11 characters
conv2str = ['???','1500A Al ','3000A Al/C ','Bot blocked','Open ','Top blocked','???'];11 characters
conv2short = ['???','Al.1', 'Al.3', 'Bot ', 'Op ', 'Top ', '???']; 4 Characters
; 0 1 2 3 4
;
if (n_params(0) eq 0) then begin
print, 'String Output for gt_EITfilter'
for i=0,4 do print, i, conv2str(i+1), conv2short(i+1), format='(i3, 2x, a11, 2x, a6)'
return, ''
end
;
siz = size(item)
typ = siz( siz(0)+1 )
if (typ eq 8) then begin
;Check to see if an index was passed or a roadmap or observing
;log entry was passed
out = str_tagval(item,'filter',level=level)
if (level ne 0) and (level ne 1) then begin
on_error,2 ; Return the calling program
message,'Invalid Structure type' ; Stop with an error
endif
endif else begin
out = item
end
;
out = gt_conv2str(out+1, conv2str, conv2short, header_array, header=header, $
string=string, short=short, spaces=spaces)
siz = size(out)
typ = siz( siz(0)+1 )
if typ ne 7 then out = out - 1 ; Subtract off the 1 that appears above
;
return, out
end
Last revised: - Wed May 9 21:45:21 2007- F. Auchère