This page gives an overview of the image differencing used to generate Level 1 alerts and the associated Moving Object processing.

Baseline Documents

The primary documents are:


  • Observation pointing (including camera rotation)
  • Templates
  • DiaObject catalog
  • SSObject (Solar System Object) catalog, with parameters precalculated to enable rapid calculation of RA/dec position at any epoch during the night
  • Level 2 Object catalog from the last Data Release


  • Calibrated exposure
  • Observation midpoint time and length
  • Observation RA/dec (high precision)

Overall Process

  • For each CCD:
    1. Before exposure arrives:
      1. Select appropriate template cutout based on filter, airmass, observation boresight.
      2. Retrieve DiaObjects, DiaSources, Objects in observation region.
      3. Predict locations for SSObjects possibly in observation region during observation time.
      4. Correct template for DCR. (TBD: how to do this; possibly using multifit outputs? RHL: what do you mean by, "multifit outputs"? Do you have an algorithm in mind?)
        1. RHL This is impossible, of course.  A given template can have a red and a blue source superimposed due to DCR (or lack thereof at zenith) and they split as the DCR changes.  That isn't to say that we can't do something.  It's possible that we'll use more than one template per exposure.
    2. After exposure arrives:
      1. TBD: Insert fake objects to measure detection efficiency; do (some of) these need to be inserted in template, too? RHL:  I think we'll want fake objects in a separate run (if we insert enough to get good statistics we risk messing up the subtraction.  In crowded fields we don't know the PSF until after subtracting, so we can't insert realistic fakes in the regular processing stream)
      2. Warp template to exposure frame.
      3. RHL Probably PSF-convolve the exposure for some value of PSF (e.g. a Gaussian approximation to the PSF)
      4. Determine matching spatially-varying kernel to match template to PSF-matched exposure.
      5. Convolve template with matching kernel.
      6. Subtract template from exposure to give difference chi-squared image. RHL: only chi^2 if we preconvolved.  Otherwise a straight difference image.
      7. Detect and measure DiaSources on difference image. (TBD: what to do about edges?)
        1. RHL Note that this is different with pre-convolution.  The detection's easier (no need to convolve).  The measurement algorithms also don't need to convolve, and I'm not sure if that'll be config parameters or separate algos.  Also likely to have to handle DCR dipoles at this point, so need colours from level 2 objects.
      8. Match DiaSources with predicted SSObject positions.
      9. Match unmatched DiaSources with existing DiaObjects.
        1. RHL also match against known garbage (e.g. diffraction spikes from neighbouring chips?  Known glints from stars across the focal plane?  Can precompute before exposure arrives and tweak given the exposure's Wcs)
        2. Flag known garbage DiaSources, including all recognizable false positives and inserted fakes
        3. Mask known garbage pixels in image
        4. TBD: mask fake pixels in image, or restore from original? Do we need to process twice?  RHL: I think we'll need to process twice (see above)
      10. Create new DiaObjects for still-unmatched DiaSources; match them against Level 2 Objects from the last Data Release.
      11. Do forced photometry on DiaObjects that have had at least one DiaSource in the last month to determine DiaForcedSources. (TBD: if DiaForcedSources can be computed from DiaSources, can move this earlier)
      12. Update DiaObject and SSObject properties based on new DiaSources and DiaForcedSources.
      13. Write DiaObjects, DiaSources, DiaForcedSources, SSObjects to Level 1 Database.
    3. (Alert generation and transmission will be described on a separate page.)
    4. (Daytime activities described elsewhere:
      1. Precovery forced photometry of new DiaObjects.
      2. Correction of calibrations for database records.
      3. Linking of DiaSources into newly-discovered SSObjects.)
  • No labels