PLR
From apertus wiki
Some attempts to reverse engineer the PLR high dynamic mode from CMV12000.
1 Registers
- 79: Number_slopes: 1,2,3.
- 75-78: Exp_kp1, Exp_kp2: exposure times for highlights (same formula as Exp_time)
- 106: Vtfl2, Vtfl3: knee point locations (range: 0-63; units: unknown)
Let's check the effect.
1.1 Register effects
I'll use an IT8 chart, exposed at 30 ms (normal exposure), 100 ms (a bit overexposed) and 300ms (really overexposed). A little dark in the lab today, but shouldn't be a big problem.
To analyze the images, I'll use octave 4.0, compiled with 16-bit image support. The scripts should run in Matlab as well, with minimal changes.
1.1.1 Linear exposures
Let's check if the first image is really exposed to the right, in octave.
a = read_raw('30ms-lin.DNG'); prctile(a(:),99) - 128 % note: black level is forced to 128 in raw2dng ans = 2269 % clipping starts at about 2400-2500 above black
Let's check if the clipping point is, indeed, where I say:
figure, hold on colors = 'rgcb'; [g30,c30] = sample_it8('30ms-lin.DNG', 0); [g100,c100] = sample_it8('100ms-lin.DNG', 0); for i = 1:4 plot(c30(:,i), c100(:,i), ['.' colors(i)]); end
- this approximates (but it's not equal to!) the response curve without PLR
- this plot assumes the sensor response in the 30ms image (which was not overexposed) is linear (but it's probably not)
- the sensor doesn't clip very harshly to white
[to be continued]