BenEngebreth.org

Dynamic Sky: Process Description

This is a descriptive outline of the process I use to detect Solar System object motion from repeat imaging. The process is constantly evolving but is more or less complete for the object it references. I've started highlighting the changes in bold.

December 2021 process

Do this process once for a slow object search (coadding many observation frames) and once for a fast object search (using single observation frames)

  1. Acquire TESS full frame images
  2. Crop full frame images to frame subset (9 per CCD)
  3. Integrate (coadd) images (for a slow object search; no coadds for fast object search) across TESS observation times into a set of analysis frames
  4. Estimate the background for frames
  5. Reject high background level frames
  6. Remove background from remaining frames
  7. Reject outlier frames with 'sky vectors' and cluster analysis
  8. Deconvolve PSF for remaining frames
  9. Brightness match frames to a preliminary template (e.g. the median of the frames) to complete initial processing
  10. Generate a bright star center mask from preliminary template via sigma clip
  11. Generate static sky template as an N pixel trimmed max of the stack of processed frames (this is a median-like template not a max template)
  12. Subtract the static sky template from the processed frames to generate difference images
  13. Apply bright star center mask to difference images
  14. Calculate global and local (via filter) mean and standard deviation for each difference image; threshold at 5σ using minimum of global and local statistics to generate detections
  15. Link detections (minimum length 6) in threshed difference images by velocity vector clustering over slow or fast velocity ranges for frame integration count (e.g. don't attempt to link fast moving objects for high frame count coadds)
  16. Relink (i.e. combine) candidate links with 5 (minimum link length of 6 minus 1) overlapping detections that add new observation frames to candidate link. Use linker with liberal acceptance parameters to trim infeasible long links
  17. Match links to JPL known objects database via JPL Small Body ID API and solve linker trimmed combinations of 6 detection matched links with OD to validate (e.g. if say 18 detections in link, choose the 'best' subset with linker of length N for those detections to do 6 solve combination OD solve)
  18. Solve linker trimmed combinations of 6 detection unmatched links with OD to test for unknown objects
  19. If any unmatched links OD solve, extend solve for these to 7 detection combinations. Keep increasing link length by 1 until no longer getting OD solves
  20. Further validate a candidate unmatched link by doing a 'zoom' search (region of interest search) using different observation times

June 2021 process update

  1. Acquire TESS full frame images
  2. Crop full frame images to region of interest
  3. Integrate images into a set of analysis frames (e.g. median of N full frame images around a time(s) for each day)
  4. Estimate the background for analysis frames
  5. Reject high background level frames
  6. Remove background from remaining analysis frames
  7. Reject outlier frames (e.g. frames with outlier medians compared to other frames after background subtraction)
  8. Deconvolve PSF for each frame
  9. Brightness match frames to a preliminary template (e.g. the median of the frames) to complete initial processing
  10. Generate a bright star center mask from median template via sigma clip
  11. Generate static sky templates as an N pixel trimmed max of the stack of processed frames (N is a tunable parameter)
  12. Subtract the static sky template from the processed frames to generate difference images
  13. Apply bright star center mask to difference images
  14. Calculate standard deviation filter for each difference image frame and threshold at 5σ to generate detections
  15. Link detections (minimum 6) in threshed difference images by Pixel Velocity Vector Clustering over relevant velocity sets for frame integration count (e.g. don't attempt to link fast moving objects for high frame count integrations)
  16. Relink (i.e. combine) candidate links with substantial overlapping detections that add new observation frames to candidate link
  17. Match links to JPL known objects database and solve all combinations of 6 detection matched links with OD to validate
  18. Solve all combinations of 6 detection unmatched links with OD
  19. If there are any unmatched links that OD solve, extend solve for these to 7 detection combinations. Keep increasing link detection length by one until no longer getting OD solves.
  20. Repeat process from step 1 but increment up frame integration by 1 frame to search for slower and slower moving objects

493480 2014 YZ49

  1. Acquire TESS full frame images
  2. Crop full frame images to region of interest
  3. Integrate images into a set of analysis frames (e.g. median of N full frame images around a time(s) for each day)
  4. Estimate the background for analysis frames
  5. Reject high background level frames
  6. Remove background from remaining analysis frames
  7. Reject outlier frames (e.g. frames with outlier medians compared to other frames after background subtraction)
  8. Deconvolve PSF for each frame
  9. Brightness match frames to a preliminary template (e.g. the median of the frames) to complete initial processing
  10. Generate a bright star center mask from median template via sigma clip
  11. Generate static sky templates as an N pixel trimmed max of the stack of processed frames (N is a tunable parameter)
  12. Subtract the static sky template from the processed frames to generate difference images
  13. Apply bright star center mask to difference images
  14. Clip-threshold and then threshold (again) difference images
  15. Link detections in threshed difference images by Pixel Velocity Vector Clustering
  16. Match links to JPL expected positions
  17. Find longest set of linked detections that solve with orbit determination

Naive MOPS

  1. Acquire TESS full frame images
  2. Crop full frame images to region of interest
  3. Integrate images into a set of analysis frames (e.g. median of N full frame images around a time for each day)
  4. Model and remove background from analysis frames
  5. Reject outlier frames (e.g. frames with outlier medians compared to other frames after background subtraction)
  6. Deconvolve PSF for each frame
  7. Brightness match frames to a preliminary template (e.g. the median of the frames) to complete initial processing
  8. Generate a bright star center mask from median template via sigma clip
  9. Generate static sky templates as 1 pixel trimmed max of the stack of processed frames down to the median (N/2 pixel trimmed max) excluding the frame being differenced from the stack
  10. Subtract each static sky template from processed frames to generate difference images and keep difference image that has the highest frame median pixel value to standard deviation ratio (SNR-like)
  11. Apply bright star center mask to difference images
  12. Threshold difference images
  13. Link detections in threshed difference images
    1. Create preliminary candidate tracks using velocity vector clustering on detections
    2. Attempt an OD solve of all 3 detection combinations in each preliminary track
    3. Relink subtracks that solve and have 2 overlapping detections into final tracks
  14. Match solved tracks to JPL expected locations to determine whether the object is known or not
  15. Output observation coordinates for solved tracks to file for submission to MPC

(455502) 2003 UZ413

  1. Acquire TESS full frame images
  2. Crop full frame images to region of interest
  3. Integrate images into a set of analysis frames (e.g. median of N full frame images around a time for each day)
  4. Model and remove background from analysis frames
  5. Reject outlier frames (e.g. frames with outlier medians compared to other frames after background subtraction)
  6. Deconvolve PSF for each frame
  7. Brightness match frames to a preliminary template (e.g. the median of the frames) to complete initial processing
  8. Generate a bright star center mask from median template via sigma clip
  9. Generate static sky templates as 1 pixel trimmed max of the stack of processed frames down to the median (N/2 pixel trimmed max) excluding the frame being differenced from the stack
  10. Subtract each static sky template from processed frames to generate difference images and keep difference image that has the highest frame median pixel value to standard deviation ratio (SNR-like)
  11. Apply bright star center mask to difference images
  12. Threshold difference images
  13. Link detections in threshed difference images using pixel velocity vector clustering
  14. Match linked detections in threshed difference images to JPL expected locations

Sedna

  1. Acquire TESS full frame images
  2. Crop full frame images to region of interest
  3. Integrate images into a set of analysis frames (e.g. median of N full frame images around a time for each day)
  4. Model and remove background from analysis frames
  5. Reject outlier frames (e.g. frames with outlier medians compared to other frames after background subtraction)
  6. Deconvolve PSF for each frame
  7. Brightness match frames to a preliminary template (e.g. the median of the frames) to complete initial processing
  8. Generate a bright star center mask from median template via sigma clip
  9. Generate static sky templates as 1 pixel trimmed max of the stack of processed frames down to the median (N/2 pixel trimmed max)
  10. Subtract each static sky template from processed frames to generate difference images and keep difference image that has the highest frame median pixel value to standard deviation ratio (SNR-like)
  11. Apply bright star center mask to difference images
  12. Threshold difference images
  13. Link detections in threshed difference images using pixel velocity vector clustering
  14. Match linked detections in threshed difference images to JPL expected locations

(208996) 2003 AZ84

  1. Acquire TESS full frame images
  2. Crop full frame images to region of interest
  3. Integrate images into a set of analysis frames (e.g. median of N full frame images around a time for each day)
  4. Model and remove background from analysis frames
  5. Reject outlier frames (e.g. frames with outlier medians compared to other frames after background subtraction)
  6. Deconvolve PSF for each frame
  7. Brightness match frames to a preliminary template (e.g. the median of the frames) to complete initial processing
  8. Generate static sky template as trimmed max of the stack of processed frames
  9. Generate a bright star center mask from static sky template via sigma clip
  10. Subtract static sky template from processed frames to generate difference images
  11. Apply bright star center mask to difference images
  12. Reject outlier difference images with too much noise
  13. Threshold (and optionally remove small objects) in difference images
  14. Link or match objects in sequential threshed difference frames

Definitions