Table of Contents
Fetching ...

An Efficient Shift-and-Stack Algorithm Applied to Detection Catalogs

Steven Stetzler, Mario Jurić, Pedro H. Bernardinelli, Dino Bektešević, Colin Orion Chandler, Andrew J. Connolly, Fred C. Adams, Cesar Fuentes, David W. Gerdes, Matthew J. Holman, Hsing Wen Lin, Larissa Markwardt, Andrew McNeill, Michael Mommert, Kevin J. Napier, William J. Oldroyd, Matthew J. Payne, Andrew S. Rivkin, Luis E. Salazar-Manzano, Hilke Schlichting, Scott S. Sheppard, Dallin Spencer, Ryder Strauss, David E. Trilling, Chadwick A. Trujillo

TL;DR

This work tackles the challenge of discovering faint solar system objects by reducing the computational burden of shift-and-stack analysis. It introduces a catalog-based shift-and-stack that operates on detection catalogs using a modified Hough-transform approach in $(t,\alpha,\delta)$ space and robust $MCD$ regression to identify and refine linear sky-tracks, trading some depth for substantial compute savings. The method achieves real-world speedups of $10$--$10^3$ with modest memory impact and about $0.25$ mag depth loss, demonstrated on synthetic injections in DECam DEEP data, with a reference implementation provided as find-asteroids. This approach enables scalable application to large surveys (e.g., LSST) and efficient searches for faint inner solar system objects, offering a practical pathway to deeper, faster moving-object catalogs while balancing false positives through tunable parameters.

Abstract

The boundary of solar system object discovery lies in detecting its faintest members. However, their discovery in detection catalogs from imaging surveys is fundamentally limited by the practice of thresholding detections at signal-to-noise (SNR) $\geq 5$ to maintain catalog purity. Faint moving objects can be recovered from survey images using the shift-and-stack algorithm, which coadds pixels from multi-epoch images along a candidate trajectory. Trajectories matching real objects accumulate signal coherently, enabling high-confidence detections of very faint moving objects. Applying shift-and-stack comes with high computational cost, which scales with target object velocity, typically limiting its use to searches for slow-moving objects in the outer solar system. This work introduces a modified shift-and-stack algorithm that trades sensitivity for speedup. Our algorithm stacks low SNR detection catalogs instead of pixels, the sparsity of which enables approximations that reduce the number of stacks required. Our algorithm achieves real-world speedups of $10$--$10^3 \times$ over image-based shift-and-stack while retaining the ability to find faint objects. We validate its performance by recovering synthetic inner and outer solar system objects injected into images from the DECam Ecliptic Exploration Project (DEEP). Exploring the sensitivity--compute time trade-off of this algorithm, we find that our method achieves a speedup of $\sim30\times$ with $88\%$ of the memory usage while sacrificing $0.25$ mag in depth compared to image-based shift-and-stack. These speedups enable the broad application of shift-and-stack to large-scale imaging surveys and searches for faint inner solar system objects. We provide a reference implementation via the find-asteroids Python package and this URL: https://github.com/stevenstetzler/find-asteroids.

An Efficient Shift-and-Stack Algorithm Applied to Detection Catalogs

TL;DR

This work tackles the challenge of discovering faint solar system objects by reducing the computational burden of shift-and-stack analysis. It introduces a catalog-based shift-and-stack that operates on detection catalogs using a modified Hough-transform approach in space and robust regression to identify and refine linear sky-tracks, trading some depth for substantial compute savings. The method achieves real-world speedups of -- with modest memory impact and about mag depth loss, demonstrated on synthetic injections in DECam DEEP data, with a reference implementation provided as find-asteroids. This approach enables scalable application to large surveys (e.g., LSST) and efficient searches for faint inner solar system objects, offering a practical pathway to deeper, faster moving-object catalogs while balancing false positives through tunable parameters.

Abstract

