I shoot most of my pictures with a Sigma 17-50 F2.8 lens on my Canon 450D in RAW. And I process the RAWs in Canon's free software, DPP (Digital Photo Professional).

This software has one feature which is always greyed out for me because I use a Sigma lens: lens correction. DPP works only with Canon lenses.

What does this post-processing feature actually do? Is this something one should have or is it neglectable?

ps: I know, one question only. But is there other free software that would recognize my sigma lens?


4 Answers 4


To answer the first part of your question:

As wikipedia says, it is for correcting lens effects, such as barrel distortion and and perhaps more important vignetting. Basically it is data about a lens that is applied to an image, a lens that is known to have -1EV of vignetting at the edge of the photo will be corrected by applying +1EV at the edges. Or if the distortion of a zoom-lens gives a barreling effect, a mathematical formula to counter that effect is applied to the photo. It can make all the difference in some cases.

This information about a the lenses are stored in so called profiles, almost every kind of lens made for digital photography has a profile some where.

Personally I use this to remove the vignetting almost always, if I do want a vignette I will apply it manually to the photo afterwards anyway.

To answer the second part of your question:

Canon has chosen to only supply the profiles for their own lenses with their software. Many other applications that have the lens correction feature can also have profiles added manually, so that you can download or create profiles and add them. However this is usually not the case where the application comes from a major lens manufacturer. I believe this is the case with DPP by Canon. Can anyone confirm this?

The biggest advocate of lens profiles is perhaps Adobe, relying on them heavily in Lightroom and CameraRaw for Photoshop (and other applications). I know that the profile you seek has been included for a fair amount of time, I would guess for many years.

Adobe has published a long list of the profiles shipped with their applications.

You can import profiles created by others "Custom profiles" as well, maybe you don't like how adobe chooses to correct for your lens. I have a few custom ones I made myself to quickly get "that look". I guess then it's no longer just about correcting, but adjusting to what I would like to call "corrected" ;)

That said there are a number of other software out there that allows you to correct lens effects. Such as suggested by @AndreKR. I would put up a warning to remember that almost always when you export a picture from one application and import to another you loose some information.

Edit: I found a related wiki page about image distortion.


Lens correction is based on mathematical model that describe how a ray of light moves from the ideal frame to the lens distorted frame as a function of the point's distance from the principal point (center). Note that this center is not width/2 , height/2. It needs two sets of numbers: camera matrix and distortion coefficients. Last time I looked at commercial product's lens correction they used a very simple model that is fine for "pleasing the human eye", but it is not scientific. I use the scientific model and an accurate calibration of the values are needed. These values describe:

  • Focal length in pixels
  • Principal Point in pixels
  • Skew factor

This makes up the camera matrix that will normalize the image around the center of the sensor, and bring the scale into sensor scale.

Then there's 5-6 distortion coefficients that take these effects into account:

  • radial distortion (the "circular" effect: pincushion and barrel effect)
  • tangential distortion (models that the lens is not aligned 100% with the normal of the sensor which rotates the plane a bit)

Using these values, you can compute how the image would look without this distortion by inverting the displacement done by the distortion and inverse the normalization you did before.

Matlab calibration tool box or the C++ OpenCV library will find those values (camera calibration and you can plug them into my program Image View Plus More 2, or play with the sliders for each coefficient to see how it changes the image and make your own "eye" calibration - or just for funny effects :)

Lens distortion sliders

Note that I removed the tangential sliders when I realized they do the same to the image as my "Pitch" and "Yaw" sliders (can be used to mimic shift/tilt lenses). It will use the center of the selection box (if selected) as the principal point, otherwise the image center will be used.

  • \$\begingroup\$ I want to add save/load profiles (and opencv calibration files) and maybe even autoloading based on exif info. The problem with this is that a calibration is only scientifically true for the same focus distance so you need a new calibration per focus point of each lens and my camera doesn't store focus distance in the exif :( \$\endgroup\$ Commented Oct 1, 2012 at 11:41

You got some great answers to your first question already which I'll summarize as: Lens correction attempts to compensate for lens defects.

As for whether it is important or not, it depends on several factors:

  • One is the lens in question, a perfect lens obviously would need no such correction but there are plenty of high quality lenses which get sufficiently close that their defects are not readily visible to the eye.
  • Another is the scene. Some lens defects, such as vignetting are extremely easy to spot on a uniform background like the sky but much harder otherwise. Distortion is much more visible when the scene contains lines which are known to be strait.

The question then becomes whether to correct or not. What is important to know is that most corrections have unintended side-effects which must be weighed against their benefits:

  • To correct vignetting is actually the easiest and least problematic since it simply boosts the brightness of pixels on the outer edge of the frame. In extreme cases you may see more noise appear there but that is it.
  • To correct for distortion all pixels must be recalculated based on those in the image. This cause a general softness whose intensity depends on the amount of correction to be applied. As usual softness is more visible in high print sizes, so if you correct distortion to make building walls look straight instead of curved for an image shown on the web, it would be tough for people to see the degradation. Print the about poster-size and you have another situation where you must decide whether the straight walls or sharpness are most important.
  • Correcting for distortion is highly problematic for tightly framed subjects as pushing edged forces framing to be adjusted in order to keep the image rectangular. You can see this in camera which have built-in lens correction: what you frame and what is output no longer matches! Even more odd but obvious is that the JPEG and RAW do not show the same framing!!!
  • Correcting for chromatic aberrations obviously involves inventing pixels, kind of like content-aware feel but on a miniature scale. This is very new and I have not seen the side-effects yet but I imagine there are :)

There is another software (although not free) called PTlens that does the same for a wide range of lenses.

See their example page to see what it does.

  • \$\begingroup\$ great illustration of what lens correction does, thx. One question though... the lenses page lists the sigma 17-50 as mulitplier 1.5. Does this mean the software only recognizes the Nikon version? Canon's crop factor is 1.6 afaik. \$\endgroup\$
    – rompetroll
    Commented Oct 1, 2012 at 18:46
  • 1
    \$\begingroup\$ The introduction at the top of the page says: For example, a calibration based on a 1.5x sensor can be used on a 1.6x sensor but not on a 1.0x sensor. \$\endgroup\$
    – AndreKR
    Commented Oct 1, 2012 at 21:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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