I recently fooled around with photographing a hamburger in my studio, and at the same time playing around with the high resolution mode on my Olympus OM-D E-M1 Mark II camera. Unfortunately, when I took the photo, the studio flash did not seem to get triggered when in high resolution mode. So all I got was a black frame. I decided to take a look at it in post processing nevertheless.
Turns out that the highest pixel value according to the histogram and pixel readout is 1. Most are 0. Since an RGB image is represented by 8 bits per channel (Red, Green and Blue), it means each channel can have 256 different values. I was curious to see how much data was still lurking in the darkness.
The Olympus camera has a 12-bit sensor generating RAW images containing 4096 values per channel. Doing some basic math, each value represented by the Photoshop histogram actually represents one of 16 values in the file. In other words, if the Photoshop image shows a 0 for a pixel, and is based in integer math being rounded from the actual values, that 0 could be any value from 0 to 7 in the original file. A value of 8 to 15 maps to a 1 in the 255 RGB space, a value of 16 - 23 also maps to a 1, and a value between 24 - 31 maps to a 2 and so on until the value 4095 that maps to 255.
It follows that each RGB pixel value could actually be one of 16 different values. Considering that the largest value I saw was 1, it follows that my image could theoretically contain up to 24 distinct values per channel. Let's see where that gets us when I apply some processing magic:
It surprised me that this amount of data lurked in the shadows. The image when properly exposed, although only at 20MP, is shown below.
This is real science, unlike science fiction.