An Introduction To Eis Data Analysis: A Tutorial
An Introduction To Eis Data Analysis: A Tutorial
Marcel Proust
This is a very brief introduction to the analysis of observations from the EUV Imaging Spectrometer
(EIS) on Hinode. This tutorial was prepared to help people get their feet wet and is not intended to be
a comprehensive discussion of the instrument or the analysis. There is much more complete information
available elsewhere. References and web addresses are given at the end of this document.
The objective of this tutorial is to read the data from an EIS fits file, fit the line profiles, compute Doppler
shifts and non-thermal velocities, and display the results. Most of the routines discussed here are already
available online in the EIS portion of SolarSoft or will be shortly. Some of the routines are still highly
experimental and should be used with caution.
One of the more difficult tasks is sorting through all of the available data and finding interesting observations.
The EIS catalog tool is a simple but powerful tool for searching through the available observations. It is
distributed through SSW and invoked by simply typing
IDL> eis_cat
at the IDL prompt. eis_cat will allow you to search the “as-run” database on any combination of parame-
ters, such as observing times, study name, pointing, and target.
Once the data files of interest have been identified there are many archives that can be used to download
the actual files. In the US the primary portal to the data is the Virtual Solar Observatory (VSO). Eventually
it should be possible to download data using eis_cat itself, but this is not fully implemented yet.
The xfiles package is the widget-based, EIS quicklook data browsing tool. xfiles can be used to
investigate the contents of a file and is usually the first stop in looking at the data. For the rest of this
document, however, we will focus on what can be done on the command line so that the process of analyzing
the data can be understood in detail.
For this tutorial we’ve selected an active region observation using the study JTM004. This study covers a
large area and takes long exposures so the line profiles generally have good statistics.
Once the data has been downloaded there are a number of utilities for accessing EIS fits files from the
command line. For example, the routine eis_get_wininfo returns information on the data windows in the
file.
1
2
Figure 1.1: Quick rasters formed from summing over each spectral window. These observations began on 12
December 2006 01:07 UT. In the absence of a strong flare the Ca xvii window is a combination of Fe x and
O v. The field of view is 512 × 256 .
The routine eis_prep removes the pedestal and dark current, removes electron spikes and hot pixels, and
calibrates the data. The simplest and most common use of eis_prep is
IDL> file = ’eis_l0_20061212_010720.fits.gz’
IDL> eis_prep,file,/save,/default,/quiet
IDL> $ls -lh *.fits.gz
-rw-r--r-- 1 hpw 7670 55M May 16 10:35 eis_er_20061212_010720.fits.gz
-rw-r--r-- 1 hpw 7670 28M May 16 11:17 eis_l0_20061212_010720.fits.gz
-rw-r--r-- 1 hpw 7670 52M May 16 10:35 eis_l1_20061212_010720.fits.gz
The SAVE keyword indicates that the processed Level 1 files are to be saved in the current directory. Both
a Level 1 data file and an associated error file are saved. The keyword DEFAULT indicates that the default
procedures for dark current subtraction and absolute calibration are to be used. If you want to make the
selections interactively leave this keyword out. Finally, note that the despiking performs a median filtering
on the data. This is for cosmetic purposes. The uncertainty associated with filtered data is set to -100 so
that these pixels can be identified in the fitting.
To begin the analysis we’ll construct a set of quick look rasters by summing over each spectral window. The
routine plot_summary illustrates how to use eis_getwindata to do this. The simplest way to calculate and
plot a raster is
IDL> d = eis_getwindata(file,195)
IDL> plot_image,total(d.int,1)
The data window can be specified as the window number or as a wavelength within the window.
4
10
Wavelength Shift (mÅ)
−10
−20
−30
−40
02:00 03:00 04:00 05:00
Start Time (12−Dec−06 01:07:20)
Figure 1.2: Column-averaged line shift as a function of time. This plot shows the variation in the centroid
due to thermal fluctuations.
The results for all of the windows is shown in Figure 1.1. Since these are integrations over the spectral
windows there is contamination in many of the windows. There is Si xi emission in the He ii window, for
example. The black stripe in the Fe xi 188.23 Å window results from a piece of dust on the CCD.
There are two instrumental effects that complicate the calculation of Doppler velocities: “slit tilt” and
“thermal drift.” The slit tilt results from a small misalignment between the CCD and the slit. This causes
the spectra to lie at an angle to the CCD column. The thermal drifts in the instrument during an orbit lead
to quasi-periodic variations in the line centroid position. This is illustrated in Figure 1.2.
The routine eis_wave_corr attempts to correct for both of these effects. The amount of slit tilt has
been estimated by averaging the velocities along each row from a large raster of the quiet Sun. The thermal
variations for each observation are estimated by assuming that the line centroids in each column (computed
with moments) average to the rest wavelength. This routine can be called using
IDL> eis_wave_corr,file
A file with the wavelength corrections is saved to the current directory. Note that this routine is highly
experimental!
Now that data has been processed we can fit the line profiles. For simplicity we’ll consider a line that can
be reasonably well represented by a single Gaussian. We’ll use the standard routine MPFITPEAK, which is
included in SSW to do the fitting. The routine fit_line in the tutorial directory illustrates how to proceed.
The routine essentially looks like this
d = eis_getwindata(file)
fit_param = fltarr(4,d.nx,d.ny)
fit_error = fltarr(4,d.nx,d.ny)
x = d.wvl - wvl_corr[ii,jj]
y = d.int[*,ii,jj]
5
;; simple gaussian
yfit = mpfitpeak(x,y,a,error=e,perror=perror,/positive)
fit_param[*,ii,jj] = a
fit_error[*,ii,jj] = perror
endfor
endfor
The array wvl_corr was calculated using eis_wave_corr. There are over 100,000 line profiles in each data
window so the fitting can take a long time!
For this exercise we’ll adopt a rest wavelength 195.12 Å and calculate the Doppler shift in the usual way
λ − λ0
v=c .
λ0
The rest wavelength is not well known so the absolute velocities are not well constrained.
The observed line profile has contributions from the instrument, thermal broadening, and a non-thermal
component the
(FWHMobs )2 = (FWHMinstr )2 + (FWHMT )2 + (FWHMN T )2
The thermal width is
λ2 2kTi
(FWHMT )2 = 4 ln 2
c2 Mi
The routine eis_width2velocity can be used to do these calculations and determine the nonthermal ve-
locity. The thermal velocity is based on the peak temperature of formation in the ionization balance.
IDL> instr = 2.5*0.0223 ;; instrumental FWHM of 2.5 pixels
IDL> v_nt = eis_width2velocity(’Fe’,’XII’,195.12,0.070,instr=instr)
IDL> print,v_nt
33.5275
This is in km s−1 . Check the header for more options to eis_width2velocity. Note that this Fe line is
actually a blend of two transitions from this ion and the line appears to be somewhat wider than some of
the other lines.
The results from the Doppler shift and non-thermal velocity calculations are shown in Figure 1.3 and 1.4.
These figures are made using the tutorial routines fit_line_disp and fit_line_hist. The Doppler shift
and non-thermal velocity color tables used for SUMER have been adopted here. The routine eis_colors
will set the color table. For example,
IDL> eis_colors,/velocity
IDL> image = bytscl(velocity,-20,20,top=254)
IDL> plot_image,image,/noscale
Note that the top color in the color table is black for plotting the axes.
The distribution of line shifts and widths are shown in Figure 1.4.
6
Figure 1.3: The results from fitting the line profiles. The line intensity, Doppler velocity, non-thermal
velocity, and background intensity are shown.
3.0•104 1.5•104
2.5•104
2.0•104 1.0•104
1.5•104
1.0•104 5.0•103
3
5.0•10
0 0
20 40 60 80 100 0 20 40 60
Observed Line Width (FWHM mÅ) Non−Thermal Velocity (km/s)
1.5•104 1.2•104
1.0•104
1.0•104 8.0•103
6.0•103
5.0•103 4.0•103
2.0•103
0 0
195.10 195.11 195.12 195.13 −20 −10 0 10 20
Line Centroid (Å) Doppler Shift (km/s)
Figure 1.4: Histograms of line width and line shift for the Fe xii 195 Å line.
7
http://msslxr.mssl.ucl.ac.uk:8080/SolarB/
http://www.astro.uio.no/solarB/software/eis_userguide/index.html
http://msslxr.mssl.ucl.ac.uk:8080/SolarB/docs/EIS_Inst_Paper_SOLA293_Final.pdf
The Virtual Solar Observatory
http://umbra.nascom.nasa.gov/vso/
http://hinode.nrl.navy.mil