Firefly photographs are commonly shot using long exposures from a tripod. The proper exposure depends on the ratio of the fireflies’ luminosity to that of the background. That ratio is constant if we assume (as is usually the case) that the background lighting doesn’t change much over the course of a session. We usually would like a rather long exposure because we want to see lots of fireflies in the final image.
The problem is that fireflies flash briefly, whereas the background illumination persists for the duration of the exposure. Over the course of a long exposure the background brightness builds up to the the point where it’s as bright as the fireflies, and the image looks terrible.
We would like to find a method to limit background brightness in our final image, while leaving the shutter open long enough to capture plenty of flashes. To accomplish this, we need an image processing package that supports layers and layer blends.
The instructions below are given in terms of Photoshop (PS), but with minor changes they work in the GNU Image Management Package (GIMP), which is free software.
Make your exposures in full manual mode, including manual focus. I usually set the focus to infinity. Determine your aperture, shutter, and ISO settings experimentally. You can use f/2.8, 15 seconds, and ISO 200 as a starting point.
If your camera supports long-exposure noise reduction, it is usually a good idea to turn it on. I usually make between 8 and 30 fifteen-second exposures with the camera mounted on a sturdy tripod and triggered by a remote shutter release.
I refine settings until I get a very dark background, a stop or so darker than the image shown above. It’s easy to lighten the background in postprocessing, and the pronounced underexposure helps the firefly flashes to retain a rich yellow or green color rather than being overexposed and nearly white.
We can approach this problem in Photoshop by making numerous exposures of medium length and loading each into its own PS layer. Layers work like sheets of clear acetate or mylar on which the camera paints its images.
It’s as though we are looking down through a stack of transparent sheets, and we would like to manipulate each sheet’s transparency so that we can see all the things that we want to see (and none of those we don’t) all the way to the bottom of the stack.
We can do this for our firefly image by loading each image into its own layer and setting each layer’s blending mode to “lighter color”. If we use a lighter-color blending mode, a point on a lower layer is visible on the layer above if it is brighter than the corresponding point on the upper layer. If we set every layer’s blending mode to “lighter color”, bright firefly flashes even on the bottom layer propagate up through the layer stack and are visible on the top layer.
Background luminance remains approximately constant in amplitude and in its location within the image, so lighter-color blending limits the background’s brightness to approximately the level we would see in a single exposure while recording all the firefly flashes that we have captured in multiple exposures.
At this point we should save out a safety copy of the image with blending mode and layers intact, then flatten the image to a single layer on which we can do further image processing to produce the final image.
All digital cameras produce luminance noise in which random pixels show up lighter or darker than the true luminance level in the photographed scene. It is a weakness of our method that spuriously lighter-toned background pixels propagate up through the layer stack just as well as fireflies do. Thus image noise increases approximately linearly with the number of layers.
We can either accept that our final picture will be a little noisy or we can correct the noise at the expense of image resolution by doing noise reduction on the flattened image. I use Noise Ninja from PictureCode for noise reduction. The first picture above uses noise reduction and the second does not. You can easily see the trade-offs if you look at both images in original size.
Specific Instructions for Photoshop and Adobe Bridge
In Adobe Bridge, highlight the images that you want to superimpose and load them into a layer stack using
Tools -> Photoshop -> Load files into Photoshop layers…
Your system will bog down or even freeze if it doesn’t have enough memory. As an example, I can load thirty 10Mpix RAW files on a Mac Mini with 4 GB of RAM, but the same thirty images will bog down a 2GB laptop.
Select Windows -> Layers to show the layer stack in a side panel and set each layer’s blending mode to “lighter color”.
Command-click on all the layers in the layer panel so that all layers are highlighted in blue.
Select Edit -> Auto-Align Layers to clean up any minor camera movement that occurred during the multiple exposures.
Save a safety copy of the entire layer stack as a TIFF or Photoshop PSD file.
Select Layer -> Flatten Image to flatten the layer stack into a single layer. Even at this stage I like the image to be a stop or so darker than it will be in its final form. In other words, the method works best if the image is still unattractively dark at this step.
Then do final processing on the flattened image to bring the background up. Photoshop’s shadow-highlight command provides one way to do this. Because I don’t want to change their color, I never add filtration to the fireflies, but I often add some blue (#80) filtration to the sky if it looks muddy once the background has been lightened.
Image credits: Catskills Fireflies 2012 by s58y, Seven minutes of fireflies by Flint-Hill (away), Two minutes of fireflies by Flint-Hill (away), Catskills Fireflies (single exposure) by s58y, Firefly by Windslash, Subject: Catskills Fireflies (combined exposures) by s58y