Metadata-Version: 2.4
Name: find-asteroids
Version: 0.1.1
Summary: Find moving objects in detection catalogs.
Author-email: Steven Stetzler <steven.stetzler@gmail.com>
License: MIT License
        
        Copyright (c) 2024 Steven Stetzler
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Source Code, https://github.com/stevenstetzler/find-asteroids
Classifier: Development Status :: 4 - Beta
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: astropy
Requires-Dist: numba
Requires-Dist: mcd-regression
Provides-Extra: dev
Requires-Dist: matplotlib; extra == "dev"
Dynamic: license-file

# find-asteroids


[![DOI](https://zenodo.org/badge/1058178358.svg)](https://doi.org/10.5281/zenodo.17139782)


Find moving objects in detection catalogs.

<img width="960" height="720" alt="image" src="https://github.com/user-attachments/assets/1ce78a36-8a80-4db7-97bc-27c4a7e2d67f"/>

Installation via PyPI: 
```bash
$ python -m pip install find-asteroids
```

Usage ([docs/notebooks/search.ipynb](https://github.com/stevenstetzler/find_asteroids/tree/main/docs/notebooks/search.ipynb)):
```
usage: find-asteroids [-h] --catalog CATALOG [--psfs PSFS] --velocity VELOCITY
                      VELOCITY --angle ANGLE ANGLE --dx DX --num-results
                      NUM_RESULTS --results-dir RESULTS_DIR [--precompute]
                      [--gpu] [--gpu-kernels] [--device DEVICE]
                      [--output-format OUTPUT_FORMAT]

optional arguments:
  -h, --help            show this help message and exit
  --catalog CATALOG     The detection catalog to search. An astropy-readable
                        table containing at least 'ra', 'dec', and 'time'
                        columns (with units). (default: None)
  --psfs PSFS           An astropy-readable table containing a 'psf' column
                        (with units) that specifies the PSF-widths of the
                        images from which the detection catalog is derived. If
                        not provided, a value of 1 arcsec is assumed.
                        (default: None)
  --velocity VELOCITY VELOCITY
                        The velocity range over which to search, in units of
                        deg/day. (default: None)
  --angle ANGLE ANGLE   The on-sky angles over which to search, in units of
                        deg. (default: None)
  --dx DX               Search bin-width, in units of the PSF-width. (default:
                        None)
  --num-results NUM_RESULTS
                        Number of results to produce. (default: None)
  --results-dir RESULTS_DIR
                        The directory into which to write results. (default:
                        None)
  --precompute          Precompute projected positions of detections for all
                        trial velocities (uses more memory, but may be
                        faster). (default: False)
  --gpu                 Run the core-search components of the algorithm on
                        GPU. (default: False)
  --gpu-kernels         Run the entirety of the search algorithm on the GPU.
                        (default: False)
  --device DEVICE       The GPU device number to use. (default: -1)
  --output-format OUTPUT_FORMAT
                        The astropy.table supported format for writing
                        results. (default: ecsv)
```

References:
- Stetzler, S. et al. (2025) An Efficient Shift-and-Stack Algorithm Applied to Detection Catalogs
