Chapter 4 - Manipulating EIT data


This chapter is meant to be used as a brief guide to manipulating and displaying EIT data. It is assumed that you have identified the data sets you want to use, and have installed the software tree with up-to-date EIT software and that the software tree is functioning properly.


Getting Started

The information in this chapter assumes that you have identified and acquired the EIT data and have the EIT software tree running properly. Chapter 1 discusses the software tree. Note: the EIT data should be level zero fits files. Usually level zero fits data files are named something like "efz19970804.080011". If you have quicklook data, you should obtain level zero data from an EIT Co-I (level zero data is generally available a month after the observation).

The eit_display widget

A quick way to display EIT data is using the EIT_display widget. To do this properly, the environment variable REF_DIR must be set to the directory containing EIT data. If the EIT data is not in REF_DIR, you can also enter it in the directory window.

IDL> eit_display

Eit_display automatically degrids and flat-fields the data.

Processing a single-image fits file

To check if the fits file is not a multiple fits file, try

IDL> print, eit_fxpar(hdr, 'NAXIS3')

If NAXIS3 greater than 1, go to Dealing with Multi-image fits file. Anyhow, if you've got a single-image fits file, and if you want to obtain the image data, you could do

IDL>img = readfits(file,hdr)

which will read the data directly from the fits file and return the EIT header information. However, if you'd like to have the data flat-fielded, degridded, exposure time normalized (to DN [data numbers] per second), filter normalized, and/or response normalized, there is a program called eit_prep.pro. (For descriptions of exposure time and filters, see header information below). The image is "degridded" because a filter in the instrument produces a pattern on an EIT image. The degridding factors were calculated and stored in the software tree , and the image is multiplied by the degridding factor for a fairly reasonable correction to the data. Filter normalization involves accounting for the variable transmittivity of the clear and aluminum filters. Response_norm corrects for the variable sensitivity of the CCD detector (warning: since this is a time-dependent variable, for some dates the response factor may not (yet) have been calculated, so sometimes response_norm produces no effect). Setting the keywords /normalize (divide by exposure time for DN/sec), /filter_norm, and /response_norm should correct for the instrument variables and give the same relative brightness in similar images.

IDL> eit_prep, file, hdr, img, /normalize, /filter_norm, /response_norm

returns a flat-fielded, degridded image "img", along with the adjustments specified as keywords. Note: this is only for two-dimensional fits files.


Dealing with Multi-image FITS files

If the image a multiple-image file, you can process a single image, a vector, or all the images:

IDL> eit_prep, file, hdrs, datacube, image_no=3, /normalize, /filter_norm, /response_norm, /save_zero
or
IDL> eit_prep, file, hdrs, datacube, image_no=[0,5,22], /normalize, /filter_norm, /response_norm, /save_zero
or
IDL> eit_prep, file, hdrs, datacube, image_no='all', /normalize, /filter_norm, /response_norm, /save_zero

