Internal header The header is composite of 3 arrays each storing different data type. The arrays are : dbl_keys r*8 chr_keys character*80 int_keys int*4 These arrays are in common and can be access vis a routine. There are currently 4 headers 2 for the integer map 2 for the exposure map There are 3 access routines to the header one for each variable type ghead[dis] (mapid, key , val, mode, status) mapid : string to ID which map is in used (MAP, MAPSV, EXMAP EXMAPSV) key : string which ID a particular value in the header val : value of the key mode : 0=read/get 1=write/set NOTE Routines that deal only with the header do not need to have pass down from ximage any argument regarding the header Internally the routine can call the function isloaded("map") to test if there any values set in the header and return if false. Double array crval1 value in TCRVALm or CRVALm (typically ra for --TAN) crval2 value in TCRVALn or CRVALn (typicaly dec for --TAN) Note These value are keept as read from the file (unless precession occurs) These are degrees crota2 value in TCROTA ot TROTA (valid for --TAN) Degrees ximnorth north old internal ximage convention cdelt1 value in CDELTm or TCDELm cdelt2 value in CDELTn or TCDELn Note ximage now stores the values as read from the file no need to store them negative for non interger increment value. Stored as degrees BUT check *** internally when used as arcsec. ddelt1 value in the DDELT keywords ddelt2 drpix1 value in the DRPIX drpix2 Note this is an internal ximage / xselect convention and no widely used These value and the C or T value are all kept and available to use in the code crpix1 value from CRPIXm or TCRPIXm crpix2 value from CRPIXn or TCRPIXn Note ximage now stores them as read from the image no need to shifting around the coordinates to get the half pixel equinox equinox. This is the image equinox namely the crval values are in this equinox and thier values are always kept as in the original file. However : The ximage convention of the equinox is the following There is a default equinox set, if an input image has a different coordinate equinox from the default the coordinates are always precessed to the default equinox when their are used. Ex 'header' the coordinates are display in the default equinox. If in the reader the qualifier ra and dec are specified these are interpreted as given in the current ximage equinox read/ra/dec equinox=default ximage If instead in the reader the equinox is given together ra and dec the internal ximage equinox is changed to be the input equinox. read/ra/dec/equinox the default equinox is changed to the input equinox The following commands cey 2000 read/ra2000/dec2000 are equivalent to read/ra2000/dec2000/equinox=2000 default ximage equinox is defined and stored in the main program in a variable named 'equinox' exposure exposure kept in seconds. For events files is calculated internally based on the gti. For images read from file the following keywords are tried EXPOSURE ONTIME XS-ONTI LIVTIME TIME_LIV XS-LIVTI TIME_NET EXP_TIME TELAPSE. *** Check internally for minites transformation dtime dead time kept as fraction (0-1) read from DEADC DTIME DEADC DTCOR XS-DTCOR DEADTIME datamin image min calculated internally always but never scaled datamax image max calculated internally always Note different from how was before where scaling was calculated if over 32000. Now the scaling is still needed because internally maps are stored in intergers. The following values are mainly for recording, and are not used in calculations, etc. ocrpix1 Reference pixel for axis 1 in original image ocrpix2 Reference pixel for axis 2 in original image ocrval1 Reference value for axis 1 in original image ocrval2 Reference value for axis 2 in original image ximscale Scaling factor applied to original image ximzero Offset XIMAGE has applied to original image Character array file input file name root input file root (file - extension) object from OBJECT keyword ctype1 from CTYPE or TTYPE (if --TAN coordinates) ctype2 from CTYPE or TTYPE (if --TAN coordinates) cunit1 from CUNIT cunit2 from CUNIT telescop from TELESCOP instrume from INSTRUME detnam from DETNAM filter from FILTER date-obs from DATE-OBS date-end from DATE-END Integer array loaded 0 = not loaded 1= loaded expmap 0 = exposure map, 1 = not exposure map vignapp 0 = vign correction not applied, 1 = applied szx x size in pixel. This is always the array size read in NOTE that if the image has black spaces in it these are a kept szy y size in pixel zmx x zoom. This is an input paramater but can be different from the input beacuse the mission databases record the original detector size. when read a known mission the pixel size is compare to the mission databases pixel size and their ratio give the zoom zmy yzoom. currently ximage do not use the zooms for the two axises emin energy minimun emax energy maximum