Pages: 1 [2]   Go Down

Author Topic: Technical article on noise in digital imaging  (Read 17040 times)

ejmartin

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 575
Technical article on noise in digital imaging
« Reply #20 on: May 28, 2008, 01:30:30 pm »

Quote
For the Nikon,  I am assuming that ISO 200 is the lowest AD amp gain and that the L1 (100) ISO is an in camera software manipulation.  If so, does the L1 "ISO" provide any benefit for a RAW image that can't be done better on a computer.  Also, is there a "downside" of L1 as there seems to be with the H1 and H2 "ISO" on the high end.

This question came to mind after reading that Michael used "ISO" 100 to expose his "Maelstrom" photo.

Steve
[a href=\"index.php?act=findpost&pid=198559\"][{POST_SNAPBACK}][/a]

I have no data on the D3, but on the D300, the raw data of the camera I tested shows that the L1 low ISO extension is actually ISO 125.  One sees this from the gain measured in photons/raw level, which is not quite twice that of ISO 200 on the D300; if you work out what it corresponds to you find ISO 125.  The raw data goes up to the same saturation level as it does at higher ISO.  Amusingly, there is no false advertising -- when you turn on LO ISO extension, the ISO field in the metadata is left blank

On current Canons (Mark 3 1D/1Ds and 40D) ISO 100 is truly ISO 100, but the raw saturation point is somewhat below the 14-bit maximum of 16383; this means that the "true" base ISO is somewhat higher than 100, in that the sensor is maxing out early -- one would have to use a slightly higher ISO to have the sensor saturate at the 14-bit max.  The same was true of ISO 50 on the 1D2; raw saturation occurred below the max 12-bit level for this ISO.  What used to occur at ISO 50 in the older generation, now occurs at ISO 100 in the newer generation of Canons.  This is a good thing, it means that the camera is more efficient in capturing photons (more sensitive to light) since photosite saturation occurs at a higher ISO than before.  In the current models, ISO 50 is not a true ISO at all, it is ISO 100 overexposed by one stop "under the hood".  You have one less stop of highlight headroom to play with, but you get better SNR because you've exposed ISO 100 more to the right.

So on current Canons, there is no difference in the raw data between ISO 50 on the one hand, and ISO 100 with the same Tv/Av and the raw data pulled by one stop in post-processing.  On the Nikon D300, the low ISO extension is not quite ISO 100, and so one should take that into account if shooting manual mode.  It would be nice to have data from a D3 to examine.
« Last Edit: May 28, 2008, 01:45:48 pm by ejmartin »
Logged
emil

Plekto

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 551
Technical article on noise in digital imaging
« Reply #21 on: May 28, 2008, 02:50:00 pm »

I would like to see how the Sigma SD14 would fare, considering that it has a few less factors to deal with.
Logged

ejmartin

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 575
Technical article on noise in digital imaging
« Reply #22 on: May 28, 2008, 04:07:10 pm »

Quote
I would like to see how the Sigma SD14 would fare, considering that it has a few less factors to deal with.
[a href=\"index.php?act=findpost&pid=198587\"][{POST_SNAPBACK}][/a]

Someone with an SD14 supplied me with some raw files for  just this purpose; unfortunately, the software tools I have been using process the raw data to an extent that I was unable to extract the needed figures for read noise and sensor gain.  I believe that is more than a problem with those software tools, apparently the Foveon data undergoes some serious massaging before it becomes an exposure level for each color channel, and that massaging affects the noise measurements in ways that I don't yet know how to account for.
Logged
emil

Guillermo Luijk

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2005
    • http://www.guillermoluijk.com
Technical article on noise in digital imaging
« Reply #23 on: May 28, 2008, 05:12:55 pm »

Quote
So on current Canons, there is no difference in the raw data between ISO 50 on the one hand, and ISO 100 with the same Tv/Av and the raw data pulled by one stop in post-processing.  On the Nikon D300, the low ISO extension is not quite ISO 100, and so one should take that into account if shooting manual mode.  It would be nice to have data from a D3 to examine.
I reached the same conclusion when analysing 2 Canon 5D RAW files at ISO50 and ISO100. Keeping aperture/shutter RAW histograms were identical:

ISO50, 1/128.0s, f/8.0


ISO100, 1/128.0s, f/8.0


I did the RAW extraction with dcraw -v -D -T -4.
When developing the image the result was obviously the same on both RAW files:






The funny thing comes when the owner of the RAW files reported that when opening both RAW files in Adobe Camera Raw and setting all adjustments (specially exposure) equal for both, the ISO50 RAW file displayed 1 f-stop darker.
Does this mean ACR knew the fake ISO50 particularity in the 5D and displayed the image accordingly, and not just looking at the pure RAW levels?
If that is true I still trust less commercial developers than before.

BR
« Last Edit: May 28, 2008, 05:17:09 pm by GLuijk »
Logged

bjanes

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 3387
Technical article on noise in digital imaging
« Reply #24 on: May 29, 2008, 12:35:44 pm »

Quote
I have no data on the D3, but on the D300, the raw data of the camera I tested shows that the L1 low ISO extension is actually ISO 125.  One sees this from the gain measured in photons/raw level, which is not quite twice that of ISO 200 on the D300; if you work out what it corresponds to you find ISO 125.  The raw data goes up to the same saturation level as it does at higher ISO.  Amusingly, there is no false advertising -- when you turn on LO ISO extension, the ISO field in the metadata is left blank

[a href=\"index.php?act=findpost&pid=198572\"][{POST_SNAPBACK}][/a]

I performed some tests with the D3 by exposing a Stouffer wedge at f/8 and varying the shutter speed in 1/3 EV increments at both ISO 200 and L 1.0 (ISO 100) and measuring the resulting pixel level in the green1 channel of the raw files using Rawanalyze. As a check, I also measured the levels in Iris and got the same values. The data are shown graphically. For ISO 200, the proper exposure is 1/25 s at f/8, which places the green1 channel just short of clipping. For ISO 100, 1/25 s at f/8, light falling on the sensor is the same as for the ISO 200 exposure and the same pixel values are recorded in the raw file. This indicates that the camera amplifier gain is the same for both exposures.

However, the proper exposure for ISO 100 would be 1/13 s at f/8. Again, the same raw data values are obtained for ISO 200 exposed at 1/13 s at f/8. The green1 channel is saturated in both instances.

« Last Edit: May 29, 2008, 12:42:05 pm by bjanes »
Logged

bjanes

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 3387
Technical article on noise in digital imaging
« Reply #25 on: May 29, 2008, 01:01:27 pm »

Quote
I'll upload some images on usendit and post the URLs in a separate reply in this thread. Right now my head is swimming in confusion after this exercise. 
[{POST_SNAPBACK}][/a]

Img007, f/8.0, 1/13 sec, ISO 200:
 [a href=\"http://download.yousendit.com/1DCB1F446BB7D9F6]http://download.yousendit.com/1DCB1F446BB7D9F6[/url]

Img012, f/8.0, 1/25 s, ISO 100:

http://download.yousendit.com/8142C2AA3397556C

Img015, f/8.0, 1/13 s, ISO 100:

http://download.yousendit.com/8AAC1A4219A6209C

Img004, f/8, 1/25 s, f/8, ISO 200:

http://download.yousendit.com/A978F9C3545E442C
Bill
« Last Edit: May 29, 2008, 02:29:04 pm by bjanes »
Logged

ejmartin

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 575
Technical article on noise in digital imaging
« Reply #26 on: May 29, 2008, 04:51:41 pm »

Quote
I performed some tests with the D3 by exposing a Stouffer wedge at f/8 and varying the shutter speed in 1/3 EV increments at both ISO 200 and L 1.0 (ISO 100) and measuring the resulting pixel level in the green1 channel of the raw files using Rawanalyze. As a check, I also measured the levels in Iris and got the same values. The data are shown graphically. For ISO 200, the proper exposure is 1/25 s at f/8, which places the green1 channel just short of clipping. For ISO 100, 1/25 s at f/8, light falling on the sensor is the same as for the ISO 200 exposure and the same pixel values are recorded in the raw file. This indicates that the camera amplifier gain is the same for both exposures.

However, the proper exposure for ISO 100 would be 1/13 s at f/8. Again, the same raw data values are obtained for ISO 200 exposed at 1/13 s at f/8. The green1 channel is saturated in both instances.
[a href=\"index.php?act=findpost&pid=198773\"][{POST_SNAPBACK}][/a]

I think this first test is the most telling -- the fact that the raw values are more or less the same for ISO 200 and the LO extension, for the same exposure, says to me that the LO iso setting is secretly ISO 200.  

The rest of what you did seems to me telling more about how ACR reacts to the ISO metadata tag than it tells us about the actual ISO of the LO setting.  You can't reliably discern what the true ISO is from how much compensation is needed from "0" to get the wedge values to match; for instance, HTP on Canons and ADL on Nikons use a lower ISO than is set in the camera to record the image.  The raw converter reads that tag and applies a different exposure compensation than it does with HTP off (about one stop).  So you couldn't tell from ACR that ISO 400 with HTP on is the same gain as ISO 200 with HTP off, but you can tell it by seeing that the raw histograms are the same.
« Last Edit: May 29, 2008, 04:52:17 pm by ejmartin »
Logged
emil

Guillermo Luijk

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 2005
    • http://www.guillermoluijk.com
Technical article on noise in digital imaging
« Reply #27 on: May 29, 2008, 05:33:37 pm »

I have completed the DR comparision, introducing now the Mark III cameras, and applying the SNR correction suggested by Emil in 'BIG PIXELS vs. small pixels', i.e. SNR scales with the image resolution in pixels. I took 40D as a fixed reference so SNR and hence DR improved for the rest of cameras with more pixels:

Now 5D clearly takes its place over the 40D. The 1D3 yields very good results specially taking into account it's a 1.3 sensor. D3 beats the 1D3 and 1Ds3 beats D3 thanks to those huge 20Mpx.


« Last Edit: May 30, 2008, 03:27:59 am by GLuijk »
Logged

Ray

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 10365
Technical article on noise in digital imaging
« Reply #28 on: May 29, 2008, 11:09:01 pm »

Quote
I have completed the DR comparision, introducing now the Mark III cameras, and applying the SNR correction suggested by Emil in 'BIG PIXELS vs. small pixels', i.e. SNR scales with the image resolution in pixels. I took the 40D as a fixed reference so SNR and hence DR improved for the rest of cameras with more pixels:
[a href=\"index.php?act=findpost&pid=198858\"][{POST_SNAPBACK}][/a]


That's a very well-presented chart, Guillermo. I struggle with a lot of the in-depth technical discussion here, but simple graphs are easy   .

What I find interesting here is that at the high ISOs of ISO 800 and 1600, that are probably used most without too much compromise in image quality, there's virtually no difference in DR between the 5D, the 1D3 and the Nikon D3.

It appears to be at ISO 200 that the Nikon D3 has the greatest DR advantage over the Canon competition, with the exception of the 1Ds3 as a result of its greater pixel count.
Logged

bjanes

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 3387
Technical article on noise in digital imaging
« Reply #29 on: May 30, 2008, 02:34:33 pm »

Quote
I reached the same conclusion when analysing 2 Canon 5D RAW files at ISO50 and ISO100. Keeping aperture/shutter RAW histograms were identical:
[a href=\"index.php?act=findpost&pid=198607\"][{POST_SNAPBACK}][/a]

Guillermo,

I observed similar behavior with the D3. The raw file has the same values at ISO 200 (the lowest normal setting) and at ISO 100 (the L 1.0 setting).


Quote
The funny thing comes when the owner of the RAW files reported that when opening both RAW files in Adobe Camera Raw and setting all adjustments (specially exposure) equal for both, the ISO50 RAW file displayed 1 f-stop darker.
Does this mean ACR knew the fake ISO50 particularity in the 5D and displayed the image accordingly, and not just looking at the pure RAW levels?
If that is true I still trust less commercial developers than before.

[a href=\"index.php?act=findpost&pid=198607\"][{POST_SNAPBACK}][/a]

With the D3, the fake ISO 100 shots are also rendered 1 stop darker than the ISO 200 shots with the same exposure (f/stop and shutter speed). I think that this is the intended behavior, so that the ISO is taken into account when the file is rendered. Unfortunately, the raw channels can be blown and there would be no indication of this in ACR.

Bill
Logged

Marc Wossner

  • Newbie
  • *
  • Offline Offline
  • Posts: 2
Technical article on noise in digital imaging
« Reply #30 on: June 01, 2008, 11:39:17 am »

Quote
... for those with a technical bent:

http://theory.uchicago.edu/~ejm/pix/20d/te...oise/index.html

Put on your propeller beanies   

Seriously, though, fans of this site's disquisition on ETTR might be interested in the analysis on page 3 of the article, among other things.
[a href=\"index.php?act=findpost&pid=197353\"][{POST_SNAPBACK}][/a]

Emil,

I´m not yet involved with digital photography but about to make the switch. So my following question is due to my minor knowledge. In "Aspects of Noise Reduction in Raw Data" you state that

"Unfortunately, none of the noise reduction methods outlined above can be conveniently applied to raw images using current commercial raw converters such as ACR, DPP, Capture NX, Capture One, Bibble, Aperture, etc. The methods involve the preparation of a noise reduction template, which must then be applied to the raw image before raw conversion. None of the mentioned raw converters have the ability to apply such a template..."

So how can the techniques you describe then be applied? Is it possible to use them manually in Photoshop?


Best regards!
Marc Wossner
Logged

ejmartin

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 575
Technical article on noise in digital imaging
« Reply #31 on: June 02, 2008, 10:47:31 am »

Quote
Emil,

I´m not yet involved with digital photography but about to make the switch. So my following question is due to my minor knowledge. In "Aspects of Noise Reduction in Raw Data" you state that

"Unfortunately, none of the noise reduction methods outlined above can be conveniently applied to raw images using current commercial raw converters such as ACR, DPP, Capture NX, Capture One, Bibble, Aperture, etc. The methods involve the preparation of a noise reduction template, which must then be applied to the raw image before raw conversion. None of the mentioned raw converters have the ability to apply such a template..."

So how can the techniques you describe then be applied? Is it possible to use them manually in Photoshop?
Best regards!
Marc Wossner
[a href=\"index.php?act=findpost&pid=199258\"][{POST_SNAPBACK}][/a]

Currently it is not possible to do properly in Photoshop dark frame subtraction or other noise suppression of the sort discussed in the article.  It is important to do the subtraction in the raw state, before the image is white balanced, demosaiced, gamma corrected, etc.  The noise templates give the specific information about what to subtract from each pixel, before the pixel values are mixed up by the interpolation of colors and nonlinear transformations of gamma correction and such.  Attempting to do the subtraction after raw conversion is pretty much hopeless.

The sorts of noise subtractions I described are standard procedure in astrophotography, and there are a number of software tools that are used in that community (IRIS, ImagesPlus, etc) that can do the job properly; but they have their own shortcomings (for instance IRIS has no color management AFAIK, and the demosaicing algorithm is pretty basic).

I find it hard to believe that dark frame subtraction is going to be implemented in ACR for instance, probably not a feature for which there is high demand, and let's face it, many if not most images are not strongly affected by a little extra noise in the deep, deep shadows.  That's why I think there is room for a little application that allows one to take the output file of a little preprocessing on the side in the raw state in eg an application like IRIS, and then stuff the result into a raw dng file together with the metadata of the original raw file, that one could process with one's regular raw converter.  For the occasional problem image or an image that one wants to lavish a lot of extra careful attention on.
Logged
emil

Marc Wossner

  • Newbie
  • *
  • Offline Offline
  • Posts: 2
Technical article on noise in digital imaging
« Reply #32 on: June 12, 2008, 04:03:22 am »

Quote
Currently it is not possible to do properly in Photoshop dark frame subtraction or other noise suppression of the sort discussed in the article.  It is important to do the subtraction in the raw state, before the image is white balanced, demosaiced, gamma corrected, etc.  The noise templates give the specific information about what to subtract from each pixel, before the pixel values are mixed up by the interpolation of colors and nonlinear transformations of gamma correction and such.  Attempting to do the subtraction after raw conversion is pretty much hopeless.
...

But a lot of articles on the web promote the idea of doing at least dark frame subtration in Photoshop using .jpeg and layers.
http://www.astropix.com/HTML/J_DIGIT/JPG_DFS.HTM even states that "It is a common misconception that dark frame subtraction can only be beneficial on Raw images." While I cant say weather this is true or not because Im not digital yet and have no images to compare I find it interesting to think about the various possibilities. So what about a split workflow using .raw and .tif files. For pattern noise that might look like that: Take a couple of dark frames with short exposure and average their raw files together in IRIS or ImagesPlus to get a bias frame. Save the bias frame as 16-bit .tif and subtract it in Photoshop from the image using layers and blending mode difference. The same workflow should work for dark frames with long exposures to reduce thermal noise (and pattern noise and amplifier glow).
Has anyone experience with this kind of image manipulation and can tell if it works without introducing too many additional errors? And what about the reduction of pixel response non-uniformity? To do so one must divide the raw values of the image by the corresponding pixel raw values of a so called flat field. This can be done in IRIS (http://www.astrosurf.com/buil/us/iris/iris.htm. But will it give good results using 16-bit .tif files for both the image and the bias frame?

Best regards!
Marc Wossner
Logged

Graystar

  • Guest
Technical article on noise in digital imaging
« Reply #33 on: June 13, 2008, 11:39:59 pm »

Quote
The following chart represents a noise model for three different pixel sizes for sensors with otherwise identical characteristics.
Can you point me to the technical specs of these sensors?  I ask because the research I've done (across Kodak sensors, for example) shows that, within a family of sensors, the number of electrons is actually less than proportionate for smaller pixels.  That is to say that the electron count of 4 smaller pixels doesn't add up to the count of 1 pixel of equal size.  So I’d be interested viewing the specs of a family of sensors that do show electron counts being proportional to size.  Thanks.
Logged

bjanes

  • Sr. Member
  • ****
  • Offline Offline
  • Posts: 3387
Technical article on noise in digital imaging
« Reply #34 on: June 15, 2008, 01:17:54 pm »

Quote
Can you point me to the technical specs of these sensors?  I ask because the research I've done (across Kodak sensors, for example) shows that, within a family of sensors, the number of electrons is actually less than proportionate for smaller pixels.  That is to say that the electron count of 4 smaller pixels doesn't add up to the count of 1 pixel of equal size.  So I’d be interested viewing the specs of a family of sensors that do show electron counts being proportional to size.  Thanks.
[{POST_SNAPBACK}][/a]


No, my analysis was from a mathematical model. In the real world, the full well capacity  vs pixel size relationship is not linear and the slope of the curve generally increases as pixel size increases, as you mention. Roger Clark has constructed a model for this relationship.

[a href=\"http://www.clarkvision.com/imagedetail/digital.sensor.performance.summary/]Sensor Performance Summary[/url]

CCDs have a relatively high fill factor, and I would expect the relationship to be more linear than with CMOS, where the on chip image processing transistors take up a certain percentage of the pixel area. As the pixel area increases, I would think that a higher proportion of the pixel area could be dedicated to light capture.

Bill
Logged

David Ellsworth

  • Newbie
  • *
  • Offline Offline
  • Posts: 11
Technical article on noise in digital imaging
« Reply #35 on: June 24, 2008, 03:57:39 pm »

What an excellent article! And I'm thrilled to see so many people on this forum with a technical bent. Back in 2002 I found out about these concepts, and it totally changed the way I think about photography (and the way that I do photography, as well).

My first camera with RAW capability was an Olympus E-20N. For me, this was a doorway into experimentation. I started out merely taking bias, dark, and flat frames, and writing programs to average them, subtract the bias, scale and subtract the dark, and divide by the flat. I used this to refine some heavily-stacked astrophotos. (The E-20N was a quasi-DSLR, with a beam-splitter instead of a mirror, a fixed zoom lens with a leaf shutter, and a 2/3" sensor. Needless to say it was much noiser than "true" DSLRs, and astrophotography required a whole bunch of stacked frames to beat down the noise.)

I came up with a way to plot variance (standard deviation squared) versus data level (ADU) with a huge amount of precision. The conventional technique is to measure noise locally within a region of solid color in one photo — this is not only subject to PRNU but assumes that the region doesn't have any tonal variation; and the number of data points is limited to the number of solid color swatches (or exposures at different light levels).

I decided I wanted to compare each pixel only with itself, across multiple exposures — camera on tripod, triggered remotely, photographing a scene with as much dynamic range as I could squeeze in, defocused to minimalize the effects of cumulative camera movement (ideally there'd be none of this, but even the teensiest subpixel movement threw off my data otherwise).

There was a major problem: when I took multiple exposures of the same thing, the brightness in each frame was different. I didn't know whether this resulted more from variations in my light source or in my camera's shutter lengths. It didn't matter, because I had no way of eliminating either variation.

I realized that with only one light source, and constant or negligable thermal noise, the frames differing brightnesses could be averaged together to make a reference frame that still had a monotonic tone curve. So I took this "reference frame", with much lower noise than each frame that went into it, and sorted the pixels by brightness.

The sorted list is merely a list of x,y coordinate pairs, going from darkest to lightest. The upshot of this is that each individual source frame can then be processed, and pixels grouped by brightness; simply take a subregion of the sorted list, and all the pixels at those coordinates will be very close in average brightness (using knowledge gleaned from the full set of frames) but will follow a Poisson distribution within the one frame. So the mean and the variance provide a data point for the graph; then the program can move on to the next set of pixels adjacent in the list ("adjacent" in the list, not adjacent spatially). (Actually, for extra precision my program pools the data from all the frames, using the sorted pixel list, before doing any calculations of mean and variance; but the way in which this is done is analogous to doing it on one frame.)

Some simple algebra gave me a formula to get a graph of gain from the graph of variance. Integrating this yields a graph of linearity.

It turns out that the graph of gain shows some interesting features when mapped with great precision. Here are the graphs I came up with:

Olympus E-20N @ ISO 80
Olympus E-20N @ ISO 320

Notice that at ISO 80, the gain varies quite significantly, going from 7.3 to 8.6 electrons per ADU. This results in a significantly nonlinear "tone curve". When I used this tone curve in my astrophotography stacking program, the division-by-flat-frame became more accurate, and the last trace of PRNU disappeared!
Here is the astrophotography experiment where I put all this to use; I was limited to photographing the sky around Polaris, because I don't have a tracking mount (I made my stacking program rotate the frames according to timestamp). PRNU was quite prominent in this, because that region of sky is quite light-polluted at my home. (I subtracted the light pollution using a windowed median function.)

Back when I first did this experiment, I tried to find other people to do it on their own cameras (especially true DSLRs) by posting on a dpreview.com forum. I didn't get many responses, and the one person I recruited to do it on his own camera didn't follow through. I think it will be different, now, on this forum!

Three weeks ago I finally got a DSLR, and have begun to do these experiments on it:
Canon Rebel XSi (450D) @ ISO 100

(I was also shocked to realize that my new DSLR has different read noises at different ISOs. I expected it to have the same read noise (in electrons) at all ISOs, just like my old Olympus E-20; I expected to be able to stay at ISO 100 always, and simply underexpose when necessary, never having to worry about highlights being blown. But I suppose that'd be too easy!)

My experiment could use lots of refinement. For one thing, the way I arrange a highly-dynamic-ranged scene is pretty much seat-of-the-pants; I use my computer room as the scene (photographed at 18mm), and move objects around to "sculpt" the histogram. What is needed is a standard way to sculpt the histogram into being utterly linear. Photographing a print doesn't come close to being good enough, because the blacks aren't black enough. I'm thinking perhaps a 3-dimensional shape could have the proper reflective characteristics, but I'm not sure how to design it.

Sources of error also have to be wrangled. There's miniscule camera movements, which I don't think can be entirely eliminated; defocusing should be done in the direction that yields soft bokeh, and of course mirror lockup is a must. Dust in the air is a source of error I have no idea how to measure, and no idea of its significance; the only way to know would be to do an experiment both in a vacuum and at normal air pressure, with everything else equal. Variations in thermal noise are an issue if dim lighting is used (i.e., long exposures); using a flash as lighting may solve this, but it may also complicate things (there may be vertical variances in lighting due to a DSLR's focal plane shutter and possibly imperfect flash sync). Note that thermal noise is fine and dandy if it stays constant; excluding hot/dead pixels, it is just another source of shot noise which is indistinguishable from photon shot noise as far as my experiment is concerned.

There's a slight snag in my calculations, at the left edge of the graph of gain. Currently I have to input an "initial gain" to get it to come out nicely, but I doubt that this initial gain is accurate. Getting deeper shadows into the photographed scene (or intentionally varying the exposure) may improve this, but it may also require modifications in my model. In the meantime, I can only approximate the read noise in electrons, by using the average gain a little ways into the graph rather than at the beginning of it.

Also, I need to implement some curve-fitting to handle the near-saturation levels. As it is now, my graph cuts off there. This will of course also be necessary for Nikon cameras, which subtract the bias level resulting in some shadow clipping (do all Nikons do this?) I was actually hoping my new Canon would not do any highlight clipping but would instead allow the sensor to saturate naturally. Sigma Foveons do this, and as a result their RAWs have some noise in the highlights. That'd be great for my experiment.

For the preliminary Canon 450D graph I've posted, I took a subset of 36 contiguous frames from a series of 136 frames to get good data; something must have changed over time, as the full set of frames had much more variance. My room was lit with incandescent lighting — the frames were 10 second exposures; the level of thermal noise may have changed over time. Also, I defocused the lens in what I now realize was the wrong direction, giving hard bokeh. Nevertheless, the subset of 36 frames appear to be giving good data.

I tried a series of flash shots (off-camera external bounce flash), and while the shape of that graph is similar, it is a bit steeper (enough to change the projected saturation point from about 32000 electrons to about 31000). I'm not sure why, but I suspect that at 1/200 second flash sync, the shutter curtains may not be entirely clear at the moment the flash fires, resulting in slight vertical variations in sensor illumination.

Despite the complications described above, this experiment works as-is, giving interesting results. If properly interpreted, the bumps in the graph of gain may provide an intimate look into the inner workings of cameras' ADC units — I'd be extremely curious to see where the bumps are on other cameras (especially comparing ADCs of differing bit depth), and whether they all have such a flat gain graph (unlike my old Olympus E-20).

Who wants to do this experiment on your own RAW-capable camera(s)? I'm quite willing to share my source code and calculations, and go into more depth in my explanation. (I hope this post isn't too long already!) Comments and questions are quite welcome. Also, I'll bet some of you may have ideas on how to improve/refine the experiment and methodology!

EDIT: Emil, I just realized that you are both the topic-starter and the writer of the article! It's awesome to have you here on the forum, and I would really appreciate your input on my experiment.
« Last Edit: June 25, 2008, 10:35:37 pm by David Ellsworth »
Logged
Pages: 1 [2]   Go Up