1 TODO

  1. raw12 snapshots of real world scenes (outdoors, people, etc.) with high & low gain, long & short exposure times
  2. raw12 snapshots of real world scenes, overexposed and underexposed (to various degrees)
  3. raw12 of the 3 color targets, with nicely bracketed range from blown out to dark lit by direct sun 5000k
  4. PLR tests without that logo in the front of the color chart :P
  5. PLR motion test (small video of the same HDR test scene, with the camera panning from left to right).
  6. Repeat the motion test without PLR (overexposed image, to be recovered with nonlinear curves trick).
  7. PLR dark frames: cover the camera and run /home/alex/plr/darkframes/darkframes.sh (one dark frame at each setting). These are just to check dark current levels, not for calibration.
  8. resolution chart (raw12 + mov)
  9. 3 large uniform gray patches in the same image, one very dark, one exposed to the right but not clipped, and one with middle brightness. Image should be slightly out of focus. Target would look somewhat like this: 989489.jpg

1.1 Nonlinearity test with variable aperture

Repeat nonlinearity test with different aperture settings, from f/22 to f/1.8 in 1 stop increments (that is, 22, 16, 11, 8, 5.6, 4, 2.8, 1.8).

First, setup the lighting so it clips on the last images at f/22 (if possible - you might need a lot of light).

Then, run the test once, open the aperture by 1 stop, don't change the lighting setup, run the test again, and so on.

Of course, in these test sequences, the clipping point will be different (small apertures will start clipping at the end of the sequence, while larger apertures will start clipping earlier). This is exactly what I'm looking for - sensor response when the clipping point changes.

Please also include a set of dark frames taken with the same exposure times.

exp_time reg: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 24, 26, 28, 30, 33, 35, 38, 41, 44, 48, 52,
              56, 60, 65, 70, 75, 81, 88, 95, 102, 110, 119, 128, 138, 149, 161, 174, 188, 202, 218, 235, 254, 274, 296, 319,
              344, 371, 400, 432, 466, 503, 542, 585, 631, 681, 735, 793, 855, 922, 995, 1074, 1158, 1249, 1348, 1454, 1569,
              1692, 1826, 1970, 2125, 2292, 2473, 2668, 2878, 3105, 3349, 3613, 3898, 4205, 4537, 4894, 5280, 5696, 6145, 6629,
              7152, 7715, 8323, 8979, 9687.

1.2 Extreme bracketing test

  1. IT8 with extreme bracketing (-8 ... 8 EV in 2 EV increments), at gain x1: http://files.apertus.org/AXIOM-Beta/snapshots/IT8%20extreme%20bracketing/
  2. other images/charts with over/under exposures: http://files.apertus.org/AXIOM-Beta/snapshots/Passport-extreme-21.1.2016/

Then, with the same settings, in this order:

  1. 256 dark frames, gain x1, exposures between 1 and 50 ms, save them under 'darkframes' subdir, then run the command below and upload only darkframe-x1.pgm
