!!!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.

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|http://hesperia.gsfc.nasa.gov/~zarro/idl/maps/maps.html] 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.