These are a list of routines that are usful for EIS analysis. If you find others useful let us know and they can be added to the SSW tree.
%%information
routines marked with %%(color:red;)red-color%% are in common use.
%%
__%%(color:red;)eis_auto_fit.pro%%__:
%%(color:#green;)
{{{
; This routine takes the output from eis_getwindata and performs a fit
; over the intensity array, returning values for the intensity, line width
; and centroid.
;
; The quality of the spectrum is checked to ensure that a good fit can be
; obtained (for bad data, the routine can hang while it tries to find a
; solution).
}}}%%
__%%(color:red;)eis_data~__getwindata.pro%%__ : {{{
; Returns EIS data from a detector window.
; EXAMPLE:
; Create an object:
; IDL> eisfile = 'eis_l1_20070202_104212.fits'
; IDL> eisfile = 'eis_er_20070202_104212.fits'
; IDL> obj = obj_new('eis_data',eisfile)
; IDL> obj_er = obj_new('eis_data',errfile)
; And extract data from window 0.
; IDL> data = obj -> getwindata(0, data_er=obj_er)
}}}
__eis_data~__getwinheader.pro__: {{{
; Returns the FITS header for a spectral window
; Example:
; IDL> data = obj_new('eis_data')
; IDL> eisfile = '$HINODE/eis/mission/2007/02/02/eis_l0_20070202_104212.fits.gz'
; IDL> header=data->getwinheader(eisfile,0)
}}}
__eis_debias.pro__: {{{
; Removes the CCD bias from an EIS data window.
}}}
__eis_despike.pro__: {{{
; EIS_DESPIKE is part of the SOLAR-B EIS analysis software . It is used
; for de-spiking, i.e. to remove cosmic ray spikes from the pixel
; data.
}}}
__eis_exposure_times.pro__ : {{{
; This routine extracts the start times of each exposure in an EIS data
; object. The times are given in seconds relative to the first exposure.
}}}
__eis_find_window.pro__: {{{
; Given the a header structure for an EIS data-set, this routine checks
; if the specified wavelength, WVL, is found in the data-set's wavelength
; windows. If yes, then the index of the wavelength window is returned.
}}}
__eis_get_hdr_struc.pro__: {{{
; This routine extracts selected information from an EIS data header
; into a structure. The particular fields taken from the header are
; defined in the file $SSW/hinode/eis/idl/atest/pyoung/headcat_tags.txt.
}}}
__eis_get_iwin.pro__: {{{
; PURPOSE : To find the data window given the line id or the
; wavelength.
; EXAMPLE : IDL> iwin = eis_get_iwin('eis_l0_20061214_192012',195)
; IDL> print,iwin
; 4
}}}
__%%(color:red;)eis_get_wininfo.pro%%__ : {{{
; PURPOSE : To return information on the windows contained in
; an eis fits file.
; EXAMPLE : IDL> file = 'eis_l0_20061214_192012'
; IDL> wininfo = eis_get_winfo(file,/list,nwin=nwin)
; iwin line_id wvl_min wvl_max
; 0 FE X 184.540 184.29 184.80
; 1 FE VIII 185.210 184.96 185.47
; 2 FE XI 188.230 187.97 188.48
; 3 CA XVII 192.820 192.56 193.07
; 4 FE XII 195.120 194.85 195.37
; 5 FE XIII 202.040 201.78 202.30
; 6 HE II 256.320 256.06 256.58
; 7 FE XIV 274.200 273.96 274.47
; 8 FE XV 284.160 283.92 284.43
; IDL> print,nwin
; 9
}}}
__%%(color:red;)eis_getdata.pro%%__: {{{
; EIS_GETDATA is a script to extract data (one, sevceral or all
; line windows) from a (FITS or CCSDS) data file.
; example 1: Get line window 0 and hdr from CCSDS file1= 'file1.dat':
; IDL> eis_getdata, file1, wd, hdr=hdr, /ccsds
; If e.g 32 pixel wide line window *wavelength,
; 512 slit pos. and 100 raster pos, the dimension of
; wd will now be: wd = uint[32, 512, 100]
; example 2: Get line windows 2 and 3 from fitsfile file2='file2.fits':
; IDL> eis_getdata, file2, wd, iwin=[2,3]
; If same dimensions as above, wd will now be:
; wd = uintarr[32, 512, 100, 2], i.e.
; wd[nlam, nslit, nraster, nwin]
; example 3: Get all 25 line windows and hdr from FITS file 'file2.fits'
; IDL>eis_getdata, file2, hdr=hdr, /all
; wd is now uintarr[32, 512, 100, 25]
}}}
__eis_getlambda.pro__ : {{{
; get the wavelength range of the CCDs
}}}
__%%(color:red;)eis_getmoments.pro%%__: {{{
; EIS_GETMOMENTS is a script to calculate moments from one,
; several or all spectral line windows from a (fits or CCSDS) data file.
}}}
__%%(color:red;)[eis_getwindata.pro|EISGetWindata]%%__: {{{
; Returns EIS data from one spectral window.
; CALLING SEQUENCE:
; d = eis_getwindata(file, [iwin ,keywords])
}}}
__%%(color:red;)eis_orbit_correction.pro%%__: {{{
; Calculates the wavelength vector for each exposure in the EIS data-set,
; corrected for the orbital variation.
}}}
__eis_orbit_spline_quick.pro__: {{{
; Represents the orbital variation of EIS line centroids by a spline
; function with nodes spaced at 5 minute intervals. Returns the value
; of the centroid at the input times.
}}}
__%%(color:red;)eis_prep.pro%%__: {{{
; carries out standard EIS calibration
}}}
__eis_raster_browser.pro__: {{{
; This routine is used to browse 3D EIS data-cubes. It is based on
; software available in the SOHO/CDS software.
}}}
__eis_spike_viewer.pro__: {{{
; This tool is for browsing EIS data arrays that have been cleaned of
; cosmic ray hits.
; EXAMPLE
; IDL> data=obj_new('eis_data',filename)
; IDL> wd=data->getvar(iwin)
; IDL> eis_debias,wd
; IDL> eis_despike,wd,wd_clean,swtch=spikes
; IDL> EIS_SPIKE_VIEWER,wd,wd_clean,spikes
}}}
__fig_tsmean.pro__: {{{
; plots temporal mean of spectrum
}}}
__line_centroid.pro__: {{{
; Finds the centroid of an emission or absorption line by minmizing the
; function SUM( (wavel_i-ref) * flux_i ), for the centroid wavelength,
; ref. Note that the accuracy of the derived wavelength is improved by
; having the input wavelength vector (str.wavel) on a fine scale.
; USE
;
; IDL> line_centroid, wvl, flx, [1030,1035]
}}}
__eis_getfilename.pro__: {{{
; A simple routine for turning a file name into an absolute file
; name. The routine looks in three places for the file: the present
; directory, the mission archive and the quick look directory. If
; nothing is passed a widget comes up, but this isn't very useful.
; EXAMPLE:
; IDL> file=eis_getfilename('eis_l0_20061202_140632')
; IDL> print,file
; .../eis/mission/2006/12/02/eis_l0_20061202_140632.fits.gz
}}}
__eis_help.pro__: {{{
; Instatiates the hw_help object and calls the display_all method to give a
; first introduction to the object help documentation for the eis/hw software.
}}}
__photons_to_energy.pro__: {{{
; Convert intensity from photons [ph m-2 s-1 sr-1] to energy in SI units
; [W m-2 sr-1]
}}}
__eis_get_compression_factor__: {{{
; PURPOSE: Returns the reciprocal of the latest EIS compression factor
}}}
__%%(color:red;)eis_colors.pro%%__: {{{
; set eis colortable for velocity & width maps display
}}}
__eis_raster_fov.pro__: {{{
; PURPOSE : to calculate information about the field of view
; for an EIS raster
; EXAMPLE : IDL> d = eis_getwindata('eis_l0_20071221_001727')
; IDL> eis_raster_fov,d,scale,origin,fovx,fovy
; IDL> print,scale
; 1.00000 1.00000
; IDL> print,origin
; -32.9291 -79.1299
; IDL> print,fovx,fovy
; 128.000 184.000
}}}
__%%(color:red;)eis_element2mass.pro%%__: {{{
; Returns the mass (in grams or kilograms) of an element.
; EXAMPLE:
;
; IDL> Fe_mass = element2mass('Fe')
; IDL> print,Fe_mass
; 9.27339e-23
}}}
__%%(color:red;)eis_slit_tilt.pro%%__: {{{
; PURPOSE : Calculates the slit tilt as a function position
; along the CCD.
; EXAMPLE : dw = eis_slit_tilt(256,512,/short,locations=y)
; wvl = wvl - dw
; plot,y,dw
; ALTERNATIVE USAGE:
; d = eis_getwindata(file,wave)
; dw = eis_slit_tilt(d,locations=y)
}}}
__%%(color:red;)eis_wave_corr.pro%%__: {{{
; PURPOSE : PRELIMINARY EIS wavelength corrections for
; orbital variations and slit tilt using moments.
; EXAMPLE : IDL> eis_wave_corr,file,wvl_corr,dw_tilt,dw_t,/show
; IDL> d.wvl = d.wvl - wvl_corr[i,j]
}}}
__eis_width2velocity.pro__: {{{
; Compute thermal and nonthermal velocities.
; EXAMPLE:
;
; Some example thermal widths:
;
; v_t = eis_width2velocity('C','II',1335,/thermal,ti_max=t,therm_fwhm=fwhm)
;
; ion wave A temp K fwhm A
; C II 1335.00 2.2e+04 0.041
; C IV 1548.00 1.1e+05 0.105
; N V 1238.00 1.8e+05 0.101
; O I 1355.00 1.0e+04 0.024
; O IV 1401.00 1.7e+05 0.102
; Si II 1304.00 1.4e+04 0.021
; Si III 1206.00 3.0e+04 0.028
; Si IV 1393.00 6.3e+04 0.047
; S I 1472.00 1.0e+04 0.019
;
; Compare with Feldman, Doschek, and Patterson, ApJ, 209:270-281, 1976
;
; An example nonthermal velocity:
;
; v_nt = eis_width2velocity('S','I',1900.29,0.04,ti_max=t)
; v_nt = 3.0 km/sec
; t = 10,000 K
;
; Compare with Mariska, Feldman, and Doschek, ApJ, 226:698-705, 1978
}}}
__eis_add_wd_to_spec.pro__: {{{
; This routine takes an EIS spectrum structure and fills in the
; intensity, error and quality tags using the input eis_getwindata
; structure and a pixel mask.
}}}
__eis_adjust_mask.pro__: {{{
; Because of the grating tilt and CCD offset in the EIS
; instrument, the same pixel position in an EIS image formed from
; one wavelength will not directly correspond to the same pixel
; position in an image from a different wavelength. For this
; reason a pixel mask generated with EIS_PIXEL_MASK needs to be
; adjusted when being used for another wavelength.
;
; This routine performs the adjustment using information from the
; routine EIS_CCD_OFFSET.
}}}
__%%(color:red;)eis_ccd_offset.pro%%__: {{{
; Evaluates the spatial offset of the specified wavelength relative
; to He II 256.
; EXAMPLES
; IDL> offset=eis_ccd_offset(195.12)
; IDL> l=findgen(120)+170
; IDL> plot,l,eis_ccd_offset(l)
}}}
__eis_cubic_spline.pro__: {{{
; Creates an optimised cubic spline fit to the orbital variation of EIS
; emission line centroids. The spline is used by eis_orbit_spline to
; perform the orbital variation correction to the output of eis_auto_fit.
}}}
__eis_fit_viewer.pro__: {{{
; Widget-based routine for studying the Gaussian fits produced by
; EIS_AUTO_FIT.PRO.
}}}
__eis_flag_night.pro__: {{{
; Takes the fit structure from eis_auto_fit and estimates which
; data-columns fall into orbital night. Any columns identified are set
; to missing data in the fitdata data arrays, and the new structure is
; returned.
}}}
__eis_get_hdr_struc.pro__: {{{
; This routine extracts selected information from an EIS data header
; into a structure. The particular fields taken from the header are
; defined in the file $SSW/hinode/eis/idl/atest/pyoung/headcat_tags.txt.
}}}
__eis_make_image.pro__: {{{
; Given a level-1 FITS file name and a wavelength, this routine
; creates an image at the specified wavelength by summing 7 pixels
; across the line profile.
}}}
__%%(color:red;)eis_orbit_spline.pro%%__: {{{
; Takes the centroid tag from the output of the EIS_AUTO_FIT
; routine and computes a fit to the orbital variation. The velocity array
; is averaged in the Y-direction (see the keyword YRANGE=), and a cubic
; spline is fit to the averaged function (see the routine
; EIS_CUBIC_SPLINE). The spline fit is then subtracted from the centroid
; array to give the corrected centroid array. The velocity array is also
; corrected by converting the centroid to km/s.
}}}
__eis_pixel_mask.pro__: {{{
; This is a mouse-based routine that requires for input an image
; array. The image is displayed and a `menu' will appear in the
; IDL window. The options are:
;
; LEFT: Go into `polygon' mode
; MIDDLE: Go into `painting' mode
; RIGHT: Exit
; EXAMPLES:
; EIS_PIXEL_MASK, IMAGE, MASK, WVL, SLIT
; EIS_PIXEL_MASK, IMAGE, MASK, WVL, SLIT, COL=255, MAXIMAGE=0.5
}}}
__eis_mask_spectrum.pro__: {{{
; Using a pixel mask created with EIS_PIXEL_MASK, this routine
; averages the EIS spectra over the specified spatial pixels to
; create an averaged spectrum. The error bars on the intensities
; are correctly calculated.
; EXAMPLE:
; IDL> eis_mask_spectrum, l1name, mask, swspec=swspec, lwspec=lwspec'
}}}
__%%(color:red;)eis_tilt_correction.pro%%__: {{{
; Corrects the eis_auto_fit fit structure for the tilt of the EIS slit.
; Both the 1" and 2" slits are accounted for.
}}}
__eis_winwvl_hdr.pro__: {{{
; For the specifed wavelength window in an EIS data object, this routine
; returns the wavelength vector for the window.
}}}
__errors.pro__: {{{
; Given two line intensities/fluxes and their 1-sigma errors,
; calculates the ratio and the 1-sigma error on the ratio.
}}}
__%%(color:red;)fe12_density.pro%%__: {{{
; Takes the Fe XII 195 and 186 fit structures produced by eis_auto_fit,
; and creates a density structure containing a density map. The densities
; are derived used the CHIANTI atomic database.
}}}
__spec_gauss_eis.pro__: {{{
; This routine is a 'wrapper' for calling the general purpose
; line fitting routine SPEC_GAUSS_WIDGET. For creating the input
; spectrum in the correct format, try using the routine
; EIS_MASK_SPECTRUM.
}}}
__%%(color:red;)eis_find_lineraster.pro%%__: {{{
; Searches if a specific wavelength is within the wavelength
; range of observation of the rasters in the EIS database.
; Example:
; Look for 195.33:
; IDL> acronyms=eis_find_lineraster(195.33,summary=summary,rasters=rasters,lines=lines)
}}}
!!Quicklook tools
__%%(color:red;)xfiles.pro%%__:{{{
; XFILES is used to select data files from data bases. It reads
; data from many data sources. The user can also specify own
; data sources, in which case data-read procedures must be
; provided. XFILES defines the data objects, header objects and
; auxiliary objects and sends them to XDISPLAY. The XDISPLAY
; window is opened when the user selects a data file in XFILES.
}}}
__xmap.pro__: calling by xfiles.pro only {{{
; XMAP is used to display 2-D (or higher) data. It is a
; widget based program with several options and functions that
; allows data to be displayed in a nukmber of modes.
}}}
__xcontrol.pro__: calling by xfiles.pro only {{{
; XCONTROL is the main QL control window. After selecting a file (CCSDS or
; FITS) this windows opens with information about the data, and control
; buttons etc. for the various display methods and data processing
; options available for a particular set of data.
}}}
__xdetector.pro__: calling by xfiles.pro only {{{
; XDETECTOR is used to display 2-D (or higher) data. It is a
; widget based program with several options and functions that
; allows data to be displayed in a nukmber of modes.
}}}
__xraster.pro__: calling by xfiles.pro only {{{
; XRASTER is used to display 3-D spectroscopic data in the form
; of a raster (i.e. intensity[lambda, slit pos, raster pos.].
; One line is displayed as I[lambda, slit pos] with one display window
; for each raster (using !p.multi). If more than one line, these
; are added as extra rows of display windows.
}}}
__xwhisker.pro__: calling by xfiles.pro only {{{
; xwhisker is used to display 2-D spectroscopic data as whisker plots
; (images). I.e. Intensity[wavelength, y].
; Typically y will be solar_x (for a raster) or
; for sit-and-stare observations it will be time.
}}}
__xmoment.pro__: calling by xfiles.pro only {{{
; XMOMENT plots mean line profile, and has interactive mouse
; functions to mark where the line is (start/stop pixels) and
; where the continuum is. This information is used by the
; eis_moment__moment program to calulate moments of the line
; profile.
}}}
__ximovie.pro__: calling by xfiles.pro only {{{
; XIMOVIE provides a widget interface to run and control
; images displayed as a movie. The images must be written
; as an assoc file.
}}}
!!Other useful routines
__%%(color:red;)eis_cat.pro%%__: {{{
; Purpose : widget interface to EIS AS-RUN catalog
; Syntax : IDL> eis_cat
}}}
__eis_search_rasters.pro__: {{{
; PURPOSE : To search the EIS raster database
; EXAMPLE : eis_search_rasters
}}}