raw2dng darkframes/*x1*.raw12 --calc-darkframe --swap-lines
  1. 64 grey frames, gain x1, blank OOF wall, normally exposed (no clipping!), save them under 'greyframes' subdir, run the command below and upload only gainframe-x1.pgm
raw2dng greyframes/*x1*.raw12 --calc-gainframe --swap-lines
  1. 256 *completely* overexposed frames, gain x1, blank OOF wall, exposure time identical to it8 +4EV, save them under 'clipframes' subdir, run the command below and upload only clipframe-x1.pgm
raw2dng clipframes/*x1*.raw12 --calc-clipframe --swap-lines

Please do not change settings like black sun protection during the test ;)

After the test, you can delete those groups of 256 files (just keep the .pgm).

After you've got the reference frames, you can try to develop the IT8 samples and check for FPN, row noise and so on.

1.3 Notes

  • Please set the black offset registers (87,88) to 2047. 1910 is too low (clipped shadows = data lost). To get a normal picture, use raw2dng --black=137.
  • Please save the register metadata block (on past samples, many files were mislabeled).
  • Please compress the images if possible (xz is fine)

For the color charts:

  • Please use a static scene (same background in both Nikon and Apertus), and try to take the picture from the same location (they should have the same framing *after* cropping the Nikon image to APS-C).

2 Done

  1. test flicker behavior of our light sources: 10 frames grey wall lit only by particular light with 0.1ms, 0.5ms and 1ms exposure times each: http://files.apertus.org/AXIOM-Beta/snapshots/LightFlickerTest01/
  2. raw12 snapshot of colorchecker passport with 2047 offset (regs 87/88) gain x1 and x2 - exposure so nothing clips: http://files.apertus.org/AXIOM-Beta/snapshots/ColorChecker-Offset-test-07.01.2016/
  3. colorchecker passport zoomed in on the bottom half and defocused a bit (just the boxes area) - for FPN: http://files.apertus.org/AXIOM-Beta/snapshots/ColorCheckerOutofFocus-07.01.2016/
  4. darkframes, gains 1...4, exposures 1,2,5,10,25,50,100ms, 10 snaps at each setting, with entire camera packed in black cloth to make extra sure there cannot be any light leaking anywhere onto the sensor: http://files.apertus.org/AXIOM-Beta/snapshots/Darkframes-07.01.2016/
  5. repeat Hutch and IT8 charts - same framing for both Nikon and Apertus, please! (surroundings do matter, and so does the camera orientation)
  6. IT8 chart a little underexposed and a little overexposed on the gray scale, both Nikon and Apertus (0, -2 and +2 EV): http://files.apertus.org/AXIOM-Beta/snapshots/IT8%20Charts%20Nikon-08.01.2016/ and http://files.apertus.org/AXIOM-Beta/snapshots/HTC%20Nikon-08.01.2106/
  7. raw12 normal + 1-4 stops overexposure of portraits (make one shot 80ms gainx1): http://files.apertus.org/AXIOM-Beta/snapshots/portraits/overexpseries/
  8. IT8: images at each gain (2x 20ms, 2x 5ms, 2x 1ms for gain x3 and x4): with black sun protection set to 8302 http://files.apertus.org/AXIOM-Beta/snapshots/IT8%20Charts%20Nikon-14.01.2016/
  9. clipped frame with black sun protection set to 8282, 80ms x1, as overexposed as you can, blank out of focus wall, maybe without lens? http://files.apertus.org/AXIOM-Beta/snapshots/clipped_wall-BSProt8282-gainx1-offset2047-80ms-01.raw12
  10. two snaps of the IT8 chart with Registers set to 68[0]= 1 and 68[3] = 1 and two with both registers set to zero. Careful these are just 2 bits the rest need to stay in the original form. http://files.apertus.org/AXIOM-Beta/snapshots/reg68tests/
  11. 5 snapshots of an out of focus wall, taken at intervals of 10 minutes; repeat the experiment another day (to check FPN correlation): http://files.apertus.org/AXIOM-Beta/snapshots/FPN%20longterm/
  12. play with the registers to get an alpha-like behavior (better dynamic range):http://files.apertus.org/AXIOM-Beta/snapshots/Alpha-Regs/

3 nonlinearity tests

grey out of focus wall, gain x1,x2 with 100 frames of different exposure settings (listed below), making sure the last few frames are completely overexposed, on all channels; then run a script and upload the results (and the raw files as well, if possible): http://files.apertus.org/AXIOM-Beta/snapshots/nonlinearity%20test-08.01.2016/

Exposure settings for the gray frames:

exp_time reg: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 21, 22, 24, 26, 28, 30, 33, 35, 38, 41, 44, 48, 52,
              56, 60, 65, 70, 75, 81, 88, 95, 102, 110, 119, 128, 138, 149, 161, 174, 188, 202, 218, 235, 254, 274, 296, 319,
              344, 371, 400, 432, 466, 503, 542, 585, 631, 681, 735, 793, 855, 922, 995, 1074, 1158, 1249, 1348, 1454, 1569,
              1692, 1826, 1970, 2125, 2292, 2473, 2668, 2878, 3105, 3349, 3613, 3898, 4205, 4537, 4894, 5280, 5696, 6145, 6629,
              7152, 7715, 8323, 8979, 9687.

To compute the exposure times, please write down the LVDS clock value used during the test.

Script to be run on those 100 frames:

# make sure you have a dark frame in current directory (darkframe-x1.pgm from those 256 dark frames)
# and that no other reference files (gain or clip) are present

raw2dng *.raw12 --swap-lines

# make sure raw2dng found the dark frame (log should contain this):
#     Not found   : gainframe-x1.pgm
#     Not found   : clipframe-x1.pgm
#     Dark frame  : darkframe-x1.pgm
#     Even rows   : a...b
#     Odd rows    : c...d
#     Row noise from black columns...

python2 raw12_stats.py # updated Jan21,2016

Results: http://files.apertus.org/AXIOM-Beta/snapshots/nonlinearitytests-21.01.2016/

For all samples:#grey out of focus wall, gain x1,x2 with 100 frames of different exposure settings (listed below), making sure the last few frames are completely overexposed, on all channels; then run a script and upload the results (and the raw files as well, if possible)