The modular galaxy image simulation toolkit

GalSim is a collaborative, open source project to create the software needed for the GREAT3 challenge, and provide an image simulation tool of enduring benefit to the academic community.

The software provides a user interface for generating simulated astronomical images from input configuration files and catalogs, with a clear, intuitive syntax. It is described in a recent paper on arXiv, submitted to Astronomy & Computing.

Users can also access a fully-featured Python class library for greater customizability in building images. These classes are a convenient wrapper for the efficient C++ implementations of image operations that lie at the heart of the GalSim code.

GalSim innovations

Relative to previous GREAT challenges, GalSim will provide a framework for simulations with the following novel features:

  • Real galaxy images

    Real galaxies from Hubble Space Telescope images may be used as the basis for galaxy simulations, including an unbiasing treatment of both the PSF and noise in the original images.

  • PSF models with real physics

    Physically-motivated models of aberrated telescope optics, and light propagation through atmospheric turbulence, can be used to generate realistic Point Spread Functions at new levels of realism relative to previous challenges.

  • Backwards compatibility with previous challenges

    A range of parametric PSF and galaxy models, including Moffat and Sersic profiles as used for GREAT08, GREAT10 and the STEP challenges, are also available.

  • Photon shooting, Fourier transform, and real space implementations of image operations

    Users have the option to perform image operations and transformations via shooting simulated photons directly through the light distributions (as for GREAT08 & GREAT10), and by using discrete Fourier transforms and interpolation on arrays. There is also a real space convolution option which is faster and more accurate than discrete Fourier convolution for profiles with hard edges. These multiple approaches provide a powerful consistency check and can offer real speed advantages at both the low and high noise regimes.

  • Realistic noise with spatial correlations

    Multiple options are available for generating noise, including a realistic two-component detector model (Poisson noise & read noise, at a specified gain). In addition, it will be possible to specify an arbitrary correlation function for the noise pattern applied, allowing the simulation of correlated noise in lensing data for the first time.

  • Multiple output formats

    Large images (as used in the STEP and previous GREAT challenges), FITS data cubes, multi-extension FITS files, and the use of separate postage stamp images per simulated object are all supported by GalSim. We plan to add three-layer images including a weight map and bad pixel mask in the near future, mimicking real astronomical data.

GalSim development

The source-controlled GalSim code is hosted as a Git repository on Github, at the GalSim Respository.

You can clone (download) the repository at any time, and developers can fork the project from there too. Be aware, it is currently still very much in development but the code is already capable of performing many common types of image simulations that would be useful for testing pipeline code.

The active members of the project are a subset of the GREAT3 collaboration, the "code team", also known as the GalSim-developers.

The code is constructed around Gary Bernstein's SBProfile class library, which provides a framework for performing basic image manipulations with astronomical surface brightness profiles. GalSim also builds on the SHERA software in its use of real galaxy images for simulating astronomical data.