IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changes between Initial Version and Version 1 of Astrometry,_differential


Ignore:
Timestamp:
Feb 24, 2009, 4:23:53 PM (17 years ago)
Author:
trac
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Astrometry,_differential

    v1 v1  
     1(started by dgm 9 Feb 07 after conversations with Gene)
     2
     3Big Picture:
     4
     5   Due to the effects of seeing (mostly) and other stuff (a little), one get better astrometric accuracy by solving
     6   for frame-to-frame mapping coefficients and then star parameters (relative position, motion, parallax, etc.)
     7   in a small chunk of sky than one gets in a big chunk of sky.  The division between "small" and "big" comes from
     8   being able to locally characterize the seeing and other errors by a low order polynomial (or similar) as disctinct
     9   from actually understanding all of the effects and taking them out on all (or at least larger) scales.  You
     10   get better accuracy, but the price is doing differential measurements.  You get relative position, motion,
     11   parallax, etc., with respect to the mean of all stars and galaxies in the soltuion.  For bright stars, this
     12   is a big problem because the correction from relative to absolute parallax, for example, can be a few milliarcseconds
     13   at 15th magnitude.
     14
     15Brief Description of Current Algorithm:
     16
     17   Outer loop:  All portions of the visible sky.  At the moment, I have adopted the HEALPix tessellation using
     18        NSide=512 which gives NPixel=3,145,728 and a squarish box of side about 6.9 arcminutes.  This may be too
     19        big, but it is a starting point.
     20
     21      Task:  Consult database and get the list of all stars that lie in this HEALPix.  Life is a lot easier if
     22             all stars have unique IDs and even more so if the database has a column containing the HEALPix.
     23
     24      Task:  Given the list of star IDs, extract all measures of all stars from all observations.  We use the
     25             chip-based observations (x and y in pixels, brightnes in counts), and we rely on the database
     26             to provide metadata such exposure data as epoch, bore sight (RA,Dec), camera rotation, filter, etc.
     27
     28      Task:  Go to the reference catalog and extract "first guess" data such as position (RA,Dec), magnitude,
     29             color, star-or-galaxy, parallax, proper motion, etc.
     30
     31      Task:  Identify each combination of Observation+CCD that contains enough HEALPix stars, and compute the
     32             expected position for each reference catalog star.
     33
     34             (At the moment, and possibly for not well understood reasons, I have chosen to project each
     35              reference star to the tangent plane of an idealized exposure of the nominal field center
     36              at the instant of the observation based on the SLALIB DS2TP() routine.  Since my simulation
     37              starts with no knowledge of proper motions or parallaxes, the starting guess is Apparent
     38              places, as distinguished from SLALIB's Catalog and Mean places, at the instant of 2000.0.
     39              Maybe this needs to be fixed.)
     40
     41   Inner Loop:  Since neither the places nor transformations are known, a relaxation is needed.  Since most
     42        do not move and have no parallax, the catalog positions should be reasonably accurate.  Hence, the
     43        first step of the relaxation is to compute the transformations, and the second is to compute the
     44        mean positions.
     45
     46      Task:  Given the set of actual positions (x and y in pixels) and the true positions (xi, eta; starting at
     47             the catalog values but moving as the iterations proceed), use least squares to compute the
     48             transformation between (x,y) and (xi,eta).
     49
     50             (At the moment, I use a cubic polynomial in each of X and Y.  Many experiments have shown that
     51              the seeing does all sorts of things, but that a cubic gives a decent approximation without inserting
     52              steep gradients, etc.)
     53
     54             (Numerical experiments have shown two areas where this solution has problems.  The first is where
     55              the stars used in the fit occupy only a small portion of the HEALPix.  This means that the solution
     56              will be extrapolated for stars in the HEALPix, not included in the soltuion, but whose parameters
     57              need to be estimated.  It is much better to insert these with a low weight than to omit them.
     58              The other is for the first solution of the first iteration.  Noise is bad enough, but stars with
     59              significant motion or parallax tend to distort the solution.  This distortion can persist through
     60              many iterations.  It is much better to restrict this first solution to galaxies or faint stars
     61              whose motion is zero or negligible.)
     62
     63             (By using (x,y) and (xi,eta), the scale (arcsec/pixel for example) will appear in the coefficients.
     64              This isn't an extra free parameter because the linear term includes effects from seeing and other
     65              things, but it makes these terms nowhere near unity.  If you convert (xi,eta) into idealized pixels,
     66              the constant terms can get really big.  At some level, this choice is driven by personal preference.)
     67
     68
     69             (Remember that this fit is mostly to remove the seeing, residual errors in the telescope model, and
     70              similar.  Since a single Observation+CCD contains many HEALPix, the same pairing will have different
     71              transformation coefficients in solutions for different HEALPix.  One should avoid detailed interpretation
     72              of these transformation coefficients and attribution of their value to causes other than seeing.)
     73
     74      Task:  Given the transforamtion coeffients for each Observation+CCD, transform the measures for each star into
     75             the mean coordinate frame, and then fit these for position, proper motion, parallax, refraction,
     76             perturbations from unseen compaions, and anything else you can think of.
     77
     78             (This step needs lots of metadata.  A useful choice is to retain times in Julian years counted from
     79              2000.0.  This makes the constant term the one you need for the catalog and gives you annual proper
     80              motion.  My preference is to use SLALIB to compute the parallax factors and refraction coefficients by
     81
     82                  pi = 4.0D00*ATAN(1.0D00)
     83                  halfpi = pi/2.0D00
     84                  twopi = pi*2.0D00
     85                  z = SIN(obs_ha)*SIN(halfpi-obs_lat)/SIN(obs_zd)
     86                  obs_pa = ASIN(z)
     87                  z = TAN(obs_zd)
     88                  obs_rra = z*SIN(obs_pa)
     89                  obs_rdec = z*COS(obs_pa)
     90                  CALL sla_MAPQK(r0,d0, ZERO,ZERO,1.0D00,ZERO,
     91                *                amprms, ara,adec)
     92                  CALL sla_MAPQK(r0,d0, ZERO,ZERO,ZERO,ZERO,
     93                *                amprms, bra,bdec)
     94                  obs_pfx = (ara-bra)*3600.0D00*radian*COS(d0)
     95                  obs_pfy = (adec-bdec)*3600.0D00*radian
     96
     97              Sorry for FORTRAN but the C would be very similar.  These follow the assumption of the idealized projection
     98              to a tangent plane axes oriented along RA and Dec.  The parallax factors are in units of arcseconds, and the
     99              refraction vectors are dimensionless.  The least squares fit for each star is
     100
     101                  X = a + b*t + c*obs_pfx + d*obs_rra
     102                  Y = A + B*t + C*obs_pfy + D*obs_rdec
     103
     104              where X and Y are computed for the star from the appropriate transformation, and obs_pfx, obs_pfy, obs_rra,
     105              and obs_rry are taken from each observation's metadata.)
     106
     107             (One can argue that there is only one parallax for the star, and that the soltuions for X and Y should be
     108              coupled into a single solution.  I really don't like to do this, but will omit all the reasons here.)
     109
     110      Task:  Using the solution coefficients, the predicted place for each star on each CCD of each exposure is updated.
     111
     112   End of Inner Loop:  Three iterations is usually enough for convergence.
     113
     114      Task:  If you have a list of known galaxies, then their mean motion and parallax should be computed and removed
     115             from the soltuion.
     116
     117      Task:  Update the database with the values for proper motion and parallax.  It would be useful to save the
     118             coefficients of refraction for the first guess when you do this again after new observations become available.
     119             You probably shouldn't use the constants to update the RA and Dec of your reference star catalog.  Too many
     120             other things use this catalog, and it shouldn't be changed unless there is a really good reason to do so.
     121
     122   End of Outer Loop:  The sky is done.  Start writing letters to the ApJ or Nature.
     123
     124Comments, brickbats, and flames.
     125
     126   (dgm) This is a big and messy operation.  Simulations based on USNO-B and the LSST focal plane showed that it would take
     127         several months on a single machine, and was limited by disk access.  Further experiments highlighted the need to
     128         balance disk I/O with the limitations of physical memory.  For LSST, the simulation was coded using three different
     129         disk storage models.  The first was one file per observation, the second was one file per raft (9 CCDs), and the
     130         third was one file per CCD.  Just as Goldilocks found out, the middle was pretty good.  Saving by observation put
     131         too many measures into memory, and virtual memory could only hold a year or so.  Saving by CCD was amazingly slow
     132         because of the need to load (and reload) so many little chunks for each HEALPix.  The raft-based storage needed
     133         a few hundred megabytes of memory, and this seems pretty reasonable.
     134
     135   (dgm) The HEALPix tessellation isn't great, but it seems useful.  The C language library gives a subroutine that returns
     136         a unique HEALPix ID for any (RA,Dec), and adding this to the structure for each star assures that stars do not
     137         move between tiles.  It also allows indexing so that the extraction goes a lot faster.  The logic for boxes of
     138         (RA,Dec) gets messy, particularly near the poles, and it really need only be done once per star.