Exposure demonstration

Here is a sequence of images shot on film at different f-stops. The original images were shot at each half t-stop (every picture increases the exposure by the square root of 2) on a 35mm camera onto Kodak 5248 stock. The negative was then developed and scanned on a Kodak Cineon scanner to a logarithmic Cineon file:

Click here to see each picture. The scans were converted to linear floating point and then to sRGB by using the math described here and then written as jpeg files. If your monitor is correctly adjuested and you have an accurate light meter you can see that the luminance increases by a factor of 2 each 2 f-stops for the middle range:
                                 

Next is a simple attempt to match all the exposures by multiplying the linear floating point by the correct power of 2 to compensate for the f-stop. This shows that even simple math is quite successful when working in linear floating point. This is despite the fact that there is plenty of non-linearity in the mechanical f-stops on the camera, in the film emulsion, in the film processing, and in the scanner's photo detector. The low end is too bright due to the low-end rolloff in the film response, and there are color shifts due to different roll-offs at each end of each color emulsiion:
                                 

Here is what happens if such simple math is applied directly to the sRGB data, as many programs will try to do. This is a complete failure, no images match in luminance! Most users conclude that scanning and film are extremely non-linear, rather than blame their monitor or the person who wrote their software:
                                 

Here is an attempt to do as well as Linear Floating Point by manually adjusting the multiplier when working on the sRGB data. Each frame was measured and a multiplier chosen to get the green value of the center sample equal on all frames. This took considerably more user input and time than the other solutions, and still is not as good in that the contrast of the gray ramps varies considerably, this can only be fixed by more complex color lookup tables.
                                 

Okay, enough demos, back to the paper.