Simulate microscope images from real-world microscope parameters



Recently I discovered this excellent blog post from @kmdouglass as I was looking for a way to simulate microscope images in order to assess the performance of some of the analysis we do at the lab.

Following the blog post, I have correctly implemented a noise model and also a convolution model based on a simple 2D Gaussian where the sigma has been computed from fluorescent beads imaged on the microscope.

I am now trying to compute the number of photons that reach the camera taking into account the objective, wavelengths used, defect in the optics (very approximative model here) and the type of fluorophore. I found this resource that is a good starting point:

However, after calculation, I found a very important number of photons (9.7e6 photons) reaching the camera and after applying the convolution + camera noise model, all the signal pixels are saturated since their values are much more important than the bitdepth.

I feel like there is something I am missing when modeling the photo counts. Note that I am trying to model the signal of a single fluorophore hitting a single pixel (since I assume all the fluorophore to be well below the diffraction limit).

Here is a small notebook showing the basics of the model: (without the camera noise and convolution part)


For the record, a comment has been made on the gist: