  Neutral atom quantum computers require accurate single atom detection for the
preparation and readout of their qubits. This is usually done using
fluorescence imaging. The occupancy of an atom site in these images is often
somewhat ambiguous due to the stochastic nature of the imaging process.
Further, the lack of ground truth makes it difficult to rate the accuracy of
reconstruction algorithms. We introduce a bottom-up simulator that is capable
of generating sample images of neutral atom experiments from a description of
the actual state in the simulated system. Possible use cases include the
creation of exemplary images for demonstration purposes, fast training
iterations for deconvolution algorithms, and generation of labeled data for
machine-learning-based atom detection approaches. The implementation is
available through our GitHub as a C library or wrapped Python package. We show
the modeled effects and implementation of the simulations at different stages
of the imaging process. Not all real-world phenomena can be reproduced
perfectly. The main discrepancies are that the simulator allows for only one
characterization of optical aberrations across the whole image, supports only
discrete atom locations, and does not model all effects of CMOS cameras
perfectly. Nevertheless, our experiments show that the generated images closely
match real-world pictures to the point that they are practically
indistinguishable and can be used as labeled data for training the next
generation of detection algorithms.
