I just wanted to alert people to the fact that we've written a wrapper to the EIS objects that return the data as a structure. This may provide somewhat faster access to the data. Here's a quick example. If you wanted to read the Fe XII 195 data window from a file and plot it you could do this:

IDL> d=eis_getwindata('eis_l0_20070202_104212',195)
IDL> help,/str,d
** Structure <2974204>, 19 tags, length=8397328, data length=8397322, refs=1:
   FILENAME        STRING    'eis_l0_20070202_104212.fits.gz'
   LINE_ID         STRING    'FE XII 195.120'
   INT             FLOAT     Array[16, 256, 256]
   ERR             FLOAT     Array[16, 256, 256]
   WVL             DOUBLE    Array[16]
   TIME            FLOAT     Array[256]
   TIME_CCSDS      STRING    Array[256]
   EXPOSURE_TIME   FLOAT     Array[256]
   SOLAR_X         FLOAT     Array[256]
   SOLAR_Y         FLOAT     Array[256]
   NL              LONG                16
   NX              LONG               256
   NY              LONG               256
   SCALE           FLOAT     Array[2]
   UNITS           STRING    'DN'
   MISSING         INT           -100
   IWIN            LONG                 9
   HDR             STRUCT    -> <Anonymous> Array[1]
   TIME_STAMP      STRING    'Fri Jul  6 08:44:52 2007'
IDL> plot_image,sigrange(total(d.int,1))