# Talk:Lens correction model

For (circular) fish eye lenses another way to model the lens (distortion) is: r = a sin (b*theta) where r is the distance from the center of the camera image to the point of interest, theta is the angle between the central axis of the fisheye lens and the line to the point of interest in the real image, a is a scale factor, in these cases to convert from angle in space to millimeters in the image plane, and b is the radial mapping parameter. (It should be noted that b effects a very strongly.) The theoretical fisheye map of r = a*theta is approached as b approaches zero. The perfect fish eye lens is F-Theta mapping so to say, while rectilinear lenses do f tan(theta) mapping.

- We have a page about fisheye mapping as well: Fisheye Projection which mentions the sine mapping, too.--Erik Krause 21:02, 10 July 2008 (CEST)

I copied these ideas from: Fisheye lens designs and their relative performance by James “Jay” Kumler, Martin Bauer from Coastal Optical Systems and Internet Pictures Corporation.

They've estimated a and b for example for the Peleng as 23.8 and 0.34 which would imply if my computations are correct a=0,001691363 b=-0,051282569 c=0,000469245 and (1-(a+b+c))=1,049118709 in the Fish eye quartic distortion model. However given parameters of the sinus model above with r in millimeters from the sensor of the image, that can be easily renormalized to pixels on a cropped sensor.

The article cited discusses also "relative illumination" or vignetting as we speak. They have found this to be dependent on f-number, higher f-numbers producing greater uniformity, or less severe vignetting.

## Kannala and Brandt

Kannala and Brandt have researched correction models for fish eye lenses, see http://www.ee.oulu.fi/~jkannala/calibration/Kannala_Brandt_calibration.pdf

- Interresting reading! However, panotools lens correction model already takes fisheye mapping into account. It works quite well. Even very non-standard mappings like the Nikkor 10.5 fisheye can be corrected. See [1] for details.--Erik Krause 21:02, 10 July 2008 (CEST)