I'm trying to measure the light falloff (a.k.a vignette) of a custom lens. My problem is that I'm not sure how one would go about creating a uniformly lit surface without the use of special diffusers or lightboxes.

Is there a simple way one could measure the light falloff for a lens without using special equipment? I have access to well lit office space as well as the outdoors.

  • Well lit and evenly lit are very different things. The only way you can really guarantee your test surface doesn't have uneven lighting is to completely control the lighting...
    – jrista
    Feb 12 '14 at 1:29
  • 1
    A cloudy sky outdoors should act as a softbox big enough for lighting evenly any reasonable sized even surface you might want to use for your tests as long as there are no nearby objects casting their shine or shadow upon the area.
    – Imre
    Feb 12 '14 at 5:56

Use an overcast sky + put a semi-transparent textile or paper on the lens, covering the front completely. Basically the latter will be so off focus, it will work as a low pass filter, blurring everything, including the textile or paper texture.

Just make sure what you use to cover the lens is pure white. Tissue-paper is a very good candidate.

Use RAW for taking the photo, ISO 100, use largest aperture, do not post-process the image in any way (in camera or later, in Camera Raw/Lightroom, etc.)

You can verify the quality of this approach by picking colors the same distance from the optical center, and comparing them. Unless your lens has errors in the optical assembly, those colors should match pretty well.

  • Looks great :) now just to find / write free software to quantify it
    – nbubis
    Feb 13 '14 at 18:46
  • Very cool! The easiest is to use Matlab ;-) But I guess you can give a try to Octave's imread as well. I think it supports 16 bit pixel color values. Just make sure you do not apply an ICC profile accidentally as it will alter the image colors, contrast, etc. What you need is a RAW-to- TIFF or -to-PNG lossless converter, that does not use an embedded ICC profile - you want to get access of the raw pixel values.
    – TFuto
    Feb 13 '14 at 21:34
  • You could also give a try to LibRaw.
    – TFuto
    Feb 13 '14 at 21:37
  • Or dcraw... an example is here.
    – TFuto
    Feb 13 '14 at 21:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.