deeplenstronomy: A dataset simulation package for strong gravitational lensing

Automated searches for strong gravitational lensing in optical imaging survey datasets often employ machine learning and deep learning approaches. These techniques require more example systems to train the algorithms than have presently been discovered, which creates a need for simulated images as training dataset supplements. This work introduces and summarizes deeplenstronomy, an open-source Python package that enables efficient, large-scale, and reproducible simulation of images of astronomical systems. A full suite of unit tests, documentation, and example notebooks are available at https://deepskies.github.io/deeplenstronomy/ .


Background
Astronomical observations and statistical modeling permit the high-fidelity analysis of strong gravitational lensing (SL) systems, which display an astronomical phenomenon in which light from a distant object is deflected by the gravitational field of another object along its path to the observer. These systems are of great scientific interest because they provide information about multiple astrophysical and cosmological phenomena, including the nature of dark matter, the expansion rate of the Universe, and characteristics of galaxy populations. They also serve as standing tests of the theory of General Relativity and modified theories of gravity.
Traditional searches for SL systems have involved time-and effort-intensive visual or manual inspection of images by humans to identify characteristic features -like arcs, particular color combinations, and object orientations. However, a comprehensive search using the traditional approach is prohibitively expensive for large numbers of images, like those in cosmological surveys -e.g., the Sloan Digital Sky Survey (York et al. 2000), the Dark Energy Survey (Abbott et al. 2018), and the Legacy Survey of Space and Time (LSST) (Ivezić et al. 2019). To automate the SL detection process, techniques based on machine learning (ML) are beginning to overtake traditional approaches for scanning astronomical images. In particular, deep learning techniques have been the focus, but they require large sets of labeled images to train these models. Because of the relatively low number of observed SL systems, simulated datasets of images are often needed. Thus, the composition and production of these simulated datasets have become integral parts of the SL detection process.
One of the premier tools for simulating and analyzing SL systems, lenstronomy (Birrer and Amara 2018), works by the user specifying the properties of the physical systems, as well as how they are observed (e.g., telescope and camera) through a python-based application programming interface (API) to generate a single image. Generating populations of SL systems that are fit for neural network training requires additional infrastructure.

Statement of need
Due to the inherent dependence of the performance of ML approaches on their training data, the deep learning approach to SL detection is in tension with scientific reproducibility without a clear prescription for the simulation of the training data. There is a critical need for a tool that simulates full datasets in an efficient and reproducible manner, while enabling the use of all the features of the lenstronomy simulation API. Additionally, this tool should simplify user interaction with lenstronomy and organize the simulations and associated metadata into convenient data structures for deep learning problems. Multiple packages have been developed to generate realistic training data by wrapping around lenstronomy: baobab (Park 2021) generates training sets for lens modeling and hierarchical inference and the LSST Dark Energy Science Collaboration's SLSprinkler (Kalmbach et al. 2020) adds strongly lensed variable objects into catalogs and images. Nonetheless, the need for a simple, general tool capable of efficiently simulating any astronomical system in a reproducible manner while giving the user complete freedom to set the properties of objects remains.
Summary deeplenstronomy generates SL datasets by organizing and expediting user interaction with lenstronomy. The user creates a single yaml-style configuration file that describes the aspects of the dataset: number of images, properties of the telescope and camera, cosmological parameters, observing conditions, properties of the physical objects, and geometry of the SL systems. deeplenstronomy parses the configuration file and generates the dataset, producing both the images and the parameters that led to the production of each image as outputs. The configuration files can easily be shared, enabling users to easily reproduce each other's training datasets.
The premier objective of deeplenstronomy is to help astronomers make their training datasets as realistic as possible. To that end, deeplenstronomy contains built-in features for the following functionalities: use any stellar light profile or mass profile in lenstronomy; simulate a variety of astronomical systems such as single galaxies, foreground stars, galaxy clusters, supernovae, and kilonovae, as well as any combination of those systems; fully control the placements of objects in the simulations; use observing conditions of real astronomical surveys; draw any parameter from any probability distribution; introduce any correlation; and incorporate real images into the simulation. Furthermore, deeplens tronomy facilitates realistic time-domain studies by providing access to public spectral energy distributions of observed supernovae and kilonovae and incorporating the transient objects into time series of simulated images. Finally, deeplenstronomy provides data visualization functions to enable users to inspect their simulation outputs. These features and the path from configuration file to full data set are shown in Figure 1. deeplenstronomy is packaged and disseminated via PyPI. Documentation and example notebooks are available on the deeplenstronomy website. Any bugs or feature requests can be opened as issues in the GitHub repository (Morgan 2020). Figure 1: The deeplenstronomy process. Dataset properties, camera and telescope properties, observing conditions, object properties (e.g., lenstronomy light and mass profiles, point sources, and temporal behavior), the geometry of the SL systems, and optional supplemental input files (e.g., probability distributions, covariance matrices, and image backgrounds) are specified in the main configuration file. deeplenstronomy then interprets the configuration file, calls lenstronomy simulation functionalities, and organizes the resulting images and metadata.