If all of the data is missing in a single image, the keyword /save_zero forces eit_prep to return a blank image (normally it would just return a zero, which won't fit into your data cube). You now have a processed data cube - the images may be different wavelengths, you can check:

IDL> print, eit_fxpar(hdr, 'WAVELNTH', image_no = 5)

which returns the wavelength of the fifth image in the data cube. You can also return an array of all of the wavelengths:

IDL>waves=eit_fxpar(hdr, 'WAVELNTH', image_no = 'all')

Dealing with many FITS files

There are various methods for dealing with multiple FITS files. If the files contain only SINGLE images then the call to EIT_PREP as described in reading a single FITS file section works for a vector file list. An alternative method for reading many FITS files (single image or multiple images) is:

IDL> read_eit, filelist, inhdr, imgs
IDL> eit_prep, inhdr, outhdr, imgs, data=temporary(imgs), /normalize, /filter_norm, /response_norm

Often one might wish to process a number of FITS files without saving all the data in memory but rather writing the processed data to new FITS files. This is accomplished via:

IDL> mk_eit_l1, list = filelist

You may wish to examine the other options for this routine.

Displaying images

Once you've got your image, you can pull up an IDL window and display it. We recommend logarithmic scaling:

IDL> tvscl, alog10(img>.5)

where img is two-dimensional. If you've got several images, you can do

IDL> tvscl, alog10(img(*,*,5)>.5)

The lower limit of the image used is .5 (alog10(0) = Nan, so you have to set a lower bound or you might get an error); experiment by varying the lower and upper limits until the image looks best. Note: images with the same wavelength should be displayed with the same upper and lower limits if they are to be compared.

EIT color tables

In the software tree, in the directory specified by the environment variable SSW_SETUP_DATA, lurks a file called 'color_table.eit'. You should also ensure that you have an environment variable 'coloreit' defined as this file. EIT user rule: No EIT image is to be displayed with the wrong color table. Some are tempted to use "Red Temperature" or another color table, and many have suffered for their folly. To choose the correct color table entry, do

IDL> wave = eit_fxpar(hdr, 'WAVELNTH')
or
IDL> wave = eit_fxpar(hdr, 'WAVELNTH', image_no = 5)
IDL> eit_colors, wave
You could also do

IDL> xloadct, file = getenv('coloreit')

to get the color table widget.

For example, the image on the left is an EIT 284 Å displayed with the Red Temperature table (bad!) without playing with the lower and upper limits:

IDL> tvscl, alog10(img>.5)

While the image in the middle is displayed with better limits but in the wrong color table:

IDL> tvscl, alog10(img>.02<50)

while the final image (which shows much better quiet sun detail because the color table is optimized for an EIT image in that particular wavelength) is both scaled properly and has the correct color table:


EIT Pointing

Note: This section is important only for older versions of the data. Current versions of data have the corrected EIT pointings in the headers.

This section is not meant to be an exhaustive study of EIT pointing questions, but rather to introduce the User to the main parameters and PITFALLS, especially with regards to co-alignment with other instruments. It is assumed the user is familiar with the standard FITS keywords, CRPIX, CRVAL, etc. NOTE, FITS standard starts with pixel (1,1) while IDL uses pixel (0,0). you may need to correct for this

WHERE ARE WE POINTED? Not an easy question. Until recently, EIT had used automated limb-fitter to determine the Solar pointing. As is well known, this method can fail given the presence of above-limb material. The level zero data has been re-processed with a more accurate determination of the pointing. For older data, you can obtain the pointing of EIT, by ignoring the FITS headers and using the function EIT_POINT, e.g.

IDL> xy = eit_point(date,wavelength)

An additional complication is subfield images taken prior to the re-processing date. These images contain no values of CRPIX, CRVAL, but instead have the "raw" pixel coordinates, (P1_X:P2_X,P1_Y:P2_Y). To convert these to Solar coordinates one must get the xy pointing as above and then to obtain the lower left corner of the image:

IDL> CRPIX1 = (eit_fxpar(hdr,'p1_x')-xy(0)-1) * eit_pixsize()
IDL> CRPIX2 = (eit_fxpar(hdr,'p1_y')-xy(1)-20) * eit_pixsize()

EIT Timing

It is necessary to devote a short description of the times given in the EIT image headers. In particular, one needs to be cognizant of two times, the exposure time and the time of observation.

EXPOSURE TIME: The time given in the header reflects the commanded exposure time plus a SHUTTER DWELL TIME which is approximately 2.1 seconds. Due to on-board software problems, this shutter time is not properly reflected in the images prior to July 17, 1996 and has been fixed at 2.1 seconds.

OBSERVATION TIME: Here again, there is an ambiguity due to the on-board software. The time reflected in the DATE_OBS field is the "nominal" start time of the exposure. HOWEVER, we realized that this time was off from the "true" start time, by varying amounts up to 5 minutes. Starting from September 1997, this "true" start time is reflected in the CORRECTED DATE_OBS field (mapped to CORR_OBS in structures). This may be important when performing detailed time comparisons, e.g. high cadence EIT images versus MDI hi-res magnetograms.


EIT movies

There are a number of ways to make movies from the EIT data depending upon how you wish to display them. A partial description of some of the more useful methods follows:

1) MOVIE_MAKER - This (widget) procedure will create EIT movies (IDL ] Save Sets). The user interactively selects a series of FITS images, degrids them, scales them, and saves them. These movies can then be viewed using EIT_DISPLAY or EIT_MOVIE.

2) MK_LASTEIT_MOVIE - This procedure creates a movie of recent EIT full disk movies. The user selects simply the number of frames and the wavelength. Output is either a GIF animation, MPEG, or JAVASCRIPT movie. These frames are not degridded. The default output size is 280x280 but is an input parameter.

3) EIT_MKMOVIE - Create a GIF or MPEG (WW) movie from an Input FITS file list or byte-scaled data cube. This procedure does degrid and flat field the images. It is also useful if one already has a movie as created by MOVIE_MAKER and now wants to create a movie suitable for viewing on the web. Simply restore the IDL save set and use the data array (typically = b0) as input.

4) EIT_SUB_MOVIE - Create a movie of a subfield image from a sequence of full field images, tracking the region of interest with solar rotation. The output of this is simply the 3D IDL array.


Coming soon:

EIT fits header information

EIT User's Guide Index | Chapter 1 | Chapter 2 | Chapter 3 | Chapter 4 | Chapter 5 | Chapter 6 |



Return to the EIT Home Page

The SDAC home page

The SOHO home page

Please forward comments to:
Barbara Thompson
thompson@eitv3.nascom.nasa.gov
1-301-286-3405