PhoSim (The Photon Simulator)

Welcome to the official Photon Simulator (PhoSim) site! PhoSim is a set of extremely fast photon Monte Carlo codes that calculate the ab initio physics of the atmosphere and a telescope & camera in order to simulate realistic optical/UV/IR/X-ray astronomical images.  PhoSim can also simulate any optical system that produces images (e.g. cameras, satellites, human eye).

PhoSim does this using modern numerical techniques applied to the physical response of photons (and electrons) to comprehensive physical descriptions of the atmosphere, telescope, and camera. After these detailed physics calculations, PhoSim simply generates images by collecting electrons into pixels.  The photon simulations below (Rubin [left], JWST [middle], WIYN [right]) show the photon Monte Carlo method where photons and electrons are physically propagated through the system. The photon/electron interaction physics includes the appropriate application of novel advanced raytracing, diffraction, and quantum mechanical interactions. 

Photon Simulation with Rubin

Photon Simulation with JWST

PhoSim Simulation with WIYN

The physics of the site/telescope/camera includes: hydrodynamic-based descriptions [left] of the atmosphere, elasticity theory calculations [middle] of optics deformations, and electrostatic simulations [right] of sensors. Since PhoSim is a physics-based code, it is written independent of the telescope/camera/site system, so there are a number of present, past, and future observatories implemented as different input configuration files. 

Turbulence (Hydro)

Mirror (Elasticity)

Silicon (Electrostatics)

Despite the physics detail, PhoSim is quite fast due to both novel numerical techniques and efficient multithreading. Individual astrophysical objects can be simulated in milliseconds, and large fields of objects in seconds to several minutes depending on the size and depth. PhoSim is easy to install and has a tiered set of commands designed for both simple or complex applications. PhoSim has both a graphical user interface and a standard command line/file input interface. PhoSim can run on either your desktop or laptop as well as high performance computing systems (HPC).

There are a variety of uses of PhoSim. Some of the more common applications include: 1) detailed simulation of a telescope while it is being designed, constructed, or commissioned in order to understand scientific performance and unexpected behavior, 2) planning of future observations with straight-forward realistic image simulations, and 3) simulation of realistic training sets with perfect input knowledge for a variety of machine learning/AI and any advanced image processing algorithms.

PhoSim is currently being improved by: 1) asymptotically improving the ab initio physics implementation, 2) pursuing a number of validation studies, 3) enhancing computational performance, and 4) refining interfaces based on user feedback. Many additional large telescopes are currently being implemented. Besides large professional astronomical telescopes, PhoSim has applications in remote sensing/earth-facing satellites, photography & cameras, and various optical instruments (amateur telescopes, binoculars, & microscopes).

The buttons below describe how to use PhoSim.  These include a link to download the code, user documentation, tutorials, an announcment blog, frequently asked questions, bug issue tracking, links to integrate PhoSim with other codes, detailed technical documentation and references, and contact information.   If you are new to PhoSim, a good place to start is the tutorials.   Also, scroll down below to see many examples of PhoSim capabilities.

PhoSim Examples

Ray tracing images of telescopes in PhoSim
Large Rubin (LSST) simulation using PhoSim

 100 exposures of 13' Field

Cumulative of 13' Field

100 exposures 2.5' Field

Cumulative of 2.5' Field

Guider Movie of Star

Mirror Control System

Synthetic stars with PhoSim

Synethetic Stars

Synthetic galaxies with PhoSim

Synthetic Galaxies

On-axis point-spread-functions (PSF) with PhoSim

On-Axis Chromatic PSFs

Off-axis point-spread-functions (PSF) with PhoSim

Off-Axis Chromatic PSFs

Simulation of Orion with PhoSim


Simulation of the Big Dipper with PhoSim

Big Dipper

Mona Lisa input to PhoSim

Input Image

Mona Lisa output from PhoSim through human eye

Output Image

Sky rotation with PhoSim

Sky Rotation

Moon simulation with PhoSim

Moon with Clouds

Deep JWST simulation with PhoSim

JWST Deep Field

JWST LMC simulation with PhoSim


Contaminated Unpolished Mirror with PhoSim

Contaminated and Unpolished Mirror

Clean Polished Mirror with PhoSim

Clean and Polished Mirror