Fundamentals for SXT Pointing Software and Databases /ys/sxt/doc/pointing_suncen.txt (MDM 9-Mar-95) There are two fundamental pieces to the registration and pointing coordinate question. 1. Coordiantes of the Center of the Sun. 2. Coordinates of the Center of the Field of View. Both values are saved and passed around in absolute CCD coordinates. SXT_CEN returns the absolute CCD coordinates of the center of the sun for any given time. The results are completely independent of PFI/FFI/ROI location/summation/SXT_PREP regisration or anything else. The only input required for SXT_CEN is the date and time (when an index or roadmap is passed in, only the date and time are used). There is one pair of values for any given time. SXT_CEN returns item #1 shown above. By default, GT_CORNER and GT_CENTER return the absolute CCD coordinate of the corner or center of the image(s) that you have read. GT_CORNER and GT_CENTER work on an index and there is a value per image. It returns item #2 shown above, and this applies to FFI and PFI images. These routines were required because of the "messy" way that on-chip summation occurs. There are switchable options on the GT_CENTER routine to return the coordinates relative to the sun center. /ANGLE will return the number of arcseconds east/west and north/south of the center of the FOV relative to the sun center. The /HELIO option also takes the sun center coordinates into account when producing the heliocentric coordinates of the center of the field of view. The /FROM_SC option for GT_CORNER give the coordinates of the lower left pixel of the image(s) relative to the sun center coordinate in summed pixels (dependent on the resolution of the image). If you want the IDL coordinates of the center of the sun within each of your individual images (ie: within the IDL 2-D array), then you would do: IDL> rel_cen = ( sxt_cen(index) - gt_corner(index) ) IDL> rel_cen(0,*) = rel_cen(0,*) / 2.^gt_res(index) IDL> rel_cen(1,*) = rel_cen(1,*) / 2.^gt_res(index) For example, let's say that you had a FOV which had the lower left corner exactly at the center of the sun, and that GT_CORNER returns (x0,y0) for that lower left corner. SXT_CEN would return the exact same values x0,y0 (based only on the TIME of the image), and so "rel_cen" would be (0,0) saying that the coordinates of the center of the sun for that image is in "data(0,0)". The /FROM_SC gives the same result, but with the oposite sign. Lets run through an example: IDL> rd_xda,'/yd1/sfd_daily/sfd950130.0613',[9,10,11,12,13],index,data IDL> print,gt_center(index) 512.500 511.500 514.500 511.500 512.500 511.500 512.500 511.500 512.500 511.500 The center for the second image is different from the rest because it is QR, and there is a "feature" with the on chip summing readout. IDL> print,gt_center(index,/angle) -57.2020 -172.278 -52.6170 -187.886 -58.7685 -185.778 -59.4930 -183.928 -60.1687 -180.851 Since these are un-registered, the position relative to the suncenter wanders. IDL> print,gt_corner(index,/from_sc) % Compiled module: GT_SXT_CEN. GT_SXT_CEN: An index with a .HIS was passed in, but no GT_SXT_CEN: values in .SUN_CENTER so SXT_CEN is being called -267.870 -290.375 -133.250 -146.538 -268.245 -293.120 -268.385 -292.740 -268.510 -292.110 The /FROM_SC option for GT_CORNER give the coordinates of the lower left pixel of the image(s) relative to the sun center coordinate in summed pixels (dependent on the resolution of the image). The sun center coordinates are (0,0) and the value returned is relative to that, so for an FFI, the lower left corner is in the "negative" direction from sun center. Now lets register the images and see what the results look like. IDL> sxt_prep,index,data,index2,data2,/reg,outres=2 IDL> print,gt_center(index2,/angle) -58.6552 -182.003 -58.6554 -182.003 -58.6554 -182.003 -58.6554 -182.003 -58.6554 -182.003 Since the image has been registered, the coordinates of the center of the field of view are all equidistant from the center of the sun. IDL> print,gt_corner(index2,/from_sc) -133.751 -145.942 -133.751 -145.942 -133.751 -145.942 -133.751 -145.942 -133.751 -145.942 A ton of the problems that people tend to have is resolving what is relative to what. All coordinates that we use (SXT_CEN, GT_CORNER, and GT_CENTER) are in absolute pixel coordinates on the fixed CCD. When we register an image, then GT_CORNER-SXT_CEN all give the same results, because those numbers are relative to sun center. The other thing to remember is that these absolute coordinate from SXT_CEN and GT_CORNER have nothing to do with the IDL subscripts in the "data" variable. That is probably where most people have problems. If you want the sun center coordinates relative to the lower left corner pixel (ie: "data(0,0)" then you would do SXT_CEN - GT_CORNER, so that you have pixels RELATIVE TO THE DATA ARRAY, where GT_CORNER - SXT_CEN is RELATIVE TO SUN CENTER.It's all a matter of what you want relative to what. We save everything in the same coordinate system and units so that we can go to and from all of these other coordinate systems.