The boundary of solar system object discovery lies in detecting its faintest members. However, their discovery in detection catalogs from imaging surveys is fundamentally limited by the practice of thresholding detections at signal-to-noise (SNR) to maintain catalog purity. Faint moving objects can be recovered from survey images using the shift-and-stack algorithm, which coadds pixels from multi-epoch images along a candidate trajectory. Trajectories matching real objects accumulate signal coherently, enabling high-confidence detections of very faint moving objects. Applying shift-and-stack comes with high computational cost, which scales with target object velocity, typically limiting its use to searches for slow-moving objects in the outer solar system. This work introduces a modified shift-and-stack algorithm that trades sensitivity for speedup. Our algorithm stacks low SNR detection catalogs instead of pixels, the sparsity of which enables approximations that reduce the number of stacks required. Our algorithm achieves real-world speedups of -- over image-based shift-and-stack while retaining the ability to find faint objects. We validate its performance by recovering synthetic inner and outer solar system objects injected into images from the DECam Ecliptic Exploration Project (DEEP). Exploring the sensitivity--compute time trade-off of this algorithm, we find that our method achieves a speedup of with of the memory usage while sacrificing mag in depth compared to image-based shift-and-stack. These speedups enable the broad application of shift-and-stack to large-scale imaging surveys and searches for faint inner solar system objects. We provide a reference implementation via the find-asteroids Python package and this URL: https://github.com/stevenstetzler/find-asteroids.

Paper Structure

This paper contains 17 sections, 55 equations, 15 figures, 3 tables.

Figures (15)

  • Figure 1: The on-sky coordinates of a moving object with respect to time. The dashed black line represents a trajectory estimated using least squares multivariate regression, which does not predict the trajectory accurately due to the presence of outliers in the dataset. The solid black line represents a trajectory estimated using robust multivariate regression utilizing the Minimum Covariance Determinant (MCD), which accurately predicts the moving object trajectory in the presence of outliers.
  • Figure 2: The expected number of detection counts in a bin of size $\Delta x$ for objects of different SNR $\nu$ found in catalogs of different SNR thresholds $\nu_{\mathrm{th}}$. Thick (thin) colored lines approximately indicate when the expected number of signal detections will be larger (less) than the expected number of noise detections i.e. when $\mathbb{E}[N_{\mathrm{signal}}] / \mathbb{E}[N_{\mathrm{noise}}] > 1$ (or $< 1$), indicating when a single object of the given SNR $\nu$ is distinguishable from noise in a stack of the detection catalog that corresponds to the given object's trajectory. Black solid (dashed) lines indicate values of $N_{\mathrm{min}}$ that produce a false positive rate of $\epsilon = 100/N_{\mathrm{stacks}}$ in an example MBA (TNO) search covering $\Omega = 162 \text{ arcmin}^2$ with $a = 1 \text{ arcsec}$ seeing and a $\Delta t = 4$ hour time baseline. Colored lines lying in regions of the parameter space $N_{min} = \mathbb{E}[N_{\mathrm{signal}}] + \mathbb{E}[N_{\mathrm{noise}}]$ and $\Delta x$ above (below) the black lines represent when objects of the given SNR $\nu$ are (un)likely to appear in the results of a search before producing 100 results corresponding to stacks of noise detections.
  • Figure 3: The distribution of velocities and magnitudes of the injected synthetic MBAs and TNOs.
  • Figure 4: The number of peaks and pixels in a likelihood image derived from a $2048\times4096$ CCD difference image as a function of the SNR threshold. At all values of SNR, the number of detection peaks is smaller by factors of $10^2-10^6\times$.
  • Figure 5: A visualization of the sky locations of a stacked detection catalog derived from a 4 hour sequence of DECam images with a grid of constant ecliptic latitude/longitude overlaid. Detections at a single epoch represent the on-sky location of a putative source on a difference image. Detections are accumulated across all 104 epochs and plotted jointly in this visualization. Moving objects appear as lines in this stacked visualization. Stationary variable sources as well as difference imaging artifacts appear as clusters and isolated points. Holes or voids in this visualization represent regions of the CCDs that were masked out due to the presence of bright stars and the resulting saturation of portions of the detector.
  • ...and 10 more figures