alanrockwood
Allowing Ads
- Joined
- Oct 11, 2006
- Messages
- 2,193
- Format
- Multi Format
I will look your results over carefully. (By the way, one difference between what you have here and what I did is that all of the scans I did were in gray scale, not color.)It's generally not a great idea to do dynamic range or noise analysis on image data that has been conformed to a color space as you have to contend with the gamma encoding and the raw to colorspace transform and what effect that has on the resulting image samples.
So...
http://m.avcdn.com/sfl/epson_v850_raw_black_frames.zip
This contains two files: raw0001.tif and raw0002.tif. Both are a ~36x24mm black frame at 6400 dpi from the center of a completely blocked off capture area (except the scanner calibration area). Vuescan was used to capture and output the raw data with all the controls that vuescan can control (analog gain, etc) zeroed out and locked so they are exactly the same between scans with the only difference being raw0001.tif was captured in 16 bit mode and raw0002.tif was captured in 8 bit mode immediately after raw0001.tif.
Anybody can download these raw files and do whatever analysis they want on them.
I've done a very basic and preliminary look using some tooling that I use for my own internal software. The 8 bit samples were scaled up to 16 bit samples to make the comparison a little easier (using sample/255, then result * 65535, all in float to preserve precision).
The per color channel numbers:
raw0001.tif (captured in 16 bits, saved in 16 bits)
resolution: 9064x6046 px
bits per sample: 16 bits
analyze window_size: +-1024, x1: 3508, x2: 5556, y1: 1999, y2: 4047
max_r:1817, max_g:1911, max_b:1714
min_r:0, min_g:0, min_b:0
avg_r:334, avg_g:350, avg_b:313
raw0002.tif (captured in 8 bits, saved to 8 bits, scaled to 16 bits for analysis)
resolution: 9064x6046 px
bits per sample: 16 bits
analyze window_size: +-1024, x1: 3508, x2: 5556, y1: 1999, y2: 4047
max_r:59904, max_g:53248, max_b:32639
min_r:0, min_g:0, min_b:0
avg_r:1699, avg_g:1666, avg_b:1644
Just for edification, the same values, but scaled to 8 bits
raw0001.tif
resolution: 9064x6046 px
bits per sample: 16 bits (scaled to 8 bits)
analyze window_size: +-1024, x1: 3508, x2: 5556, y1: 1999, y2: 4047
max_r:7, max_g:7, max_b:6
min_r:0, min_g:0, min_b:0
avg_r:1, avg_g:1, avg_b:1
raw0002.tif
resolution: 9064x6046 px
bits per sample: 16 bits (scaled to 8 bits)
analyze window_size: +-1024, x1: 3508, x2: 5556, y1: 1999, y2: 4047
max_r:233, max_g:207, max_b:127
min_r:0, min_g:0, min_b:0
avg_r:6, avg_g:6, avg_b:6
Make of it what you will, though, again, I think it's pretty obvious that 16 bit capture has a significantly lower noise floor and therefore more dynamic range than 8 bit capture. Whether that makes it through the raw to colorspace operations and gamma encoding, is harder to tell as the analysis @alanrockwood has done so far, though sound from an analysis perspective, is being done on data that's already been conformed to a color space. Also whether that lower noise floor matters, depends on what you're capturing, so 8 bit capture very well may be adequate for lower contrast materials.
Either way, the raw files are available for anybody to do their own analysis and draw their own conclusions.
I will look your results over carefully. (By the way, one difference between what you have here and what I did is that all of the scans I did were in gray scale, not color.)
One thing to consider is that according to the documentation I have read, vuescan has the option to save in raw mode, which is linear, but for 8 bit files it always saves in gamma encoded mode. (reference: https://www.hamrick.com/vuescan/html/vuesc24.htm) Why, I don't know, because the gamma transformation process always damages the quality of the data from a data integrity point of view.
Also, I contacted Hamrick a week or two ago and asked him if vuescan dithers before saving in 8 bit mode, and the answer was "no", just in case anyone is wondering about that.
Also, it's good that you did intermediate calculations in floating point mode because doing them in fixed point arithmetic can damage the quality of the data when transformations are done on the data, as you noted.
A parting question: Why are you even scanning your film to begin with?
Because we can. And because we can, we do.
All snark aside, darkrooms are far and few in between, so the only way the vast majority of people can actually see their film is by scanning it in.
Never mind the darkroom. Since we moved, the boss doesn't allow me to mount pictures on walls all over the house the way I use to. So I hardly print anymore. I either post to FLickr or to other photo sites. Also, I make video slide shows that I show on my 75" 4K TV which actually is pretty nice. I can add background music, titles, credits, annotations, etc and short video clips as well as stills, which makes shows, especially of trips and vacations, more interesting. I was thinking of getting one of those TV's that looks like a frame that sequences through pictures when you;re not looking at it as a TV.And further to Adrian's point, even if i wanted to set up a chemical darkroom again, She Who Must Be Obeyed would first need a lot of convincing. Much easier to just scan (at 16 bits of course!) and then to make prints on a really nice photo inkjet printer. The same one I will need for digital native prints.
That all said, I can't wait until I'm at the point where I can start shooting B&W again. I still have my Bulk Loader and Nikon F2 bodies.
Not a bad idea, although I will continue to post here for the time being in order to try to keep the information together in one place.This is all great information. Maybe it would be better if posted in the resources section so it's easier to refer to and find, but otherwise, a great explanation for the uninitiated.
Not sure if this meets your requirements, it was scanned on a Plustek 8100 [Reflecta make a better scanner] in 48 ->24 bit color then processed in Photoshop Elements which I believe saves in 8 bit after converting with silver efex to B/W. Click twice to get the full size which is 3.2 x the width of a 1920 screen. The sky is near grain free with Adox CMS 20 II.Has anyone produced a truly grain free scan of a film using high quality scanner with the work saved in 8 bit mode? If so, what was the noise level relative to the full bit depth? Was it greater than 2 ADC steps of an 8 bit digitizer? If so then it doesn't matter if you use an 8 bit or 16 bit digitizer. Even at 1 bit of noise it won't matter much, and you might even get away with a half bit of noise for less critical work.
A sample calculation may be useful. The grain for Tmax is specified as 7. That means that if sampled with a 48 micron spot size and a density of 1 the standard deviation in density is 0.007 density units. In terms of how much light is transmitted to the detector (which is what the sensor really responds to) it would average 0.1 of the maximum amount of light, but over a range of 0.0984 to 0.1016, where those two limits are the single sigma limits. If the full range of the ADC at 100% transmission were 255 mV then at a density of 1 the transmission would vary over a minus to plus one sigma range of 0.816 mV, which equates to a standard deviation of 0.408 mV or 0.16% of full scale. However, a scanner uses a much smaller effective sampling size than 48 micron. For example, the effective sampling size for a 4000 dpi scanner is 6.35 microns. Therefore, the standard deviation of the noise seen by a scanner pixel would be 0.16% multiplied by 48 divided by 6.35 or 1.2% of full scale. This is significantly higher noise than the maximum noise in any of the simulations I did (0.78% of full scale), which was already well into the range where it didn't really matter if one used an 8 bit or 16 bit digitizer. I won't try to extend this calculation to denser regions of a Tmax negative, at least not at this time, nor will I try to extend the calculation to reversal film, but I think it at least shows that film grain noise for a very fine-grain film at a certain reasonable film density level is in a range where the digitizer word length doesn't matter. I think that to to extend this analysis to other density levels and film types would best be done by direct experiment.
Interesting. When I zoom in I think I can see a little bit of grain. It doesn't actually require very much grain to be enough to make 8 bit storage a reasonable option. Can you generate a histogram of a small featureless patch of the sky?Not sure if this meets your requirements, it was scanned on a Plustek 8100 [Reflecta make a better scanner] in 48 ->24 bit color then processed in Photoshop Elements which I believe saves in 8 bit after converting with silver efex to B/W. Click twice to get the full size which is 3.2 x the width of a 1920 screen. The sky is near grain free with Adox CMS 20 II.
https://www.flickr.com/photos/98816417@N08/51577870188/
I think it’s important to point out that while this is not invalid, it’s also not entirely accurate as a lot of, if not most ADC chips I’m aware of operate more like 1.5v, 3.3v, 5v, or higher full scale for their input and typically noise levels are down in the mv (or less) range. It’s pretty easy to characterize things as 8 bits is all you need when your full scale is so small that half a mv is enough noise to obviate the need for 16 bits, but if your full scale is 1.5, 3.3 or 5 volts and your noise levels are 1 or 2 mv, it’s a different story. I just thought it’s important to point that out. It’s useful to have a scale that can demonstrate the concept like what you’re doing here, but people should also be aware that the scale you’re using does not necessarily reflect the voltage levels of actual applications. I don’t know what the voltage range is of Epson’s ADCs, but I’d have a difficult time believing they were less than a volt simply because the larger your full scale voltage is, the easier it is to have a clean analog front end, relative to the full scale voltage level. Obviously, depending on the application, the analog full scale voltage may have an upper limit due to other factors (or physics), but generally speaking, it behooves the manufacturer to go with as large of an input voltage as they can reasonably get as it makes it a lot easier to get better noise performance relative to the full scale voltage levels.
True, but also consider that to get to several volts you would ordinarily need to amplify the signal, and in that case that limiting thing as far as noise is concerned is the small signal noise level before amplification.
Also, I picked 255 mV full scale as an arbitrary choice because it conveniently gives one mV per step. I could have chosen 2.55 volts, and then the step size would be 10 mV.
In any case, the point of your post has to do with noise levels and it is well taken, but it then leads to the question of what are the electronic noise levels in the instruments.
And then there is the question of film grain.
Here is the histogram from a 1mm square patch of sky fro the pic linked in post 138. This is after converting the scan of the 1mm sq to B/W using the same processing as with the original linked.Interesting. When I zoom in I think I can see a little bit of grain. It doesn't actually require very much grain to be enough to make 8 bit storage a reasonable option. Can you generate a histogram of a small featureless patch of the sky?
On the scale of the effects I have been discussing that's a huge amount of noise. Presumably it's coming from film grain. At that level of noise there is no point in saving the scans in 16 bit mode except possibly for one subtle point, and that is what would happen in the darkest part of the negative. That's what would determine dynamic range, but in terms of the part of the scene representing the sky the noise level in this scan is high enough that it would suppress the possibility of banding under extreme image manipulation. To be sure that banding would not happen it would be best to convert an 8 bit scan to 16 bits before doing the image manipulation.Here is the histogram from a 1mm square patch of sky fro the pic linked in post 138. This is after converting the scan of the 1mm sq to B/W using the same processing as with the original linked.
When the scanner is zoomed in on auto setting to select 1mm square it automatically re-sets the black and white points so the apparent contrast of this 1mm square of sky is greatly increased.
It looks like there is some grain detectable when this is done, as shown in the other pic.
I do not know the significance of this, if any.
View attachment 301462 View attachment 301463
On the scale of the effects I have been discussing that's a huge amount of noise. Presumably it's coming from film grain. At that level of noise there is no point in saving the scans in 16 bit mode except possibly for one subtle point, and that is what would happen in the darkest part of the negative. That's what would determine dynamic range, but in terms of the part of the scene representing the sky the noise level in this scan is high enough that it would suppress the possibility of banding under extreme image manipulation. To be sure that banding would not happen it would be best to convert an 8 bit scan to 16 bits before doing the image manipulation.
One other comment. It looks like the sky is not uniform, even in the 1mm patch, and that is part of the reason why the histogram is so broad, but there is enough grain that even if the sky was completely uniform it would still be enough grain to suppress banding.
Repeating a point made above, to determine the effect of noise on dynamic range would require sampling in the darkest part of a negative that includes a region of maximum possible density. The chances are that there isn't a patch of negative in that scene that would qualify, but if so then you could also zoom in on that part of the scene and look at the histogram.
Let us suppose you have scanned 10,000 color images and saved them as 16 bit images. Further suppose these were 35mm images scanned at 4000 dpi. That's ~128 MB per image or ~1.28 TB of storage for the set. You are going to keep those images as an archive, unmodified. Scanning in 8 bits would save you ~0.64 TB of storage.Alan, If we have to convert the image to 16 bits before doing the image manipulation, we won't save anything on memory. I've lost track if there are other advantages to scanning at 8 bits.
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?
We use cookies and similar technologies for the following purposes:
Do you accept cookies and these technologies?