Scene modeling photometry software for flux measurements of trans-Neptunian objects from the Dark Energy Survey
This repository provides the implementation of the scene modeling photometry procedure described in Bernardinelli et al (2023), as well as auxiliary tools for saving the data and visualizing the results.
The implementation in smp.py consists of two primary classes, Detection and BinaryDetection, that fit the background (scene) and the target single (Detection) or binary sources (BinaryDetection) for a given set of positions. A Jupyter Notebook that provides a few usage examples are also provided.
This implementation depends on a few standard Python packages:
numpyastropyscipycompress-picklematplotlibfor visualization
As well as a few DES-specific packages:
pixmappy: DES astrometric solutionsPiff: DES point spread functionsdestnosim: compilation of exposures used in the DES search for TNOs
The Detection class implements both the scene modeling solutions and the DES-specific data handling. For surveys other than DES, the astrometric solutions, PSF drawing and exposure information might be handled differently. A simple and elegant solution to this problem is to implement a class that inherits from Detection with their own self.findAllExposures, self.findPixelCoords and self.constructPSFs methods.
The scene modeling procedure is also quite flexible, and may be generalized to observing strategies and conditions, for example, that of a series of repeated exposures of a given object in a short time span (as in a shift and stack survey). Implementation of these cases can also be handled by inheriting from Detection and BinaryDetection.