Difference between revisions of "PLR"

From apertus wiki
Jump to: navigation, search
(Created page with "Some attempts to reverse engineer the PLR high dynamic mode from CMV12000. ==Registers== * 79: Number_slopes: 1,2,3. * 75-78: Exp_kp1, Exp_kp2: exposure times for highlights...")
 
Line 24: Line 24:
  prctile(a(:),99) - 128        % note: black level is forced to 128 in raw2dng
  prctile(a(:),99) - 128        % note: black level is forced to 128 in raw2dng
  ans =  2269                  % clipping starts at about 2400-2500 above black
  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
* http://files.apertus.org/AXIOM-Beta/snapshots/PLRHDR/wiki/100ms-vs-30ms-lin.png
* 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]
[to be continued]

Revision as of 12:56, 30 January 2016

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
  • 30ms-lin.jpg
  • 100ms-lin.jpg

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
  • 100ms-vs-30ms-lin.png
  • 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]