AstroPhot: Fitting Everything Everywhere All at Once in Astronomical Images
We present AstroPhot, a fast, powerful, and user-friendly Python based astronomical image photometry solver. AstroPhot incorporates automatic differentiation and GPU (or parallel CPU) acceleration, powered by the machine learning library PyTorch. Everything: AstroPhot can fit models for sky, stars, galaxies, PSFs, and more in a principled Chi^2 forward optimization, recovering Bayesian posterior information and covariance of all parameters. Everywhere: AstroPhot can optimize forward models on CPU or GPU; across images that are large, multi-band, multi-epoch, rotated, dithered, and more. All at once: The models are optimized together, thus handling overlapping objects and including the covariance between parameters (including PSF and galaxy parameters). A number of optimization algorithms are available including Levenberg-Marquardt, Gradient descent, and No-U-Turn MCMC sampling. With an object-oriented user interface, AstroPhot makes it easy to quickly extract detailed information from complex astronomical data for individual images or large survey programs. This paper outlines novel features of the AstroPhot code and compares it to other popular astronomical image modeling software. AstroPhot is open-source, fully Python based, and freely accessible here: https://github.com/Autostronomy/AstroPhot
PDF Abstract