This page was created by the IDL library routine
mk_html_help. For more information on
this routine, refer to the IDL Online Help Navigator
or type:
? mk_html_help
at the IDL command line prompt.
Last modified: Wed Aug 13 15:31:03 1997.
NAME : CATRD_DAILY
PURPOSE : Read the daily catalogs and return entries as requested output
CATEGORY :
EXPLANATION :
SYNTAX :
EXAMPLES : none
CALLED BY :
CALLS TO : none
ARGUMENTS :
DATE If present, a string date in the format "yyyy/mm/dd"
of the daily catalog to be searched.
Default is the date of the most recent catalog.
KEYWORDS :
YESTER If present, indicates the number of 'days/catalogs' backward
in time you want as the catalog input. Note that this is
really the number of backward catalogs, so days may not
line up as expected, but they should.
New feature: print,catrd_daily("y=3") for three days ago.
NO_NEXT If present and set then return a null string if the specified
date does not have a catalog.
SHORT_TEXT If present and set and TEXT is the output mode then the
displayed text will fit in 80 characters w/ less info.
RECORDS If present, then return catalog file record numbers matching
the entries in the returned variable. This is the VMS
record number.
LONG If present and set, then all catalog entries are considered,
including duplicates and entries are left in unsorted,
reform order.
RAW If present and set , return the catalog entries as the raw
data structure instead of the default of a strarr of text
entries.
NOTE: the default is to return a string array of entries.
FILENAME If present, then return the fits file names matching
the entries in the returned variable.
TAI If present, then return the TAI time matching
the entries in the returned variable.
OUTPUTS :
Return a string arrar of catalog entries, unless the /RAW keyword
is set then return raw structure of entries.
If the /LONG keyword is set then return all catalog entries and
do not sort.
If any value was
COMMON : none
RESTRICTIONS: none
SIDE EFFECTS: none
PROJECT : SOHO - EIT
HISTORY : V1, Elaine Einfalt (HSTX)
1996 March 31, added /NO_NEXT keyword
1996 May 13, allow YESTER to use numerical values
CONTACT : eit@xanado.nascom.nasa.gov
(See /service/soho-archive/home/solarsoft//soho/eit/idl/obsolete//catrd_daily.pro)
NAME : CAT_DIRECTORY
PURPOSE : Locate requested catalog
CATEGORY : EIT Catalog
EXPLANATION :
SYNTAX :
EXAMPLES : none
CALLED BY : EXP
CALLS TO : none
ARGUMENTS :
IN_DATE : If present, a string date in the format "yyyy/mm/dd"
of the daily catalog to be searched.
Default is the date of the most recent catalog.
New feature for the EIT_DISPLAY program is that the DATE
argument can be used to input a psuedo YESTER keyword as
a string. Using "/Y" or "Y=", do not spell out YESTER
(ex: print,catrd_daily("/y") for yesterday or
print,catrd_daily("y=3") for three days ago.
KEYWORDS
YESTER If present, indicates the number of 'days/catalogs' backward
in time you want as the catalog input. Note that this is
really the number of backward catalogs, so days may not
line up as expected, but they should.
CUR_DIR_CNT : Return the index of DIR for the selected catalog.
USE_LAST_REC : Return which record is to be displayed first.
0 = once cat file is found display first rec
1 = once cat file is found display last rec
NO_NEXT : if present, don't just supply the next available
catalog, return a null string.
DIR_CNT : Return the number of catalogs found.
OUTPUTS :
Returns the results of the findfile on the catalogs found.
COMMON : none
RESTRICTIONS: none
SIDE EFFECTS: none
PROJECT : SOHO - EIT
HISTORY : V1, Elaine Einfalt (HSTX)
1996 march 31, added /NO_NEXT
1996 May 13, allow YESTER pseudo format in the DATE argument
1996 May 24, Sam Freeland - for UNIX, read dirs from file
1997 Jan 16, Sam Freeland - handle all cats in $EIT_QLK_CATALOG
1997 Jan 21, J. Newmark - handle specific is_gsfcvms case
(including not all SSW), and generic VMS installation
CONTACT : eit@xanado.nascom.nasa.gov
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//cat_directory.pro)
NAME :
CAT_OPEN
PURPOSE : Open and associate catalog to structure.
CATEGORY : EIT Catalog
EXPLANATION :
SYNTAX :
EXAMPLES : none
CALLED BY :
CALLS TO : none
ARGUMENTS : none
KEYWORDS :
FILE : A string, the catalog file name
LONG : When set, don't sort or remove duplicates in catalog
OUTPUTS :
Returns the associated catalog
LUN : the logical unit that is associated with the cat file
N_REC : the total number of cat entries in the catalog, including
duplicates but excluding the header.
U_REC : the number of cat entries to be used. If /LONG is set
this is the same as N_REC
RECORDS : an long array of the records of the catalog in the selected
order (or unordered).
COMMON : none
RESTRICTIONS: none
SIDE EFFECTS: none
PROJECT : SOHO - EIT
HISTORY : V1, Elaine Einfalt (HSTX)
: V1.1 D.M. fecit, to account for different lengths of
structures
: V1.2 JSN fixed byte padding, necessary for UNIX version
6/12/96
: V2.1 Einfalt reduced pad to make room for 24-char SCI_OBJ
Since SCI_OBJ can be all 0B, it's a direct steal.
CONTACT : eit@xanado.nascom.nasa.gov
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//cat_open.pro)
NAME : CAT_TO_TEXT PURPOSE : Convert "raw" catalog entries into string array CATEGORY : EXPLANATION : SYNTAX : EXAMPLES : none CALLED BY : CALLS TO : none ARGUMENTS : none KEYWORDS : none OUTPUTS : none COMMON : none RESTRICTIONS: none SIDE EFFECTS: none PROJECT : SOHO - EIT HISTORY : V1, Elaine Einfalt (HSTX) 1996 March 20, einfalt - modified filter labels to mathc reality 1996 May einfalt - modification to text printout display, added summing info, changed pixels to blocks, added readout area change order of some things, added /SHORT. 1997 March 11, einfalt - handle decimal exposure times for version 2.0 and above CONTACT : eit@xanado.nascom.nasa.gov
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//cat_to_text.pro)
Name: eitoversxt
Purpose: draw EIT contours on SXT image; optionally overlay EIT 32x32 grid
Calling Sequence:
History: proto-version, 23-jan-1996
Restrictions:
only full sun EIT and SXT , simple FITS for now
TODO - rotate SXT image to input time
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eitoversxt.pro)
NAME :
EIT_CATRD
PURPOSE : Read the daily catalogs and return entries as rEQuested output
CATEGORY : Catalogs
EXPLANATION : This function reads the daily QKL catalogs or the single
Level Zero catalog.
SYNTAX : list = eit_catrd(in_date, group=group, interactive=interactive,
date, long=long, raw=raw, yester=yester, lz=lz,
no_next=no_next, short=short, input_file=input_file,
records=records, filename=filename, tai=tai,
start_date=start_date,stop_date=stop_date,object=object,
wave=wave,filter=filter,nx=nx,ny=ny,xbin=xbin,ybin=ybin,
timerange=timerange)
EXAMPLES : return string listing of all LZ 304 images from Jun 2, 1996
to June 22, 1996 taken in the clear filter and return
filenames,
IDL> file=''
IDL> list=eit_catrd(/lz,start_date='2-jun-96',stop_date=$
'22-jun-96',wave='304',filter='clear',file=file)
CALLED BY : top level
CALLS TO : timegrid, str_copy_tags, cat_open, cat_directory,
cat_to_text, where_arr, anytim2utc, utc2doy, doy2utc,
xmessage, utc2tai
ARGUMENTS :
DATE IF present, a string date in the format "yyyy/mm/dd"
of the daily catalog to be searched.
Default is the date of the most recent catalog.
KEYWORDS :
INPUT_FILE IF present, this is the catalog which is read in.
This may be any of the catalog: "merged", QKL daily or
LZ daily. Default is the "merged" catalog.
LZ IF present read from the merged Level-zero catalog
YESTER IF present, indicates the number of 'days/catalogs' backward
in time you want as the catalog input. Note that this is
really the number of backward catalogs, so days may not
line up as expected, but they should.
New feature: print,catrd_daily("y=3") for three days ago.
NO_NEXT IF present and set THEN return a null string IF the specIFied
date does not have a catalog.
SHORT_TEXT IF present and set and TEXT is the output mode then the
displayed text will fit in 80 characters w/ less info.
RECORDS IF present, then return catalog file record numbers matching
the entries in the returned variable. This is the VMS
record number.
LONG IF present and set, then all catalog entries are considered,
including duplicates and entries are left in unsorted,
reform order.
RAW IF present and set , return the catalog entries as the raw
data structure instead of the default of a strarr of text
entries.
NOTE: the default is to return a string array of entries.
FILENAME IF present, then return the fits file names matching
the entries in the returned variable.
TAI IF present, then return the TAI time matching
the entries in the returned variable.
START_DATE IF present and a LZ listing then sets start date of list
STOP_DATE IF prsent and a LZ listing then sets end date of list
WAVE Return matches from LZ/QKL catalog (171,195,284,304 or 1-4)
FILTER Return matches from LZ/QKL catalog (0-4 or one of:
['AL+1', 'BLK EST', 'CLEAR', 'BLK WST', 'AL+2' ] )
NX Return matches from LZ/QKL catalog for xsize in pixels
NY Return matches from LZ/QKL catalog for ysize in pixels
XBIN Return matches from LZ/QKL catalog for x summing in pixels
YBIN Return matches from LZ/QKL catalog for y summing in pixels
TIMERANGE 2 element vector containing start and stop dates
OBJECT IF present select object, dark, cal lamp, full FOV,
partial FOV
CAT_STRUCT An alternate input, a raw catalog structure previsouly
created - useful to get search tools, if input is
a index structure will return output structure not text
SS Return subscripts of input index structure instead of
selected structure
OUTPUTS :
Return a string arrar of catalog entries, unless the /RAW keyword
is set then return raw structure of entries.
IF the /LONG keyword is set then return all catalog entries and
do not sort.
IF input is index structure returns output structure
COMMON : cat_params, cat_par2, helpshare
RESTRICTIONS: none
SIDE EFFECTS: none
PROJECT : SOHO - EIT
HISTORY : V1, Elaine Einfalt (HSTX)
1996 March 31, added /NO_NEXT keyword
1996 May 13, allow YESTER to use numerical values
V2, Jeff Newmark - complete revision, LZ catalog, widget
interface, etc...
1996 Dec 23 - add selection over times as well as dates
J Newmark
1996 Jan 15 - changed date variable to indate due to
conflict with IDLASTRO function date!
1996 Jan 16 - use eit_fxpar to obtain selection parameters
allow cat_struct input to be index structures
created by read_eit as well as raw catalog structures
V3.0
1997 Mar 20 J. Newmark - add in sci_obj field for catalog
1997 Jun 03 J. Newmark - fix bug in wavelength selection
CONTACT : newmark@eitv2.nascom.nasa.gov
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_catrd.pro)
Name: eit_catrd
Purpose: front end to catrd_daily (read time range)
Input Paramters:
time0 - start time
time1 - stop time
Keyword Parameters:
raw - if set, return catalog structures (default=string)
logn - switch (see catrd_daily documentation)
filename (output) - eit filenames
records (output) - (see catrd_daily doc)
Calling Sequence:
cats=eit_catrds(time0 [,time1, /raw, /long, records=records, filename=filename]
History:
24-may-1996 S.L.Freeland
(See /service/soho-archive/home/solarsoft//soho/eit/idl/obsolete//eit_catrds.pro)
Name: eit_colors
Purpose: load EIT color tables
Input Parameters:
table - EIT table number or associated wavelength
Output Parameters:
r,g,b - optional return RGB
Calling Examples:
eit_colors,0 ; load the first EIT table (relative)
eit_colors,41 ; load the first EIT table (absolute)
eit_colors,284,r,g,b ; map wavelenght-> table, return RGB
Method:
call ssw_colors ; contains links to SSW color table files
History:
18-Feb-1996 (S.L.Freeland)
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_colors.pro)
Name: eit_data_scale
Purpose: scale EIT data to some standard (and provide single point maint)
Input Parameters:
data - data to scale
wave - (optional) - wavelength dependent scale
History:
17-Feb-1996 (S.L.Freeland)
Restrictions:
For now, only one algorithm, used for all wavelengths
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_data_scale.pro)
Name:
eit_degrid
Purpose:
Degrid an EIT image, either full FOV or POV and/or binned.
Input Parameters:
image = image w/ missing blocks raised to the detector offset, and
detector offset subtracted.
header = FITS header or EIT index structure for image
Note that image can be full-res or a binned image.
Output:
clean_image = degridded image
Keywords:
final = set if using LZ data
image_no = set if image is from a 3-D LZ FITS file
verbose = set if messages discriminating new read or pre-read wanted
Calling Sequence:
clean_image = eit_degrid(image, fits_header)
clean_image = eit_degrid(image, index)
clean_image = eit_degrid(image, fits_header, image_no=image_no)
Restrictions:
Can't handle a vector of images {yet}.
If you pipe an LZ file to this, you'd better have the fits header.
If you're doing this with single-image files, it will work just
fine if have a FITS header structure.
History:
23-Mar-96 - (DMF) - Written
8-Apr-96 - (JSN) - Fix for incorrect entry of pixel size.
22-Jul-96 - (JSN) - Added capability of export SSW
20-Aug-96 - (JSN) - Added image_no keyword for 3D LZ data.
28-Aug-96 - (JSN) - changed to always XDR format
29-Aug-96 - (DMF) - XDR too slow! Backed off to block I/O files in
OVMS interal representation
9-Oct-96 - (BNH) - Now accepts FITS headers or index structures.
Cleaned a few things up and dispatched FIND_KEYWORD
for good. Pulled all the history of this routine
into the "History" section. Still need to sort
out how to make index structures to cope
with the new-improved "LZ" file structure.
16-Oct-96 - (BNH) - Add a common block for the currently-used grid.
1997/04/11 - JBG - Added VERBOSE keyword.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_degrid.pro)
NAME:
eit_degrid_fft
PURPOSE:
Degrid an EIT image via an FFT transform. EIT_DEGRID_FFT assumes
missing blocks have been raised to the detector offset, and the
detector offset subtracted.
CALLING SEQUENCE:
clean_image = eit_degrid_fft(image, header [, /final])
INPUTS:
image = Dark-subtracted EIT image
header = FITS header
OPTIONAL KEYWORDS:
final = ????
RESTRICTIONS:
The input image must have the missing blocks raised to detector
offset, and the detector offset subtracted. (Fecit's words)
At this time (9-Apr-1996) only supports full-frame full-resolution
images.
TODO:
Need to stamp the FITS header so we know this image was degridded
with version of EIT_DEGRID_FFT.
MODIfICATION HISTORY:
23-Mar-1996 - (DMF) - Written
9-Apr-1996 - (BNH) - Cleaned up and documented
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_degrid_fft.pro)
NAME:
eit_degrid_smooth
PURPOSE:
Smoothing algorithm for degridding EIT images. Adaptation of
A. Maucherat's early routines.
CALLING SEQUENCE:
clean_image = eit_degrid_smooth(dirty_image [,residue=residue,
grid=grid])
INPUTS:
dirty_image = dark-subtracted image.
OUTPUT:
clean_image = alog10(degridded image)
OPTIONAL OUTPUTS:
residue = residue of degridding algorithm
grid = Calculated grid
RESTRICTIONS:
Can't handle images smaller than 42x42 pixels.
TO DO:
* This routine doesn't conserve counts. Maybe it never will.
* I wonder how well this code deals with small images.
* Need to keep a history of this in the FITS header. EIT_DEGRID
also suffers from this.
MODifICATION HISTORY:
15-Mar-1996 - (AM) - Written
9-Apr-1996 - (BNH) - Cleaned up to make slightly more readable,
turned into a function call, Added some
comments and streamlined some code.
10-Apr-1996 - (BNH) - Added support for sub_images.
- Image is converted to a FLOAT on entry.
10-Oct-1996 - (BNH) - Corrected an entry in the median array.
Thanks to RAS for noticing this.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_degrid_smooth.pro)
NAME:
EIT_DISPLAY
PURPOSE:
This function will display EIT movies (IDL Save Sets) and
EIT images (FITS files) using eit_movie and eit_image
respectively.
CATEGORY:
WIDGET interface
CALLING SEQUENCE:
EIT_DISPLAY
INPUTS: None, presently this routine reads predefined directories
namely the logical REF_DIR (FITS images) or MOVIE_DIR
(3-dim IDL Save Sets).
KEYWORD PARAMETERS: None
OUTPUTS:
This routine displays images. It does not return any outputs.
COMMON BLOCKS:
filestuff,dirspec,flist,index,list7,text6 - this common block is
used to pass back and forth to the event handler the
directory, filelist, file index, file widget and directory widget.
helpshare,helpbase - a common block for the help widget
SIDE EFFECTS:
unsure if common block must be re-initialized after each run.
RESTRICTIONS:
Serious memory hog, especially if display movies
PROCEDURE:
A widget is displayed. The user can choose either IDL Save
Sets (assumed therefore to be movies) or FITS files (assumed
to be images). The user then selects a file to display using
the appropriate mechanism. The user can zoom an image. This
calss the widget cw_zoom.
MODIFICATION HISTORY:
Written by: J. Newmark Date. Feb. 1996
1996 march 14 - E. Einfalt - changed title banner
1996 june 12 - J. Newmark - use catalog for image
listings, add RDPIX function
1996 june 20 - J. Newmark - enable use of "efz" files
1996 july 8 - J. Newmark - add print button
1996 july 19 - J. Newmark - added calls to eit_file2path
to get directory names and pathways, allow
for collapsed data trees
1996 aug 20 - J. Newmark - added ability to display
LZ 3-D data
1996 nov 26 - D.M. fecit - added /flat to all EIT_IMAGE
calls
1996 dec 3 - J. Newmark - added button for MOVIE_ARCHIVE
1997 mar 12 - D.M. fecit - changed exposure time strings
to floating point
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_display.pro)
Name:
eit_dump
Purpose: produce postscript or gif files
Input Parameters:
filenam - FITS file of image
Output Parameters:
file - name format is efr'date'_wave.'ps or gif'
Keyword Parameters:
post - set for postscript output - (default)
gif - set for gif output -image only no labels
jpeg - set for JPEG output - image only, no labels
encap - set for encapsulated postscript output
printer - set for printing to value
outdir - set for output directory of saved file
window - set to dump current window
surround - set to replace missing blocks with surrounding ones
file - set for output file name
annotate -set to string if wish annotated PS output for window dump
image_no -set for image_no in 3d LZ file
Calling Sequence:
eit_dump,'efr19960702.123456',/post
Method:
read FITS file, load proper color table, subtract background,
replace missing blocks, degrid, bytscl(alog10(image)), save
in selected format
History:
2-Jul-1996 - J. Newmark - created
22-Jul-1996 - J. Newmark - allow for capture of IDL window
23-Jan-1997 - J. Newmark - allow file keyword for output
18-Feb-1997 - J. Newmark - call eit_image for processing, add
annotate keyword
19-May-1997 - J. Newmark - add image_no keyword
1997 May 22 - D.M. fecit - added JPEG keyword
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_dump.pro)
NAME:
eit_eff_area
PURPOSE:
Return the EIT effective area as a function of wavelength
CALLING SEQUENCE:
Area = eit_eff_area(index,waveout=waveout)
Area = eit_eff_area(roadmap,wave) ;User supplies wavelengths
Area = eit_eff_area(index,wave)
Area = eit_eff_area(Sector,wave) ;Sector is an integer array
Area = eit_eff_area(Sector,wave,filter=filt) ;Filt is an integer array
Area_structure = eit_eff_area()
Area_structure = eit_eff_area(filein=filein)
INPUTS:
Item - EIT index structure or roadmap. May be a scalar
or an array. Sector and Filters are extracted.
or - an integer scalar or array with the EIT sector number.
OPTIONAL INPUTS:
wave - Wavelengths at which the values of the area are
desired. If not specified, the wavelengths are
generated internally and returned in waveout.
OPTIONAL INPUT KEYWORDS:
filters - To override the values of filters in Item
verbose - Set to provide additional information
filein - To read a specific EIT effective area file. By
default reads the following file:
concat_dir('SSW_EIT_RESPONSE','era*.genx')
Use filein='your_file_name' to override the default.
text_area - If file is read, return the text information (string) array
OUTPUTS:
Returns the EIT effective area.
Output size will be (N_elements(wave), N_elements(item))
OPTIONAL OUTPUT KEYWORDS:
waveout - If wave is not provided, then wavelengths are
defined by eit_eff_area and returned in waveout.
OPTIONAL INPUT/OUTPUT KEYWORD:
area_str - The contents of the EIT effective area file is
returned in this structure variable. If this
variable is defined, the routine will not bother
to re-read the file on subsequent calls.
RESTRICTIONS:
If filters is defined, it must be of length 1 or length n_elements(Item)
NOTE: It is assumed that area.filter(0) = Entrance filter
area.filter(1) = CCD fixed filter
area.filter(2) = Filter wheel C+Al filter
area.filter(3) = Filter wheel thin Al filter
This is order is established in the routine mk_eit_area.pro
METHOD:
The EIT effective area file is read. If wave is specified, the
values are interpolated in Log(area).
HISTORY:
9-Jun-95, J. R. Lemen (LPARL), Written
(See /service/soho-archive/home/solarsoft//soho/eit/idl/response//eit_eff_area.pro)
Name: eit_file2path
Purpose: translate eit file name to "standard path" on local system
Input Parameters:
files - one or more eit file names (with or without path)
Output Parameters:
exist - boolean vector - online?
exist_count - count where() online
Keyword Parameters:
topeit - top level directory (default=EIT_QUICKLOOK)
curdir - if set, set topeit to current directory
lz - if set, set topeit to EIT_LZ and use YYYY/MM format
collapse - if set, assme all files in single directory
default is GSFC standard topeit/YYYY/MM/DD/filename
gavroc - set if running on gavroche, special directory structure
otherwise will check
Calling Sequence:
eitpath=eit_file2path(eitfilenames [,/collapse, /curdir, topeit='xxx'])
eitpath=eit_file2path(filenames,exist,count) ; exist = online?
Calling Examples:
print,eit_file2path('efr19960521.043112') ; "GSFC-like" tree
....ate/data/processed/eit/quicklook/1996/05/21/efr19960521.043112
print,eit_file2path('efr19960521.043112',/collapse) ; collapsed tree
...ate/data/processed/eit/quicklook/efr19960521
print,eit_file2path('efr19960521.043112',/curdir) ; local version
/usr/users/freeland/dev/eitpath/efr19960521.043112
History:
21-May-1996 (S.L.Freeland)
22-May-1996 (S.L.Freeland) - added 2nd param (exist)
01-Aug-1996 (J. Newmark) - added lz keyword for level-zero data
16-Aug-1996 (J. Newmark) - added special paths for GAVROC
21-Jan-1997 (J. Newmark) - use is_gsfcvms function
04-Mar-1997 (J. Nemwark) - allow input of short catalog listing
28-Mar-1997 (S. Freeland) - check 'EIT_DATA_STYLE' to allow
site specification ('collapsed')
Restrictions:
assume filenames in given call have same length prefix
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_file2path.pro)
Name: eit_files
Purpose: return online eit file names
Input Parameters:
t0, t1 - Optional start time and stop time
Keyword Parameters:
last - number of days to look at (Most recent N days)
collapse - SWITCH, if set, all files in one directory
Calling Sequence:
files=eit_files
Restrictions:
assume environmental EIT_QUICKLOOK points to collapsed tree or top of tree
History:
15-jan-1996 (S.L.Freeland) for LPARL access
14-feb-1996 (S.L.Freeland) allow uncollapsed tree , LAST keyword
3-Jun-1996 (S.L.Freeland) check EIT_QUICKLOOKnn
7-aug-1996 (J. Newmark) add lz (level-zero) keyword and associated
lz queries, allow one or more QUICKLOOK archives
25-mar-1997 (S.L.Freeland) - add COLLAPSE keyword and function
recurse w/collapse when required
add T0 and T1 parameters
6-apr-1997 (S.L.Freeland) - trim files to true t0 and t1 if supplied
1-may-1997 (S.L.Freeland) - fix problem if auto-collapse search tried
(recursive logic)
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_files.pro)
Name: eit_fill_cube
Purpose: fill missing data with data from neighbors
Input Parameters:
cube - data cube (output if only one parameter passed)
Output Parameters:
ocube - optional - output (filled cube) - default replaces input
Keyword Parameters:
missing - if set, pixel value considered 'missing' (default=0)
times - vector of image times (not yet implemented)
track_progress - switch, if set, print correction status info
window - limit window of neighbors to check (+/- limit)
(for large cubes, dont wander further than required
Output Parameters:
orig_miss - percent missing data in original cube [fltarr(nimages)]
final_miss - percent missing data in final cube
Calling Sequence:
eit_fill_cube,cube ; overwrite input with filled version
eit_fill_cube,cube,ocube ; filled version in ocube (orig saved)
Calling Examples:
eit_fill_cube,cube, orig=orig, final=final
eit_fill_cube,cube, mising='aa'x ; AA(hex) is "missing" (ex: fill data)
eit_fill_cube,cube, window=2 ; check neghbors within +2/-2
Restrictions:
Assumes images are kindof like their neighbors
(normalization, wavelenth, structure, registration, time, whatever)
History:
17-feb-1996 S.L.Freeland
18-Feb-1996 S.L.Freeland - add WINDOW keyword and function
Nothing about this is EIT specific (fills any data cube) so it might->GEN
Side Effects:
Input array is filled ('clobbered') if only one parameter (for space)
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_fill_cube.pro)
NAME:
eit_flat
PURPOSE:
CALLING SEQUENCE:
flat_fielded_img = eit_flat(img, fits_header, image_no=image_no)
INPUTS:
img = Raw image, detector offset subtracted and missing pixels raised
to baseline level
fits_header = index structure/fits header for img
OPTIONAL INPUTS:
None
KEYWORDS
image_no = image number in LZ file
verbose = set if messages discriminating new read or pre-read wanted
EXAMPLE:
flat_img = eit_flat(img, fits_header) ; 2-D version
flat_img = eit_flat(img, fits_header, image_no) ; 3-D version
MODIFICATION HISTORY
The epoch - (JSN) - Written
17-Oct-96 - (BNH) - Now sports a document header
- Also sports a common block
1997/04/11 - JBG - Added VERBOSE keyword.
COMMON BLOCKS:
eit_flat_blk = filename and flat field for last image flat-fielded (to
speed up operation)
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_flat.pro)
NAME:
eit_flux
PURPOSE:
Specify Te + filter + DEM ==> compute DN
Specify Te + filter + DN ==> compute DEM
CALLING SEQUENCE:
dn_s = eit_flux(171,1.e6,filter='CLEAR',edensity=1e9)
or
dem = eit_flux(195,1.5e6,filter='AL+1',edensity=1.5e9,dn=1000,
expotime=5)
INPUTS:
wav_band: EIT bandpass, one of 171,195,284,304
te: Temperature, may be a vector
OUTPUTS:
This function returns DN/s/pixel.
If DN keyword is set, will return Differential Emission Measure cm^-5
OPTIONAL INPUT KEYWORDS:
DN: if set returns Emission Measure, if vector should correspond
to elements of temperature
filter: default is CLEAR position can also specify AL+1 or AL+2
wavestep: wavelength bin for spectrum calculation, default=0.2Ang
Specify one of below:
Edensity: electron density in emitting region (cm^-3)
Pressure: electron pressure (cm^-3 K)
Note- these can be single valued or arrays corresponding to
the specified temperatures
these are used in the population calculations
Can specify both of below:
inspec: an input spectrum, useful if have spectra already calculated
waves: wavelengths corresponding to inspec
dem_name = differential emission measure file - temp vs dem, can
also be a float value=alog10(dem) which correspond to temps.
set to "unit" if just need unit emission measure
OPTIONAL OUTPUT KEYWORDS:
RESTRICTIONS:
**** This routine requires the CHIANIT package. Please run the
following command before using this routine:
ssw_packages,/chianti,/append
Presently this reads the Instrument Data from the EIT GENX
files on the SSW as provided by J. Lemen. This section is
modularized so as to facilitate updates or even new instruments.
This program runs failry slow since it is calculating the spectrum
from 150-400 A. A better way to run this is to calculate the spectrum
using CHIANTI_spec once for the density and temps you wish and pass
it into this program.
MODIFICATION HISTORY:
1996 Oct 30, J.S. Newmark, Written.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_flux.pro)
Name: eit_fulldisk
Purpose: read, return and optionally display Full Disk EIT images
Input Parameters:
t0 - start time of interest
t1 - stop time of interest
Output Parameters:
index - EIT instrument parameters (structures from read_eit)
data - EIT image or image cube
Keyword Parameters:
/w171, /w195, /w284, /304 - desired wavelength (default=171)
/wall - show all four wavel.
/norebin - return full size (default reduced to 512x512)
rebin - size to rebin to (assumed sqare!)
/notv - just return the data
/display - if set, display data (via xstepper(
nmissb - maxmimum number of missing blocks to accept
quality - (empirical data check) minimum quality "accepted"
(see data_quality.pro, or, if set as flag, default=90%)
sizes - sizes to accept (ex: 256,512,1024) - default=all full fov
hours - if set, limit cadence to this number of hours
(see grid_data.pro and timegrid.pro for generic details)
Calling Sequence:
eit_fulldisk, t0, t1, index, data [, /w171, /w195, /w284, /304]
Calling Examples:
eit_fulldisk,t0,t1,index,data,/w304 ; 304 full between t0&t1
eit_fulldisk,t0,t1,index,data,hour=4,/w195,nmiss=0 ; 195, perfect only,
; 4-hour cadence
eit_fulldisk,t0,t1,index,data,hour=4,/w195, $ ; same as previous
nmissb=0, sizes=[512,1024] ; but ignore 256x256 etc
eit_fulldisk,t0,t1,index,data,/w171, $ ; good to perfect 171s
nmissb=2,sizes=1024 ; only 1024x1024
eit_fulldisk,t0,t1,index,/w284 ; INDEX only (no data read)
History:
29-may-1997 - S.L.Freeland - from 'lasteit.pro'
(and asap, lasteit will just call this routine)
Restrictions:
Full disk only, Files in $EIT_QUICKLOOK
Calls:
read_eit, eit_files, eit_file2path, get_eit_info,
grid_data, anytim, delvarx, [wdef, xstepper....]
Common Blocks:
eit_fulldisk_blk - speed up subsequent wavelenths for same time interva;
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_fulldisk.pro)
Name: eit_fulldiskdb
Purpose: generate EIT full disk data base (calls eit_fulldisk)
Input Parameters:
t0, t1 - start and stop time
Keyword Parameters:
copy - switch - if set, COPY the files to $EIT_FULLDB/YYYYMM
links - switch - if set, symbolic links only
nmissb - missing block limit (see eit_fulldisk.pro)
hours - limit cadence in hours (see eit_fulldisk.pro, grid_data.pro)
sizes - limit sizes (256, 512, 1024, etc. see eit_fulldisk.pro)
waves - optional wave array (default=[171,195,284,304]
eit_prep - if set, prep the output (overrides COPY and LINKS)
History:
29-may-1997 - S.L.Freeland, written
Restrictions:
many - assumed running on a machine with all EIT data online
Side Effects:
may create required subdirectories ($EIT_FULLDB/YYYYMM)
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_fulldiskdb.pro)
Project : SOHO - EIT
Name :
EIT_FXPAR
Purpose :
Obtain the value of a parameter in a FITS header.
Explanation : This is a shell around the IDLASTRO routine FXPAR.
The procedure can parse for keywords embedded into
comments. Usageis identical to FXPAR.
Use :
Result = EIT_FXPAR( HDR, NAME [, ABORT ] [,IMAGE_NO=IMAGE_NO] )
e.g. IDL> hdr=headfits('efr19960715.123746')
IDL> print,eit_fxpar(hdr,'EXPTIME')
7.000
IDL> print,eit_fxpar(hdr,'N_MISSING_BLOCKS')
4
IDL> hdr=headfits('efz19960623.132832')
IDL> print,eit_fxpar(hdr,'FLTR',image_no=23)
Al + 1
Inputs :
HDR = FITS header string array (e.g. as returned by FXREAD). Each
element should have a length of 80 characters
Optionaly, this can be an IDL structure CREATED from a
FITs header as by read_eit
NAME = String name of the parameter to return. If NAME is of the
form 'keyword*' then an array is returned containing values
of keywordN where N is an integer. The value of keywordN
will be placed in RESULT(N-1). The data type of RESULT will
be the type of the first valid match of keywordN found.
If keyword is in COMMENT field will return keyval.
Opt. Inputs :
ABORT = String to output if can not return value
IMAGE_NO = Image number for files containing multiple subimages,
set to 'ALL' to return values for all subimages
Outputs :
The returned value of the function is the value(s) associated with the
requested keyword in the header array.
Keywords :
COUNT = Optional keyword to return a value equal to the number of
parameters found by FXPAR.
COMMENTS= Array of comments associated with the returned values.
INITIALIZE = Used by read_eit only, parse comments for 3D index
structures, else pull out of tag value
CAT_WAVES = return all wavelngths in catalog structure, else
returns first wavelength
Calls :
Common :
None.
Restrictions:
None.
Side effects:
Category :
Data Handling, I/O, FITS, Generic.
Written : 1996 July 15, J. Newmark
Modified : 1996 Aug 23 J. Newmark allow input if IDL structure (or
array of structures) created from FITS headers.
1996 Oct 18. J. Newmark - allow use of Single image keywords
for multiple image LZ files, return scalar for 3D keywords
if 1 element array.
; 1996 Nov 5, S.L. Freeland - force 'have_sub' to scalar value
1996 Dec 27 J. Newmark - fixed index structure input.
Version : 1.2
1997 Jan 14 J. Newmark - added capability to handle
raw catalog structure input, add /initialize keyword
cat_waves keyword
Version : 2.0
1997 Jan 24 J. Newmark - changed many if-thens to CASE
1997 Mar 20 J. Newmark - add in sci_obj field for catalog
1997 Apr 14 J. Newmark - add support for second ASCII table
1997 Aug 12 J. Newmark - return INT/FLT where expected, 3D
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_fxpar.pro)
Name: eit_genx_cat
Purpose: generate and/or read local eit qkl catalog
Input Parameters:
NONE
Output Parameters:
index - IDL 'eit_struct.pro' style structures for last few days
text - text version of index (via get_infox)
Keyword Parameters:
cat_name - (output) - name of current catalog
name_only - (input) - switch, just return catalog name via CAT_NAME
full_fov - (input) - if set, read FULL FOV catalog
generate - (input) - switch, GENERATE catalog (default is just read)
(generally , via CRON job)
last - (input) - only with GENERATE, number of days to include
(most recent NN=LAST days, default=2)
Calling Sequence:
eit_genx_cat, eitstructs, eitinfo ; most recent few days
eit_genx_cat, eitstructs, eitinfo, /full_fov ; same, only full FOV (speed)
eit_genx_cat,/generate ; Make it, via priviledged cron job
History:
3-mar-1997 - generate/read EIT_STRUCT (via read_eit.pro) based catalog
(replace old "temporary" ascii catalog)
11-mar-1997 - make a smaller full fov also
23-apr-1997 - add filter for zero block files (and send email warning)
Calls:
eit_files, read_eit, savegen OR restgen
Method:
uses 'genx' files - see SAVEGEN and RESTGEN for more details
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_genx_cat.pro)
Name: eit_getlimb
Purpose: get the limb parameters from EIT FITS or fit limb if not present
Input Parameters:
eitfiles - EIT FITS file list
Output Parameters:
xx - sun center, full res EIT pixels
yy - sun center, full res EIT pixels
rr - S radius, full res EIT pixels
Keyword Parameters:
fit - switch, if set, call fit_limb (default if no FITS params)
find - switch, if set, call find_limb
guess - switch, if set, return guess (for fast prototyping)
update - switch, if set, update FITS file (add point info to header)
Calling Sequence:
eit_getlimb, eitfiles, xx,yy,rr [/fit, /find, /guess, /update]
Method:
get parameters from FITS file, fit_limb or find_limb , or guess
History:
1-Feb-1996 - S.L.Freeland
15-Feb-1996 - S.L.Freeland - minor adjustments
3-Sep-1996 - J. Newmark -updated for whole mission paramters
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_getlimb.pro)
Name: eit_getobs
Purpose: interactive selection of EIT obsserving blocks (32x32)
Input Parameters:
NONE
Output Parameters:
obs - command blocks selected [** currently 0-1023 from lower left **]
Keyword Parameters:
magnification - image (size/1024.) - default derived from current window
Calling Sequence:
eit_getobs, obs [magnification=magnification]
Method:
read cursor postion from current X-window containing an EIT or
EIT-aligned image - permit mouse selection of EIT command regions
"Press LEFT button to SELECT or UNSELECT a region"
"Press/Drag CENTER button to SELECT or UNSELECT adjacent regions"
"Press RIGHT button to EXIT"
History:
30-jan-1996 (S.L.Freeland)
Restrictions:
assumes EIT or (EIT co-aligned image) is in current X windows display
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_getobs.pro)
Name:
eit_gt_corner
Purpose:
Return the defining corners of an EIT image.
Input Parameters:
header = FITS header or EIT index structure for image
Output:
corners = [P1_X, P2_X, P1_Y, P2_Y]
Calling Sequence:
corners = eit_gt_corner(index)
corners = eit_gt_corner(fits_header)
Restrictions:
The one defining reason for this routine is to work around the
COMMENT header definitions. If P[12]_[XY] ever were to become
real FITS header keywords instead of comments, it is my hope that
we would only have to fix this one spot to deal with it.
History:
31-October-96 - (BNH) - Written
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_gt_corner.pro)
Name:
eit_gt_filter
Purpose:
Return the filter of a 2- or 3-D index structure or
FITS header.
Input Parameters:
header = FITS header or EIT index structure for image
Input Keywords:
image_no = Image number from within above header
Output:
Filter of chosen image
Calling Sequence:
filter = eit_gt_filter(fits_header)
filter = eit_gt_filter(fits_header,image_no=7)
filter = eit_gt_filter(index [,image_no=4])
Running Commentary:
Another workaround for fits keywords disguised as comments.
History:
3-November-96 - (BNH) - Written
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_gt_filter.pro)
Name:
eit_gt_wave
Purpose:
Return the wavelength of a 2- or 3-D index structure or
FITS header.
Input Parameters:
header = FITS header or EIT index structure for image
Input Keywords:
image_no = Image number from within above header
Output:
wavelength of chosen image
Calling Sequence:
wave = eit_gt_wavelnth(fits_header)
wave = eit_gt_wavelnth(fits_header,image_no=7)
wave = eit_gt_wavelnth(index [,image_no=4])
Running Commentary:
Another workaround for fits keywords disguised as comments.
History:
3-November-96 - (BNH) - Written
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_gt_wavelnth.pro)
NAME:
EIT_IMAGE
PURPOSE:
Read a SOHO Extreme ultraviolet Imaging Telescope (EIT) image
from a FITS file, and return the byte-scaled image.
CALLING SEQUENCE:
scaled_image = EIT_IMAGE(filename, [original_image =
original_image,] [scale_factor = scale_factor,]
[top = top], [flat=flat],
[image_time = image_time,] [header = header],
[show_image = show_image], [replacement_value =
replacement_value], [fill_block = fill_block],
[surround = surround], [adjust = adjust],
[dark_current = dark_current], [v_offset = v_offset],
[no_degrid = no_degrid], [half = half],
[quarter = quarter], [no_rescale = no_rescale],
[xpos = xpos, ypos = ypos], image_no=image_no)
INPUTS:
FILENAME = String containing the name of the FITS file to be read.
Optionally, this can instead be the string returned
by EIT_CATRD for a file.
OUTPUTS:
Result = byte-scaled image array (usually 1024 x 1024)
;
KEYWORDS:
show_image - if present and non-zero, display the image on the
currently selected graphics device
original_image - original, floating-point version of contents of file
scale_factor = scaling for logarithmic scaling on the current X
device
top - maximum value to which to scale (useful when scaling a series
of images to the same maximum)
image_time = string concatenating DATE-OBS and TIME-OBS from the
FITS header
header = FITS header (string array)
replacement_value - DN with which to replace missing data block pixels
fill_block - intarr(32, 32) with which to replace missing data blocks
surround - if set, replace missing block data with the average of
surrounding blocks
adjust - multiplicative factor by which to adjust for strange exposure
times
dark_current - dark current value to be subtracted when image is
scaled (Note: if replacement_value is defined and
dark_current is not, the dark current is set to the
replacement value.)
v_offset - if show is set, the vertical offset for display (useful
for displays incapable of displaying the full image)
no_degrid - if set, do not remove the grid, otherwise remove by
the method of F. Clette
half - if set, rebin image to half size
quarter - if set, rebin to quarter size
xpos = x position of image window
ypos = y position of image window
image_no = selected image from a multiple image LZ file
flat - if set flat field the image
no_rescale - set if image is not to be rescaled into 0 - 255 range
EXAMPLE:
Find the most current EIT image on the EIT image directory,
and display it on the current device:
s = findfile("reformat_dir:ef*.*")
n = n_elements(s)
a = EIT_IMAGE(s(n - 1), /show_image)
RESTRICTIONS:
None.
NOTES:
None.
PROCEDURES USED:
READFITS (Astronomy library)
RAISE_MISSING_BLOCKS
EIT_DEGRID
EIT_FLAT
MODIFICATION HISTORY:
D.M. fecit, from SXT_IMAGE, 25 October, 1993.
Changed to ignore v_offset unless n_y eq 1024. D.M. fecit, 1996/02/25.
Call EIT_DEGRID instead of reinventing the wheel. D.M. fecit,
1996/03/30.
1996-Aug-20 JSN added support for 3-D LZ data
Changed filename argument handling to accept "brief" catalog lines.
D.M. fecit, 1996/09/01.
1996-Sep-25 J Newmark added flat fielding
1996/10/20 Changed scaling to use only southernmost 15/16
of a full-frame image (to avoid scaling 284 A,
clear filter pos. images to the light leak).
D.M. fecit.
1996/12/04 J. Newmark - removed last traces of find_keyword
1996/12/23 Added QUARTER keyword. D.M. fecit.
1997/02/05 Added NO_RESCALE keyword. D.M. fecit.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_image.pro)
Name: eit_lzsort
Purpose: get index of subimages from a level zero FITS file which
match selected wavelength
Input Parameters:
filename - EIT level zero FITS file
wave - specified wavelength of subimages
Output Parameters:
Function return indices of subimages matching specified wavelength
make_array - set if want to return data
img - if make_array specified returns subimage data
Keyword Parameters: none
Calling Sequence:
indices=eit_lzsort(filename,wave [,img=img, /make_array])
Method:
Check if FITS file, call eit_fxpar to read in subimage info
returns data cube if asked for via:
IDL> img=readfits(file)
IDL> img=img(index)
History:
18-July-1996 - J. Newmark - created
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_lzsort.pro)
Name: eit_mirror Purpose; make and submit EIT quicklook mirror job 6-feb-1996 (S.L.Freeland)
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_mirror.pro)
NAME
eit_norm_response
PURPOSE
compute a normalized response for each eit band
INPUTS
date_obs = date of observation
wave = wavelength of interest
OUTPUTS
returns normalziation factor to be applied to measured DN level
on givewn date such that all EIT data is normalized
WARNINGS
this routine may not always have the most recent normalizations
especially just following a bakeout.
MODIFICATIONS
1997 Apr 01 J.Newmark - Created
1997 Jul 02 J.Newmark - use 304 fit for 284
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_norm_response.pro)
NAME
EIT_PIXSIZE
return pixel scale, i.e. arcsec/pixel
"/pix=(0.206265/focal length)*pixel size microns
=(0.206265/1.652)*21=2.62
However, a problem arises with comparison of features with other
SOHO instruments. Part of the problem is caused by the physical
size difference of the solar disk in the photoshphere and transition
region and corona. Part of the problem is unknown. It may be that
physical size of the pixels is 20.9 microns.
Therefore an empirical number that works better is 2.59
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_pixsize.pro)
NAME :
EIT_POSTAGE
PURPOSE : display small images of whole day on one screen
CATEGORY : image summary
EXPLANATION :
SYNTAX : eit_postage
EXAMPLES : none
CALLED BY :
CALLS TO : put, eit_catrd, label_image, eit_file2path, readfits
ARGUMENTS :
INDATE - string of the day to display
KEYWORDS :
LZ - if set then display level zero data, not quicklook data
GIF - if set then output a GIF file
USE_CT - if set creates a color table for each wavelength
OUTPUTS : IF GIF set then a file name eit_YYYY-DD-MM.gif
COMMON : none
RESTRICTIONS: none
SIDE EFFECTS:
If USE_CT keyword is set will mess up the color tables. User
should reset them by running loadct,0 after using this routine
PROJECT : SOHO - EIT
HISTORY : V1, Jeff Newmark, 24-jan-1997
1997 Feb 21 - J. Newmark use multiple color tables
1997 Mar 17 - E. Einfalt add titles
CONTACT : newmark@eitv2.nascom.nasa.gov
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_postage.pro)
NAME:
EIT_PREP
PURPOSE:
Process an EIT image.
A preliminary version of a processing routine for analyzing
EIT images. Presently this version reads in the named FITS
image and produces a background subtracted, degridded and
flat-fielded output array or FITS file. In the future this
routine will also vignette correct. The input may also be
the output index structure and data cube as produced by
read_eit
CATEGORY:
FITS processing
CALLING SEQUENCE:
EIT_PREP,filename,[outheader,outimage] [,/outfits]
INPUTS:
filename - FITS file name or the output of eit_catrd
may also be index structure (e.g. output of read_eit)
OPTIONAL INPUT KEYWORD PARAMETERS:
outfits - set if want to produce an output FITS file
float - set if you want to return floating point. Default is I*2
nrl - set if input file was processed at NRL
normalize- set to normalize output image to per sec
noflat - set to disable flat-fielding
no_degrid- set to disable degridding.
surround - set to replace missing block data with the average of
surrounding blocks.
image_no - Image number to process in multiple image LZ file.
fill_block - intarr(32,32) which is used to replace missing data blocks
save_zero- set to retain images that have only 0 counts.
verbose - set for a few more messages
data - data array(cube) corresponding to index structure
filter_norm - normalize data taken with AL+1 filter to that of clear
OPTIONAL OUTPUTS:
outheader- FITS header or output index structure
outimage - Processed EIT image. Default data type is I*2
OPTIONAL OUTPUT KEYWORD PARAMETERS:
n_block - Number of blocks repaired
COMMON BLOCKS: none.
SIDE EFFECTS:
If /outfits is set, then a FITS file is written. Not used
if input is index structure/data cube.
RESTRICTIONS:
Processes only one image per file.
If filename is a vector, there is no checks to make sure
that all the images are the same size. User must be careful
to check this.
PROCEDURE:
The FITS file is read in. Any missing blocks are replaced
with the present dark noise value. The dark noise is
subtracted off the entire image. The image is degridded.
The image is flat fielded. The image is optionally returned.
A new FITS file with an updated header is written out
with the format eit_l1_yyyymmdd_hhmmss.fits
Note: the De-gridding and Flat-fielding are multiplicative
operations with an AVERAGE value over the full field
of 1.0
MODIFICATION HISTORY:
Written by: J. Newmark Date. July 1996
1996 Sep 24 - J. Newmark - add flat fielding
1996 Oct 8 - J. Newmark - allow NRL format files
1996 Oct 16, J. R. Lemen, Changed calling arguments.
1996 Dec 09 - J. Newmark - add uage of image_no throughout.
1997 Feb 10 - J. Newmark - allow input if index structure and data
cube
1997 Mar 09 - J. Newmark - write out FITS files from indx/data
structures
1997 Mar 10 - J. Newmark - fix output FITS file names.
1997 Apr 09 - J. Newmark - account for new exptime
1997 Apr 12 - J. Newmark - account for correction of Al+1 to ClEAR
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_prep.pro)
Name:
eit_ratio
Purpose: create a ratio of two images and optionally display it
Input Parameters:
file1 - FITS file of image 1 = numerator
file2 - FITS file of image 2 = denominator
Output Parameters:
eit_ratio returns ratio array
Keyword Parameters:
show - set if want output displayed
xpixs, ypixs- set if want a subset pixel range of image,
format is xpixs=[xstart,xstop]
magnify - set to integer multiple for output REBIN size
image[1,2]_no - set for image # of 3D LZ file
temp_bar - set to display a temperature bar on bottom of image
Calling Sequence:
eit_ratio,'efr19960924.123456','efr19960924.654321',/show,$
magnify=3,xpixs=[100,300],ypixs=[100,300]
RESTRICTIONS:
the temperature calibration is preliminary and not very
accurate.
Method:
read FITS file, load proper color table, subtract background,
replace missing blocks, degrid, flat field, take ratio, subset if
desired, rebin if desired,optionally display
History:
24-Sep-1996 - J. Newmark - created
08-Dec-1996 - J. Newmark - took out all processing steps and
directly called routine EIT_PREP
1997/02/06 Added missing block replacement (unit ratio) and
MIN_RATIO, MAX_RATIO keywords for display. D.M. fecit
1997/02/10 J. Newmark - added "rough" temperature bar.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_ratio.pro)
NAME:
eit_ring_flux
PURPOSE:
Calculate the total flux (DN) per second with a given annulus in
an EIT full field image.
CALLING SEQUENCE:
flux = eit_ring_flux(fits_file, inner_rad, outer_rad)
INPUTS:
infile = FITS file of full field EIT image
inner_rad = inner edge for annulus in solar radii
outer_rad = outer edge for annulus in solar radii
OUTPUTS:
flux = total flux per second in given annulus
OPTIONAL INPUTS:
eastonly = set if want semi-annulus on east limb
westonly = set if want semi-annulus on west limb
EXAMPLES:
Return flux within annulus 1.13-1.17 Rsun:
flux = eit_ring_flux(infile,1.13,1.17)
Return all flux on disk:
flux = eit_ring_flux(infile,0,1.0)
Return all flux off disk:
flux = eit_ring_flux(infile,1.001,2.0)
MODIFICATION HISTORY
1997 Jan 08 - (JSN) - Written
1997 Feb 13 - J. Newmark - add east and west keywords
1997 Mar 17 - J. Newmark - account for change in exptime parameter
1997 Apr 10 - J. Newmark - use normalize exptime, normalize filter
in eit_prep
COMMON BLOCKS: none
NOTES: this procedure will fill in missing blocks with the /surround
option, i.e. with average of surrounding blocks.
If image taken using AL+1 Filter will normalize to CLEAR.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_ring_flux.pro)
Name: eit_struct
Purpose: return eit_structure
Input Parameters:
number (optional) - number structures returned - default is one
Keyword Parameters:
catalog - if set, return catalog structure (subset)
ncomment - if set, number of COMMENT records to include
Calling Sequence:
str=eit_struct( [number , ncomment=xx ] )
History:
27-apr-1996 S.L.Freeland (map FITs header)
24-may-1996 S.L.Freeland (add .VERSION, make .MJD long)
15-aug-1996 S.L.Freeland (Version 2, naxis3 - add /CATALOG switch)
27-oct-1996 S.L.Freeland (typo (BCALE->BSCALE))
11-dec-1996 S.L.Freeland (add /CATALOG keyword for testing)
14-mar-1997 J.S.Newmark (add history to obtain version number)
11-apr-1997 S.L.Freeland (add NCOMMENT keyword , a few new tags)
14-apr-1997 J.S.Newmark (add sci-obj field to catalog)
05-may-1997 J.S. Newmark (add s/c pointing info tags)
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//eit_struct.pro)
NAME:
eit_temp
PURPOSE:
Specify 195/171 or 284/195 ratio or individual DN values ==> compute TEMP,
emission measure
NOTE: THIS IS MAINLY A PLACEHOLDER, HOWEVER IT MAY BE USEFUL.
CALLING SEQUENCE:
temp=eit_temp(dn171=dn171,dn195=dn195,expotime=expotime,$
inratio=inratio,dn284=dn284]
INPUTS:
MUST SPECIFY EITHER
dn171,dn195,dn284 = observed flux in image, best if corrected by
eit_prep, must have background subtracted
OR
inratio = calculated 195/171 or 284/195 ratio, e.g. from eit_ratio
OUTPUTS:
This function returns temperature and emission measure (cm^-5).
IF a dn195 level is not input the output emission measure is
normalized to 1 DN a observed in 195.
OPTIONAL INPUT KEYWORDS:
expotime = total exposure time (including shutter close time)
if specifying non-normalized DN values
r195_to_171- set if this is wanted ratio (default)
r284_to_195- set if this is wanted ratio
OPTIONAL OUTPUT KEYWORDS:
RESTRICTIONS:
Until the CHIANTI database comes online this routine only works
on a given set of MY input parameters.
ASSUMPTION: electron density for level populations = 1e9 cm^-3
(not very sensitive to this)
MODIFICATION HISTORY:
1997 Feb 05, J.S. Newmark, Written.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_temp.pro)
NAME: eit_witness PURPOSE: Return the product of the reflectivities of the primary & secondary witness mirrors CALLING SEQUENCE: eit_witness, 171, wave, reflect eit_witness, 195, wave, reflect eit_witness, 284, wave, reflect eit_witness, 304, wave, reflect INPUTS: Sector = 171, 195, 284 or 304 OUTPUTS: wave = Vector of wavelengths reflect = Vector of reflectivities HISTORY: 5-Jun-95, J. R. Lemen and R. C. Catura, Written
(See /service/soho-archive/home/solarsoft//soho/eit/idl/response//eit_witness.pro)
NAME :
EIT_XCAT
PURPOSE : Interactive Widget interface to LZ catalog
CATEGORY : Catalogs
EXPLANATION : This function calls EIT_CATRD with interactive + LZ switch
SYNTAX : list = eit_xcat(filename=filename,tai=tai)
EXAMPLES :
IDL> file=''
IDL> list=eit_xcat(file=file)
CALLED BY : top level
CALLS TO : eit_catrd
ARGUMENTS : none
KEYWORDS :
FILENAME IF present, then return the fits file names matching
the entries in the returned variable.
TAI IF present, then return the TAI time matching
the entries in the returned variable.
CAT_STRUCT -Alternate catalog input, raw catalog previously
created, as by read_eit
OUTPUTS :
Return a string array of catalog entries,or a raw IDL structure
of entries. Optional outputs include list of filenames or tai times
COMMON : none
RESTRICTIONS: none
SIDE EFFECTS: none
PROJECT : SOHO - EIT
HISTORY : J. Newmark 22-Aug-96
CONTACT : newmark@eitv2.nascom.nasa.gov
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//eit_xcat.pro)
NAME:
find_fits_keyword
PURPOSE:
Find the FITS header line containing the given keyword.
CALLING SEQUENCE:
position = find_fits_keyword(fits_header, keyword)
INPUTS:
fits_header = fits_header
keyword = Header line to sort on
OUTPUT:
Subscript of any lines in the fits header that match
(If more than one take the first one)
Returns -1 if no match
MODIfICATION HISTORY:
10-Apr-1996 - (BNH) - Idea stolen from D.M. Fecit, code chopped
out of EIT_DEGRID
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//find_fits_keyword.pro)
NAME:
get_eit_data
PURPOSE:
This procedure copies all full field images from specified
date to either local directory or FTP's to remote machine.
CALLING SEQUENCE:
get_eit_data,date,['remote-machine'],['remote-login'],['remote_dir',]
[,/local]
INPUTS:
date specified day of interest, will use LZ data if available
rem_machine remote machine name for FTP
rem_name remote login name for FTP
rem_dir remote directory name for FTP
local set if only want to copy files to local directory
KEYWORD PARAMETERS: None
OUTPUTS:
Copies files to either local directory or remote machine
EXAMPLES:
Copy all EIT full field images from Jan 3, 1997 to my subdirectory
data:
get_eit_data,'3-jan-97','eitv2.nascom.nasa.gov','newmark','data'
COMMON BLOCKS: none.
SIDE EFFECTS:
CALLS: eit_catrd
MODIFICATION HISTORY:
Written by: J. Newmark Date. Jan 1997
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//get_eit_data.pro)
Name: get_eit_info
Purpose: provide 'standard' 1-line summaries of EIT index/fits file headers
Input Parameters:
inrecs - EIT structures (via read_eit) or fits file names
Keyword Parameters:
short - if set, provide a "shorter" summary
fmt_time - output TIME format (default=ECS) - (see anytim OUT_STYLE)
out_style - synonym for FMT_TIME (see anytim OUT_STYLE)
History:
15-mar-1997 S.L.Freeland
18-mar-1997 S.L.Freeland - allow user FMT_TIME&OUT_STYLE,
set default time output to -> ECS
Method:
just setup can call for some EIT "standards"
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//get_eit_info.pro)
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
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//gt_eitfilter.pro)
NAME:
gt_EITsector
PURPOSE:
To extract the EIT sector number optionally return a string mnemonic.
CALLING SEQUENCE:
print, gt_EITsector() ;to list the mnemonics
sectors = gt_EITsector(index)
sectors = gt_EITsector(roadmap)
sectors = gt_EITsector(index.eit, /string)
sectors = gt_EITsector(index, /short)
sectors = gt_EITsector(indgen(4)) ;used with menu selection
sectors = gt_EITsector(index.eit, /space) ;put single space before string
sectors = gt_EITsector(index.eit, space=3) ;put 3 spaces
sectors = gt_EITsector(index,/wave) ;Same as /short, but return integers
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_EITsector()
INPUT:
item - A integer or structure, which can be scalar or an array. If this
value is not present, a help summary is printed on the
wavelength sector names used.
OPTIONAL INPUT:
string - If present, return the string mnemonic (long notation)
short - If present, return the short string mnemonic
wave - If present, return wavelengths as integers
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.
RESTRICTIONS:
The /wave keyword overrides /short and /string keywords.
HISTORY:
10-Jun-1995, J. R. Lemen (LPARL), Written
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//gt_eitsector.pro)
IS_FITS determines whether a file is in fits format
DESCRIPTION:
IS_FITS reads the primary header unit from a file and searches
for the keyword 'SIMPLE'. If SIMPLE = T then the file is
determined to be a fits file and result = 1. The keyword
'EXTENSIONS' is then searched for; if it is found then then
next header unit is read in and the value of the 'XTENSION'
keyword is returned in the optional parameter 'extension'. If
'EXTENSIONS' is not found then 'extension' is left blank.
CALLING SEQUENCE:
RESULT = IS_FITS ( filename, [extension] )
ARGUMENTS (I = input, O = output, [] = optional):
RESULT O integer Contains 1 for each file that is in
fits format, SIMPLE = 'T'
FILENAME I string File name to be checked
EXTENSION [O] string Contains the extension type if
the fits file contains 'XTENSION'
keyword
WARNINGS:
EXAMPLE:
To check if file 'filename' is fits format use the following:
status = is_fits('filename')
The return status = 1 if it is a fits file and 0 if not. No
information on extensions is returned.
To determine if a file is a valid fits extension file and what
type if extension it is, then include the optional 'extension'
keyword:
status = is_fits('filename', extension)
In this case status = 1 if the file is a valid fits file. The
keyword extension = 'BINTABLE' if the file is fits Binary
Table Extension. If no extensions were found then extension
is left blank. !ERROR will be returned as 0 for no errors and
as 1 if the file was not found.
#
COMMON BLOCKS:
None
PROCEDURE (AND OTHER PROGRAMMING NOTES):
PERTINENT ALGORITHMS, LIBRARY CALLS, ETC.:
Uses a call to SXPAR to find keyword values.
MODIFICATION HISTORY:
Written by Dave Bazell, General Sciences Corp. 4 Feb 1993 spr 10477
Modified by Dalroy Ward, General Sciences Corp. 24 Mar 1993 spr
modified routine to handle headers longer than one record
.TITLE
Routine IS_FITS
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//is_fits.pro)
IS_SS determines whether a file is a valid IDL save set
DESCRIPTION:
IS_SS attempts to open FILENAME and read the first two bytes.
IDL save sets have the first two bytes set to 83 and 84 so we
check the values of these bytes and return a 1 if the test is
positivie and a 0 if either one is negative.
CALLING SEQUENCE:
RESULT = IS_SS(filename)
ARGUMENTS (I = input, O = output, [] = optional):
RESULT O int Return value = 1 if FILENAME is
determined to be an IDL save set
and 0 if it is not.
FILENAME I str Name of file to be checked
WARNINGS:
This algorithm is based on the first two bytes of the save
set record begin equal to 83 and 82. It has been observed
that IDL save sets start with these bytes. Invalid results
will occur if RSI changes this convention (possible) or if
a non-IDL save set starts with 83 82 (also possible).
EXAMPLE:
To determine if 'file' is a valid IDL save set use:
status = is_ss('file')
Status = 1 if it is a save set and 0 if it is not.
#
COMMON BLOCKS:
None
PROCEDURE (AND OTHER PROGRAMMING NOTES):
PERTINENT ALGORITHMS, LIBRARY CALLS, ETC.:
None
MODIFICATION HISTORY:
Written by Dave Bazell, General Sciences Corp. 4 Feb 1993 spr 10463
.TITLE
Routine IS_SS
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//is_ss.pro)
Name: lasteit
Purpose: read and display most recent EIT images
Input Parameters:
number - number of images to read (default=1)
Output Parameters:
info - EIT instrument parameter (string array, 1 per image)
data - EIT image or image cube
Keyword Parameters:
/w171, /w195, /w284, /304 - desired wavelength (default=171)
/wall - show all four wavel.
/norebin - return full size (default reduced to 512x512)
rebin - size to rebin to (assumed sqare!)
/notv - just return the data
quality - minimum quality "accepted" (see data_quality.pro)
(or, if set as flag, default=90%)
Calling Sequence:
lasteit [info, data, number, /w171, /w195, /w284, /304]
Calling Examples:
lasteit ; display most recent 171 image
lasteit,/w195 ; ditto for 195
lasteit,info,data,5,/w304 ; most recent 5 304 images
; return info and data
lasteit,/wall ; most recent all wavelenghts
lasteit,index,data,50, rebin=256,/quality ; last "50" @171,
; rebin->256, quality>90
History:
5-feb-1996 (S.L.Freeland)
23-apr-1996 (s.l.freeland) tvscl display if /noscale set
3-mar-1997 (S.L.Freeland) use genx (IDL eit_struct based) catalog
instead of old ascii catalog
14-mar-1997 (S.L.Freeland) insure chronological order on output
add QUALITY keyword and function
23-jul-1997 (S.L.Freeland) apply QUALITY *BEFORE* FILL
Restrictions:
Full disk only, Files in $EIT_QUICKLOOK
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//lasteit.pro)
Project : SOHO - EIT
Name :
MK_EIT_L1
Purpose :
Create Level 1 FITS files via eit_prep. Demo program to show usage.
Use :
mk_eit_l1,date,[qkl=qkl]
IDL> mk_eit_l1,'20-mar-1997'
IDL> mk_eit_l1,['5-mar-1997','10-mar-1997']
Inputs :
DATE : Date in any accepted format or 2 element array consisting
of start and stop dates.
Opt. Inputs :
QKL = if keyword set then use quicklook rather than level zero data
fullfov = set if want only full FOV images
Outputs :
Create a single output FITS file for each image. The processing
is done by EIT_PREP. A background is subtracted off, image is
degridded, flat fielded, and normalized
Calls : EIT_PREP, EIT_CATRD, EIT_FXPAR
Common :
None.
Restrictions:
None.
Side effects:
Category :
Data Handling, I/O, FITS.
Written : 1997 March 20, J. Newmark
1997 July 23 Added fullfov keyword, use save_zero option
in eit_prep to save memory J Newmark
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//mk_eit_l1.pro)
Name: mk_lasteit_movie
Purpose: recent EIT full disk movies->WWW (illustrate image2movie...)
Input Parameters:
NONE
Optional Keyword Parameters:
waves - array of EIT wavelengths to include (default = all)
outsize - output size of movie frames (default=280)
mpeg - if set, make the movies MPEG (Default = gif animation)
nimg - number of images to include (most recent NN for each WAVE)
(default=30)
Calling Examples:
IDL> mk_lasteit_movie
IDL> mk_lasteit_movie, outsize=100, nimg=100, waves=[195,304], /mpeg
Calls:
html_doc, file_append, lasteit, eit_colors, data2files, image2movie...
http_names, prstr, strjustify
History:
15-mar-1997 - S.L.Freeland
18-mar-1997 - S.L.Freeland - change movie label times to ECS format
thumbnail frame size -> 80x 80
[via image2movie parameters]
add rename as last step (assume cron only)
21-mar-1997 - S.L.Freeland - if batch mode, move to scratch area 1st
16-jul-1997 - S.L.Freeland - add /JAVA option (pass to image2movie)
22-jul-1997 - S.L.Freeland - add /loop switch in image2movie,/gif call
Restrictions:
User needs write access to $path_http/... area
Assume html HEADER and TRAILER template files are available
If desired, a call to eit_prep would be inserted after call
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//mk_lasteit_movie.pro)
NAME:
MOVIE_MAKER
PURPOSE:
This procedure will create EIT movies (IDL Save Sets).
The user interactively selects a series of FITS images,
scales them, and saves them.
CATEGORY:
WIDGET interface
CALLING SEQUENCE:
MOVIE_MAKER
INPUTS: None. The default is to list files from todays QKL catalog.
User can select date and/or LZ catalog as well as other
selection criteria.
KEYWORD PARAMETERS: None
OUTPUTS:
This routine creates an IDL save set in MOVIE_DIR or current
directory.
COMMON BLOCKS:
common filestuff1,dirspec,flist,index,list7,save_file
common parms,dateit,dateend,nxit,nyit,waveit,outfit,halfres,sclit,rbin,qres
common parms2,fresit,fmark,use_qkl,use_lz,new_flist,save_index,numfiles
common params,date_start,date_end,n_x,n_y,wavel,top_val
common ratio_par,ratioit,save_195,save_171,s195,s171,mk_ratio,$
title_start,title_end,stamp_time,mk_diff
SIDE EFFECTS:
unsure if common block must be re-initialized after each run.
RESTRICTIONS:
Serious memory hog, especially if display movies
PROCEDURE:
A widget is displayed. The user uses the various text widgets
to input selection criterion. The user can display or delete
any of the selected images. The user selects the scaling procedure,
setting a minimum value and maximum value, the movie is then
saved to an IDL save set in movie_dir or current directory.
MODIFICATION HISTORY:
Written by: J. Newmark Date. Apr. 1996
Ratio movie change: D.M. fecit 1996 July 12
Scaling changes J. Newmark 1996 Jul 17
Changed RESCALE calls to EIT_RESCALE. D.M. fecit 1996 Sept. 13
Significant changes:
Changed date format in title, added hourglass. J. Newmark 1996 Sept 27
Add flat fielding, allow inclusion of 1024x1024 images in
sequences of 512x512. J. Newmark 1996 Sept. 27
Add Histogram Scaling, changed scaling algorithm to account
for total exptime, added comments. J. Newmark 1996 Sep 30
v2.0 1996 October 01
Cleaned up code, combined scaleit, roiit J. Newmark 1996 Oct 2
Handle Level-Zero Data - Substantial changes to work with
files which contain 3D data. J Newmark 1996 Oct 7
Allow input of image size in blocks if lt 32, list number of
selected files. J. Newmark 1996 Oct 08
v3.0 1996 October 08
Desensitize SAVE MOVIE button until after images are scaled.
J. Newmark 1996 December 04
Change scaling 284 images, too faint for alog10. J. Newmark 1996 Dec 08
USe fake_missing_blocks,/high for ratio movies J. Newmark 1996 Dec 09
Change rebin from 512x512 to 2 times. J Newmark 1996 10 Dec
Add Quarter resolution output. J Newmark 1996 Dec 23
Remove darks, cal lamps from movies J Newmark 1997 Jan 16
Add inclusion of 4x4 binned with full field J. Newmark 1997 Jan 28
Changed/fixed scaling for image totals J. Newmark 1997 Jan 30
Don't use images with many missing blocks in histogram scale.
J. Newmark 1997 Apr 14
Add ability to make CRUDE difference movies. J. Newmark 1997 Apr 21
Made default for rebin /SAMPLE. D.M. fecit 1997 May 23
(See /service/soho-archive/home/solarsoft//soho/eit/idl/anal//movie_maker.pro)
NAME:
NRL2EIT
PURPOSE:
To make a NRL formatted EIT FITS file compatible with EIT software.
CATEGORY:
FITS processing
CALLING SEQUENCE:
eithdr = nrl2eit(nrlhdr)
INPUTS: NRL formatted FITS header
KEYWORD PARAMETERS: none
OUTPUTS:
FITS header comptaible with EIT software.
COMMON BLOCKS: none.
SIDE EFFECTS: none.
RESTRICTIONS: none.
PROCEDURE:
The only changes needed are to add new keywords to the
header which already contains this info. The necessary info
is grabbed out and re-written.
MODIFICATION HISTORY:
Written by: J. Newmark Date. Oct 08 1996
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//nrl2eit.pro)
NAME:
plot_eit_area
PURPOSE:
Plot the EIT effective area vs wavelength
CALLING SEQUENCE:
plot_eit_area ; Will read the era*genx file
plot_eit_area, area ; area = data structure (in/out)
plot_eit_area,/hc ; For PostScript output
plot_eit_area,/one ; On one wavelength scale
plot_eit_area will produce a four panel plot (unless the /one)
option is specified. Use the /open, /entrance, /ccd switches
to specify which filter wheel case to use (default = /open)
INPUTS:
None are required.
OPTIONAL INPUT/OUTPUT:
area - Data structure from era*.genx
If area is undefined, will be read from the
era*genx file.
filein - By default, the EIT effective area file is read:
concat_dir('SSW_EIT_RESPONSE','era*.genx')
Use filein='your_file_name' to override the default.
OPTIONAL INPUT KEYWORDS:
/one - If set, put all four sectors on one graph.
/linear - If set, plot the ordinance on a linear scale (def. is log)
/open - If set, plot the open filterwheel case
/entrance - If set, plot the entrance filterwheel case
/ccd - If set, plot the ccd filterwheel case
(None) - If open, entrance and ccd area all 0, plot all cases.
/notime - If set, don't put the time on the PostScript plot.
/hc - If set, send to the PostScript printer
/noprint - If both /hc and /noprint are set, create PostScript file
but do not print it.
HISTORY:
12-Jun-95, J. R. Lemen (LPARL), Written.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/response//plot_eit_area.pro)
NAME: plot_eit_entrance PURPOSE: Plot the comparison between computed EIT entrance filter and Jean-Pierre Delaboudiniere measured values. CALLING SEQUENCE: plot_eit_entrance plot_eit_entrance,/hc ; Send to the PostScript printer HISTORY: 10-Jun-95, J. R. Lemen (LPARL), Written.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/response//plot_eit_entrance.pro)
NAME:
plot_eit_filters
PURPOSE:
Plot the transmissions of the EIT filters
CALLING SEQUENCE:
plot_eit_filters
plot_eit_filters,filters ; filters is a data structure
INPUTS:
None are required.
OPTIONAL INPUT/OUTPUT:
filters - Data structure written to era*genx
If filters is undefined, plot_eit_filters
will read the era*genx file to obtain filters.
filein - By default, the EIT effective area file is read:
concat_dir('SSW_EIT_RESPONSE','era*.genx')
Use filein='your_file_name' to override the default.
OPTIONAL INPUT KEYWORDS:
/notime - If set, don't put the time on the PostScript plot.
/hc - If set, send to the PostScript printer
/noprint - If /hc and /noprint are set, create but don't print
PostScript file.
MODIFICATION HISTORY:
10-Jun-95, J. R. Lemen (LPARL), Written.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/response//plot_eit_filters.pro)
NAME:
plot_eit_flux
PURPOSE
Plot the EIT response curves
CALLING SEQUENCE:
plot_eit_flux
plot_eit_flux, /hc ; To make hardcopy
INPUTS:
None.
OPTIONAL INPUT KEYWORDS:
/open - Set to plot the Filter wheel Open case
/entrance - Set to plot the Filter wheel entrance-like case
/ccd - Set to plot the Filter wheel CCD-like case
(if none of these are specified, all will be plotted).
ccd_gain - The assumed CCD_gain in e-/DN
/noverbose - If set, suppress informational messages.
/hc - If set, send plot to PostScript printer
filein - To specify explicitly the ere*genx file
containing the EIT response curves.
OUTPUTS:
None.
CALLS:
EIT_FLUX to read the response file.
HISTORY:
12-jun-95, J. R. Lemen (LPARL), Written.
test version -- just reads the ere*genx file directly.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/response//plot_eit_flux.pro)
NAME:
plot_eit_mirror
PURPOSE:
Plot the EIT mirror reflectivity
CALLING SEQUENCE:
plot_eit_mirror, mirror
plot_eit_mirror, code=2, /notime, /hc, yra=[1.e-6,.1]
plot_eit_mirror, /extend_range, filein=filein
OPTIONAL INPUT/OUTPUT:
mirror - Data structure from the EIT effective area file (era*genx)
If mirror is not defined, the era*genx file will be read.
filein - By default the EIT effective area file is read:
concat_dir('SSW_EIT_RESPONSE','era*.genx')
Use filein='your_file_name' to override the default.
OPTIONAL INPUT KEYWORDS:
code 0: Plot measurements and model
1: Plot ratio of model/measurements
2: Same as 0, but also over plot corrected model (Default)
extend_range If set, extend the wavelength ranges by +/- 50 A
notime - If set, do not put the time on the plot
yrange - Vector of length 2 equal to desired min and max y-axis range
/hc - If set, send to PostScript printer
/noprint - If both /hc and /noprint are set, create PostScript file
but do not print it
/noverbose - Don't give the explanations when running.
CALLS:
eit_witness to obtain the witness mirror data.
HISTORY:
10-Jun-95, J. R. Lemen (LPARL), Written.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/response//plot_eit_mirror.pro)
NAME: plot_eit_response PURPOSE: Plot the various EIT response parameters CALLING SEQUENCE: .run plot_eit_response HISTORY: 10-Jun-95, J. R. Lemen (LPARL), Written.
(See /service/soho-archive/home/solarsoft//soho/eit/idl/response//plot_eit_response.pro)
QMENU puts up a one-column scrolling menu on an X-window terminal.
DESCRIPTION:
QMENU puts up a one-column scrolling menu on an X-window terminal.
This routine uses a list widget for the menu.
It replaces BIGWMENU which did not scroll.
CALLING SEQUENCE:
sel_index = qmenu( strings, title=[...], init=[...] )
ARGUMENTS (I=input, O=output, []=optional)
strings I 1-D arr str A 1-D array of option strings
(and possibly a title too).
title [I] keyword int Index of the element in STRINGS
which will be the title.
init [I] keyword int Index of the element in STRINGS
which will be the default choice.
of the menu window.
sel_index O scalar int Index of the selected option.
WARNINGS:
1. A value of -1 is returned in the event of any error-conditions.
EXAMPLE:
sel_index = qmenu(['title','option 1','option 2'],title=0)
#
COMMON BLOCKS: none.
LIBRARY CALLS: none.
PROCEDURE:
If this routine is invoked from a non-X-window terminal, then put
out a message and exit. Check if a valid argument was supplied
for STRINGS, if not then put out a message and exit. Determine
what will be the title of the menu (if any) and what will be the
options.
Calculate an appropriate X-size for the menu window. This does
not currently work due to the List Widget's insistance on
setting the width based on the items in the list, w/out concern
for the title's width.
Put up the menu window, then monitor and respond to mouse activity.
Exit when a mouse button is pressed and the option is not blank.
REVISION HISTORY:
Created 23-Dec-1992 Peter Kryszak:
parameter checking from Ewing's BIGQMENU
use of IDL's scrolling list widget from Turpie's WDGM
Prgmr SPR Date Reason
-------- ------ ---------- -------------------------------------------
Ewing 10619 Feb 25 93 Supply a left margin.
Turpie unknwn Mar 19 93 Added large nonproportional font,
fixed inconsistencies in margins.
SPR 11127 06 Jul 1993 IDL for Windows compatability. J. Newmark
.TITLE
Routine QMENU
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//qmenu.pro)
Name: read_eit
Purpose: read eit image(s) into 2D or 3D array & map header->structure
Input Parameters:
files - FITS file name(s) to read
Output Parameters:
index - IDL structure containing FITs information (vector)
data - 2D or 3D array of EIT images
nodata - switch, if set, only read and map headers (faster)
Calling Sequence:
read_eit, files, index , /nodata ; only read headers
read_eit, files, index, data ; return 2D or 3D cube
read_eit, files, index, data, outsize=256 ; rebin all DATA to outsize
Keyword Parameters:
outsize (input) - output size (rebinning) - scalar size or [x,y]
header (output) - FITS header of last file in filelist
comment (output) - COMMENT records for all input files
ccnts (output) - used with COMMENT in call to 'mreadfits_info'
History:
27-apr-1996 S.L.Freeland
9-May-1996 S.L.Freeland - pass NODATA through to mreadfits
24-May-1996 S.L.Freeland - update MJD tag
20-aug-1996 S.L.Freeland - fill in expdur tag (exptime+shutclose)
22-oct-1996 S.L.Freeland - add 3D file ("lz") support
23-oct-1996 S.L.Freeland - use anytim(ints,out_style='utc_int')
(in place of anytim2utc(stringtime) )
10-dec-1996 S.L.Freeland - protect against old QKL (no SHUTTER CLOSE...)
14-jan-1997 S.L.Freeland - update DATE_OBS -> CCSDS (soho 'standard')
add INITIALIZE keyword in eit_fxpar 3D call
15-jan-1997 S.L.Freeland - add OUTSIZE (pass to mreadfits)
28-jan-1997 S.L.Freeland - update for enhanced mreadfits (some 3D work)
(removes single 3D file restriction)
11-apr-1997 S.L.Freeland - avoid carrying large coment tag around
12-apr-1997 S.L.Freeland - add documentation, COMMENT and CCNTS output
7-may-1997 S.L.Freeland - extract non-3D "COMMENT KEYWORDS"
(protect against SHUTTER CLOSE ss problem?)
29-may-1997 S.L.Freeland - make new stuff work for single input file!
Method:
use mreadfits.pro for reading and structure mapping
Restrictions:
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//read_eit.pro)
Name: read_eits
Purpose: read of one or multiple EIT files
Input:
eitfiles - input file array
Output Parameters:
odata - data array - 2D or 3D
Calling Sequence:
read_eits, eitfiles
History:
15-Jan-1996 (SLF) - orig LPARL access of EIT quicklook data
17-jan-1996 (SLF) - allow multiple reads (cube returned)
29-jan-1996 (SLF) - use index file for summary information
18-feb-1996 (SLF) - broke the info part out
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//read_eits.pro)
Name: sxt2eit
Purpose: align SXT image to EIT
Calling Sequence:
sxtaligned=sxt2eit(sxtfits, eitfits)
History: proto-version, 23-jan-1996
Restrictions:
only full sun EIT and SXT , simple FITS for now
(See /service/soho-archive/home/solarsoft//soho/eit/idl/util//sxt2eit.pro)