EIS Object Methods#
An EIS data object is created with
IDL> data=obj_new('eis_data',filename)
where filename is the name of the EIS FITS file (either level-0 or level-1).
To extract information from an object or manipulate the data it is necessary to use methods. A list of all methods for 'data' is available by doing:
IDL> data->display_methods
We list below some useful methods.
Extracting a data window (getvar)#
This extracts a data window from the object.
IDL> wd=data->getvar(iwin)
where iwin is either the index of the window you want (beginning with 0), or the wavelength of the line you are interested in (e.g., 195.12, the correct window will be found as long as the wavelength given lies within the line window that was observed.) It is also possible to use the name of the line window (e.g. 'FE XII 195.120'), but in that case the string entered must be an exact copy of the name the line is known as in the fits file.
The output is an array whose dimensions will vary depending on the type of data. For a standard raster it will be a 3D array.
WARNING: be careful with using WD to generate images in an emission line. The first dimension of WD is always wavelength and the second dimension is Solar-Y. For raster data, the third dimension will be Solar-X but ordered according to the time each exposure was taken. Since EIS rasters west-to-east this ordering is the opposite to how IDL displays images. It is recommended that you use moments to generate images - see the section further down in this document.
Pointing coordinates (getxpos, getxcen, etc.)#
The heliocentric coordinates for the data are given by
IDL> xpos=data->getxpos() IDL> ypos=data->getypos()
XPOS gives the X-coordinate for each slit position and YPOS gives the position for each pixel in the Y direction.
In addition if you want the coordinates of the center of the raster do:
IDL> xcen=data->getxcen() IDL> ycen=data->getycen()
Note that each of these is an array of same size as the number of exposures. This is because the center of the raster moves with time due to the spacecraft jitter.
Exposure times#
The exposure time for each exposure of the raster is given by
IDL> exp_time=data->getexp()
Extracting the data header#
The header is extracted into an object with
IDL> hdr_obj=data->gethdr()
there are then a number of methods for extracting information from the header which can be listed by doing:
IDL> hdr_obj->display_methods
If you just want to extract the full header into a text array, then do:
IDL> text=hdr_obj->getbte_hdr()
You can then use the standard routine FXPAR for extracting particular parameters, e.g.,
IDL> date_obs=fxpar(text,'DATE_OBS')
Extracting a warm pixel map for a data window#
eis_prep flags warm pixels on the detector during the processing by comparing with warm pixel maps stored in the Solarsoft distribution. Suppose you want to see what the warm pixel map looks like for the 195.12 data window that you're analyzing.
The first step is generate the calibration object:
IDL> cal=data->getcal()
The warm pixel map is then obtained with
IDL> iwin=data->getwindx(195.12) IDL> wp=cal->warm_pixels(data,iwin)
The hot pixel map can be obtained by substituting 'warm_pixels' with 'hot_pixels'.
Moments, Gaussian fitting and maps#
Generating moments for a data window#
Moments are usually used as a quick means of estimating the intensity, velocity and width of an emission line without having to do Gaussian fits. They are obtained by doing:
IDL> m=obj_new(‘eis_moment’,data,iwin=195.12)
A widget will pop up allowing you to define the emission line and continuum to be used for the moments.
A list of methods for 'm' can be obtained by doing:
IDL> m->help
Gaussian fits for a data window#
These are done in the same way as the moments by adding the keyword /gauss:
IDL> m=obj_new(‘eis_moment’,data,iwin=195.12,/gauss)
You will again be asked to define the line and continuum for the fit.
Viewing moments and fits through maps#
To view the moments or Gauss fitting parameters you first need to create an IDL map from the moment object, e.g.,
IDL> mmap=m->mk_eis_map(195.12,/vel)
IDL maps are a widely used means of storing solar image data and to plot the velocity map just created, do:
IDL> plot_map, mmap
To view intensity or line width maps simply use the /int and /wid keywords for mk_eis_map.