Hi,

It's not always safe to get "XCEN", "YCEN" information directly from EIS fits (main) header.

Here are some suggestions (according to emails between Ignacio U., Ken D., Viggo H. and John M.):

1. use the fits bte header (ie the data_object methods)

IDL> fname='eis_l0_20070320_030501.fits.gz'
IDL> obj=obj_new('eis_data',fname)
IDL> xpos=obj->getxpos()
IDL> ypos=obj->getypos()
IDL> xcen=total([max(xpos),min(xpos)])/2.
IDL> ycen=total([max(ypos),min(ypos)])/2.
IDL> print,xcen,ycen
      21.4457     -976.781

2. use methods provided by the hdr_object

IDL> fname='eis_l0_20070320_030501.fits.gz'
IDL> hdr=obj_new('fits_hdr',fname)
IDL> xcen=hdr->getxcen_ti1(/offset)
IDL> ycen=hdr->getycen_ti1(/offset)
IDL> print,xcen,ycen
       21.410865      -976.24575

3. I wrote a simple wrapped idl program called "eis_getpinfo.pro(info)" to extract pointing information from EIS fits file (ie no need to read full fits file)

IDL> fname='eis_l0_20070320_030501.fits.gz'
IDL> eispointing=eis_getpinfo(fname)
IDL> print,eispointing
       21.410865      -976.24575       583.06600       512.00000
The values mean: [XCEN, YCEN, FOVX, FOVY] (unit: arcsec)

Hope this helps. :)

Any comments?

JianSun 28-Mar-2024 12:59


Hi, Jian

Thanks for doing this! Really useful not to have to read a whole FITS file -- especially the huge files we recently discussed!

On a point of refinement -- and this is something we should consider in the team meeting in October -- I'm not sure that we can really speak of a single EIS pointing. The reason I say this is the North-South offset of about 20" between the two wavelength channels, and also the 1" East-West offset between them. In a sense, each wavelength channel has its own pointing. But perhaps this is factored into your routine already?

Does EIS_PREP correct for these offsets?

--David R Williams, 26-Sep-2007