EISmethods
Back to current versionRestore this version

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 output is an array whose dimensions will vary depending on the type of data. For a standard raster it will be a 3D array.

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, map

To view intensity or line width maps simply use the /int and /wid keywords for eis_mk_map.