Home

Anonymous

shutterdebugger

There are rumours that every digital SLR out there suffers from a shutter-induced blur. This phenomenon manifests itself in blurred images when using short exposure times, which should normally deliver images free of motion blur (like 1/100s with a focal length of 20 mm).

Some cameras, such as the Pentax K-7, have been reported to suffer particularly from this problem, which has become to be known as the "shutter bug". The shutter bug only appears at specific exposure times, reportedly at 1/80 to 1/125 s. Exposure times slower or faster than these do not exhibit any unusual blur.

I own a K-7, and I can hardly observe a problem in day-to-day usage. But to be sure, I wrote a small program which can measure the blur in digital images: Shutterdebugger.

Requirements

Shutterdebugger is a small program written in python, to be operated from the command line. It depends on:

  • python 2.5 or higher
  • Python Imaging Library (PIL)
  • numpy
  • pylab

How to use

  1. Make sure you have all requirements installed
  2. Extract the archive or check out the source from svn
  3. Print the test chart.
  4. Hang the test chart in a well-lit place (I usually hang it on the window, so it gets lit from behind).
  5. Make test shots (see below)
  6. Put the test shots in the "data" folder
  7. Run "python src/shutterdebugger.py". The program will crop a 200x200 px image from the center from the test shot (which is why it is so important that the test chart is centered). It will extracxt the exposure time from the exif, measure the horizontal and vertical blur in each test image, and write the results to a file named "results.dat" in the current directory (overwriting any present "result.dat").
  8. Run "python src/plot_results.py result.dat" to plot the results. This will plot the median, the minimal and the maximal blur for each exposure time.

How to make test shots

  • make sure you are in sufficient distance from the test chart so that small movements back and forth do not affect focus
  • make sure that the test chart is centered in all shots. The chart should cover at least 200 pixels around the center of the image.
  • take photos at all shutter speeds between 1/250 and 1/10 (or longer). Take several shots for each eposure time setting. This will increase the statistical power of the analysis.

This is alpha

Shutterdebugger is not optimized for user friendlyness. It has been tested only by me, and only on my machine. I have no idea whether it will work for others, on other machines, with other cameras than mine, or on operating systems other than OpenSuse. But your feedback is highly appreciated.

In its current state, shutterdebugger produces a plot which is not very beautiful, and some might even say that it is not very informative. However, for that plot was enough to be convinced that my camera is not affected by the shutter bug, and this was where I stopped. If you are not satisfied with the current state, feel invited to improve on it. This is open source after all!

If you lack programming skills, you can send me your suggestions for improvement, and I will try to implement them. But please understand that this is a side project of mine that I manage in my free time, which I usually prefer to spend taking photos. In the end, I would advice you to do the same ;)