what's wrong with pixel peeping?

I'm thinking about writing something up, but I've already wasted a
lot of time on this and it may take some time to get to it.
Please reconsider. The "time wasted" is trying to prove this with
forum posts. If you spent half the time that you've been posting,
writing a (web) paper on this, then these issues can be resolved by
linking to your paper.
OTOH, if you aren't posting and actively engaging others, you might
think you understand where others are coming from, but be quite
wrong. So you could end up writing a page that doesn't really
accomplish anything.
I think at this point it is pretty clear where the other side is coming from. I was directly addressing "I'm thinking about...." That Emil is apparently running out of time/energy posting to this forum about this particular subject. I suggested an alternative to endless forum posting.

It isn't an either/or situation. You can do both. The trick is determining when forum posting has become futile and it is time to move to a different medium.
As it stands now, it is a continuous game of "whack-a-mole." It
doesn't make any difference how many times you prove the point in
forum posts.
Well, I've got news for you. Even with a good web page reference, it
will still be a game of "whack-a-mole" - the moles are merely reduced
a bit and are a little easier to "whack."
Part of the trick is choosing the moles that you engage.

I've been following these exchanges from the very first thread. The stakes have been raised since the NYT article. I'm afraid that if something isn't done to arrest the "megapixel madness" meme, that we will be experienceing a reverse megapixel race. A world of four and six megapixel DSLRs (that test wonderfully on DPReview's tests.)

Wayne

p.s., the general issue (of disseminating truthful argument) that I'm raising was discussed yesterday on Slashdot:

Censorship By Glut

"....In a country where you're free to say almost anything in the political arena, I think the only real censorship of good ideas is what you could call "censorship by glut". If you had a brilliant, absolutely airtight argument that we should do something -- indict President Bush (or Barack Obama), or send foreign investment to Chechnya, or let kids vote -- but you weren't an established writer or well-known blogger, how much of a chance do you think your argument would have against the glut of Web rants and other pieces of writing out there? Especially if your argument required people to read it and think about it for at least an hour?...."
http://yro.slashdot.org/article.pl?sid=08/12/01/1643227
 
The question really isn't one of knowing the physics.
The question is one of how much do you
need to know to get where you want to go. Basic exposure theory is
strongly rooted in basic physics. It always has been.
Do we need to know everything about how a car is made to understand
and know how to drive one?
The issue isn't how to drive, the issue is which one to buy. And if you don't know something about the technology, you very well may not buy the better car for yourself.

I have no problem with people choosing to be ignorant and taking their chances on what to buy. That isn't necessarily a bad choice. Most cameras are good to excellent these days. Its hard to buy a bad one. But I do have a problem with someone spreading misinformation to others - especially when that person holds an influential position.

--
Jay Turberville
http://www.jayandwanda.com
 
Do we need to know everything about how a car is made to understand
and know how to drive one?
I heard dozens of people say "my new car only costs $x to fill up, my
last car cost twice as much to fill up, so I really appreciate the
better fuel economy." But what if the new car has the same fuel
economy but just a smaller tank? What if the fuel economy is even
worse than the old car? The driver thinks they are measuring fuel
economy when they're actually measuring something else entirely.
When gas went up to $4 a gallon I talked to a number of people who were looking to buy a new car in order to save money on gas. But when you sit down and run the numbers with them, the marginal difference in gas usage doesn't justify the purchase. It isn't even close. And that was assuming a continued increase in prices - which isn't happening right now. But you didn't have to look far to find people with agendas urging them to make the purchase.

--
Jay Turberville
http://www.jayandwanda.com
 
My preference would indeed be for the most accurate post-processing possible, but that was already compromised by the use of DPP, which has a lot of interpolation artifacts. So I decided to continue with the use of "generic" tools. In the end, there is a much bigger difference between pixel-peeping the noise of the original 50D image and its Bicubic downsample, than there is between the results of Bicubic vs Lanczos vs the native resolution 40D image.

FWIW, I also evaluated the noise spectrum of performing a .4 radius Gaussian blur (an extrapolation of the amount suggested by Jay Turberville) before the PS Bicubic downsample. Surprisingly, that actually made the noise spectrum worse after the downsample.
--
emil
--



http://theory.uchicago.edu/~ejm/pix/20d/
 
FWIW, I also evaluated the noise spectrum of performing a .4 radius
Gaussian blur (an extrapolation of the amount suggested by Jay
Turberville) before the PS Bicubic downsample. Surprisingly, that
actually made the noise spectrum worse after the downsample.
That's really interesting. These charts shows the Imatest stepchart analysis (T4110 target) of an image from a 2/3" 8Mp sensor (Coolpix 8400). The image was developed in dcraw as 16 bit. No sharpening or levels were applied. Besides demosaicing, the only processing was that dcraw determined the white balance on its own by analyzing the raw data.

The first example is the original. The next used a 1.2 pixel Gaussian blur, and the final was a straight bicubic interpolation. The goal was to reduce the actual measured resolution by one half linearly - which SFR tests show was accomplished for the image that was blurred before downsampling.

I never paid much attention to the noise spectrum graphs before reading your posts, but this test shows a reduction in high spatial frequency noise compared to the unresized image and the bicubic resized image - which is what I'd expect. Imatest also shows a higher "per pixel" dynamic range as a result as well. I'm trying to figure out how adding blur could make the noise spectrum "worse" - though I'm not exactly sure what you mean by "worse." I'd assume it means an increase in noise in the higher spatial frequencies. I'll have to go back and re-read your posts about noise spectrum.

The second series shows the SFR (MTF response) for the same camera given the same processing and how the blur gives the kind of response we'd expect from a sensor with 1/4 the number of pixels and how the straight bicubic has a lot of response above Nyquist - which jibes with the greater amount of noise





--
Jay Turberville
http://www.jayandwanda.com
 
In the end, there is a much bigger
difference between pixel-peeping the noise of the original 50D image
and its Bicubic downsample, than there is between the results of
Bicubic vs Lanczos vs the native resolution 40D image.
Which is indeed what you guys were trying to prove in the first place.
FWIW, I also evaluated the noise spectrum of performing a .4 radius
Gaussian blur (an extrapolation of the amount suggested by Jay
Turberville) before the PS Bicubic downsample. Surprisingly, that
actually made the noise spectrum worse after the downsample.
Could this be due to rounding/truncation errors as a result of the calculation?

This might also explain why the values Jay is finding are somewhat empyricaly determined. It may need to be a bit larger than the theoretically correct radius to compensate for the extra noise that is introduced by these errors. The less downsizing you do, the smaller the apropriate blur radius becomes, hence the more you have to increase it above the 'exact' radius it to compensate for he extra calculation noise.
--
cameras don't shoot people
People shoot people.
 
FWIW, I also evaluated the noise spectrum of performing a .4 radius
Gaussian blur (an extrapolation of the amount suggested by Jay
Turberville) before the PS Bicubic downsample. Surprisingly, that
actually made the noise spectrum worse after the downsample.
Could this be due to rounding/truncation errors as a result of the
calculation?
This might also explain why the values Jay is finding are somewhat
empyricaly determined. It may need to be a bit larger than the
theoretically correct radius to compensate for the extra noise that
is introduced by these errors. The less downsizing you do, the
smaller the apropriate blur radius becomes, hence the more you have
to increase it above the 'exact' radius it to compensate for he extra
calculation noise.
But he simply extrapolated based on my past values. My extrapolation says .33 pixels of Gaussian blur, but I can't imagine how .4 instead of .33 or .3 pixels would cause a "worse" result, unless "worse" means that noise was reduced more than it should have been.

The formula to extrapolate linearly is:

Gaussian blur = (.91 - scale factor) .34

(This means that if scaling by less than a factor of .91, you probably shouldn't bother blurring - which makes sense to me intuitively since images from CFA sensors don't fully exploit the amount of resolution that their native file sizes offer. In other words, they've already been blurred a bit.).

The test I did was with 12 bit data (in a 16 bit container), but I doubt that using "only" 8 bit data would present much of an issue. I could convert the files and re-check to see though.

--
Jay Turberville
http://www.jayandwanda.com
 
I'll tell what wrong with it, it's that most photographers produce
prints, not 100% views on their computer.
1. I hardly ever print because my aim is to sell online. The people who look at the pictures don't see prints till they have bought them and printed them out.

2. Pixel peeping is one of many useful techniques of comparing image quality, though not an end in itself.
3. This is an online site so it compares online images, not paper prints.

Cheers,

--
Laurie Strachan
 


Red points are 40D, orange points are 50D downsized to 40D dimensions
with a straight PS Bicubic resample, and magenta points are 50D with
Gaussian blur, radius .4, followed by downsampling. I don't have an
explanation as yet.
OK. I see that the pre-filtered image does attenuate high spatial frequency noise as expected, but the low frequency noise seems to increase - which doesn't seem to make sense.

How does the scale relate to image detail size? In other words, what does 250 rleate to? Where would Nyquist fall on the chart? I ask because I'm curious about how this increased noise might show up in the image. Perhaps you covered this in earlier posts. I'll look there in the meantime.

And finally, I looked at the re-scaled 50D image you posted and it clearly has a LOT more image detail than the 40D image. It seems to me that the goal of the rescaling is not so simply alter the pixel dimensions. The goal is to deliver the same amount of detail - simulating the output that would be expected if the sensor had fewer pixels. Straight bicubic re-scaling clearly does not accomplish that.

--
Jay Turberville
http://www.jayandwanda.com
 


Red points are 40D, orange points are 50D downsized to 40D dimensions
with a straight PS Bicubic resample, and magenta points are 50D with
Gaussian blur, radius .4, followed by downsampling. I don't have an
explanation as yet.
OK. I see that the pre-filtered image does attenuate high spatial
frequency noise as expected, but the low frequency noise seems to
increase - which doesn't seem to make sense.
Yes, it's a puzzle.
How does the scale relate to image detail size? In other words, what
does 250 rleate to? Where would Nyquist fall on the chart? I ask
because I'm curious about how this increased noise might show up in
the image. Perhaps you covered this in earlier posts. I'll look
there in the meantime.
256 is Nyquist (only related to the fact that I chose 512x512 100% crops, ie a rather arbitrary scale).

I think there may be a better way of graphing the data than I've been presenting, since 256 meant something different for the 40D and unrescaled 50D. Or rather, 256 meant Nyquist for each, but Nyquist for the 40D and Nyquist for the 50D mean two different spatial frequencies since the 50D has more pixels. If the data is plotted so that all are on the same overall normalization of spatial frequency...



Blue is 50D native, Red is 40D native; Orange is 50D resampled with PS Bicubic, Black is 50D resampled with ImageMagick Lanczos. On this graph, 256 is Nyquist of the 50D; 209 is Nyquist of the 40D. We see that the noise power is more or less the same for all images with the pixel dimensions of the 40D (with Lanczos being slightly better than PS Bicubic), and that all that has been done by resampling is to chop off the spatial frequency response at higher frequencies beyond Nyquist of the 40D (as expected). This not only eliminates all the detail due to higher spatial frequencies, it also eliminates the noise components arising from those frequencies, which is why the std dev of the histogram decreases -- the std dev is proportional to the sqrt of the area under the curve.

If the noise power had tapered off at high frequency, as one would find if noise reduction had been performed, or as in Phil's "noise grain" examples



where the coarser the grain, the less high frequency noise there is



then there is little for the downsampling to "chop off", and so the noise std dev does not decrease, or at least not much.
And finally, I looked at the re-scaled 50D image you posted and it
clearly has a LOT more image detail than the 40D image. It seems to
me that the goal of the rescaling is not so simply alter the pixel
dimensions. The goal is to deliver the same amount of detail -
simulating the output that would be expected if the sensor had fewer
pixels. Straight bicubic re-scaling clearly does not accomplish that.
I'm confused. The (Bicubic) rescaled 50D image has a lot more image detail, but straight bicubic doesn't accomplish that? There was only one resized 50D image posted.

--
emil
--



http://theory.uchicago.edu/~ejm/pix/20d/
 
And finally, I looked at the re-scaled 50D image you posted and it
clearly has a LOT more image detail than the 40D image. It seems to
me that the goal of the rescaling is not so simply alter the pixel
dimensions. The goal is to deliver the same amount of detail -
simulating the output that would be expected if the sensor had fewer
pixels. Straight bicubic re-scaling clearly does not accomplish that.
I'm confused. The (Bicubic) rescaled 50D image has a lot more image
detail, but straight bicubic doesn't accomplish that? There was only
one resized 50D image posted.
Poor word choice. By "straight bicubic" I meant bicubic sampling only.

My point is that rescaling with bicubic and nothing else reduces the resolution potential of the file container by the scaling amount, but does not necessarily reduce the resolution of the image detail that the container contains. An actual 10Mp CFA sensor with its low pass filter simply cannot deliver the same amount of actual image resolution. So simply scaling the image is insufficient .... or is it?

As I was typing that it hit me that there is an alternative to the low pass filtering and I quickly did a check and it seems to be a pretty good one. The idea is to resample the image to a smaller size and then resample back up to the target. Through some trial and error I found that to get the 14.6Mp G10 image to equal the resolution of the 10Mp G7 I needed to resample down to 2800 horizontal pixels or 5.88 megapixels!! When I did a bicubic back up to 10Mp, the resulting SFR response is a better match in shape than I get when doing a Gaussian blur beforehand. The oversharpening is preserved. I subjectively prefer the Gaussian blur prefiltered image since aliasing artifacts are reduced, but the over-downsampled image is probably more faithful. Maybe doing this with the Lanczos filter is the best? But either way, I think it is very important to not just scale the size of the "container", but you must scale the actual resolution or image detail of the contents as well if your intent is to match the resolution output of a CFA sensor of the same pixel count.





--
Jay Turberville
http://www.jayandwanda.com
 
256 is Nyquist (only related to the fact that I chose 512x512 100%
crops, ie a rather arbitrary scale).
Yup. I dug back and found that. Thanks though.
I think there may be a better way of graphing the data than I've been
presenting, since 256 meant something different for the 40D and
unrescaled 50D. Or rather, 256 meant Nyquist for each, but Nyquist
for the 40D and Nyquist for the 50D mean two different spatial
frequencies since the 50D has more pixels. If the data is plotted so
that all are on the same overall normalization of spatial frequency...



Blue is 50D native, Red is 40D native; Orange is 50D resampled with
PS Bicubic, Black is 50D resampled with ImageMagick Lanczos. On this
graph, 256 is Nyquist of the 50D; 209 is Nyquist of the 40D.
To be specific, those are the Nyquist frequencies of the "container." The container has a higher capacity to store image detail than the sensor can deliver to it.
We see
that the noise power is more or less the same for all images with the
pixel dimensions of the 40D (with Lanczos being slightly better than
PS Bicubic), and that all that has been done by resampling is to chop
off the spatial frequency response at higher frequencies beyond
Nyquist of the 40D (as expected). This not only eliminates all the
detail due to higher spatial frequencies, it also eliminates the
noise components arising from those frequencies, which is why the std
dev of the histogram decreases -- the std dev is proportional to the
sqrt of the area under the curve.
Right. But it doesn't decrease as much as if you actually reduced the image resolution to match what you'd get from a camera of the target pixel count. A proper comparison would need to match the actual image resolution, not merely the file or container resolution.
If the noise power had tapered off at high frequency, as one would
find if noise reduction had been performed, or as in Phil's "noise
grain" examples



where the coarser the grain, the less high frequency noise there is



then there is little for the downsampling to "chop off", and so the
noise std dev does not decrease, or at least not much.
Yep. Got it. And when Phil does downsampling on actual images he doesn't see as much noise reduction as predicted by some because he's hasn't downsampled the actual image resolution adequately. The image retains more detail than you'd get from an actual sensor of the same pixel count. He is substituting image pixel count for image resolution and the two are not necessarily the same. A proper comparison requires that the final image resolution should match the image resolution you'd get from a sensor of that pixel count.

--
Jay Turberville
http://www.jayandwanda.com
 
My point is that rescaling with bicubic and nothing else reduces the
resolution potential of the file container by the scaling amount, but
does not necessarily reduce the resolution of the image detail that
the container contains. An actual 10Mp CFA sensor with its low pass
filter simply cannot deliver the same amount of actual image
resolution. So simply scaling the image is insufficient .... or
is it?

Through some trial and
error I found that to get the 14.6Mp G10 image to equal the
resolution of the 10Mp G7 I needed to resample down to 2800
horizontal pixels or 5.88 megapixels!! When I did a bicubic back up
Jay, 5.88 real MP of resolution out of a 10 MP Bayer sensor is about right and corresponds with resolution tests done on this website and others that show 10 MP 4:3 aspect ratio sensors produce accurately resolve about the square root of (5.88 times 4 divided by 3) is 2,100 pixels vertically, plus or minus depending on Anti-Aliasing filter and demosiacing algorithm.

Regards, GordonBGood
 
Yep. Got it. And when Phil does downsampling on actual images he
doesn't see as much noise reduction as predicted by some because he's
hasn't downsampled the actual image resolution adequately. The image
retains more detail than you'd get from an actual sensor of the same
pixel count. He is substituting image pixel count for image
resolution and the two are not necessarily the same. A proper
comparison requires that the final image resolution should match the
image resolution you'd get from a sensor of that pixel count.
Jay, amen to that but as well,in order to show the theoretical results as to improvement, both images to be compared have to have the same "grain size" of the noise relative to the overall image size or the results will still possibly be different if the higher MP image has already been noise filtered past the point of the new down-sized images real resolution.

Best regards, GordonBGood
 
I think there may be a better way of graphing the data than I've been
presenting, If the data is plotted so
that all are on the same overall normalization of spatial frequency...

http://theory.uchicago.edu/~ejm/pix/20d/posts/tests/Noise/40d-50dresamp_noisepower-norm.png

Blue is 50D native, Red is 40D native; Orange is 50D resampled with
PS Bicubic, Black is 50D resampled with ImageMagick Lanczos. On this
graph, 256 is Nyquist of the 50D; 209 is Nyquist of the 40D.
To be specific, those are the Nyquist frequencies of the "container."
The container has a higher capacity to store image detail than the
sensor can deliver to it.
This is true, though I would add that what can be delivered is a function of the lens as well and its MTF.
We see
that the noise power is more or less the same for all images with the
pixel dimensions of the 40D (with Lanczos being slightly better than
PS Bicubic), and that all that has been done by resampling is to chop
off the spatial frequency response at higher frequencies beyond
Nyquist of the 40D (as expected). This not only eliminates all the
detail due to higher spatial frequencies, it also eliminates the
noise components arising from those frequencies, which is why the std
dev of the histogram decreases -- the std dev is proportional to the
sqrt of the area under the curve.
Right. But it doesn't decrease as much as if you actually reduced
the image resolution to match what you'd get from a camera of the
target pixel count. A proper comparison would need to match the
actual image resolution, not merely the file or container resolution.
No, not really. The noise is coming from the photosites and doesn't really care about the optical chain upstream (the lens, the AA filter, etc). At the RAW level it is essentially spatially uncorrelated (apart from statistically minor components of read noise, ie banding) and so will always have a linear power spectrum that reaches out all the way to Nyquist. How much of that spatially "white" noise makes it into the converted image depends on the demosaic algorithm; an accurate demosaic algorithm, or one like DPP that substitutes demosaic artifacts for noise at the very highest frequencies, continues to have a noise spectrum close to that of white noise, rising all the way to Nyquist. This is independent of the resolving power of the optical system.
If the noise power had tapered off at high frequency, as one would
find if noise reduction had been performed, or as in Phil's "noise
grain" examples
http://theory.uchicago.edu/~ejm/pix/20d/posts/tests/Noise/grainsamples.png
where the coarser the grain, the less high frequency noise there is
http://theory.uchicago.edu/~ejm/pix/20d/posts/tests/Noise/threeFTspectra.png
then there is little for the downsampling to "chop off", and so the
noise std dev does not decrease, or at least not much.
Yep. Got it. And when Phil does downsampling on actual images he
doesn't see as much noise reduction as predicted by some because he's
hasn't downsampled the actual image resolution adequately. The image
retains more detail than you'd get from an actual sensor of the same
pixel count. He is substituting image pixel count for image
resolution and the two are not necessarily the same. A proper
comparison requires that the final image resolution should match the
image resolution you'd get from a sensor of that pixel count.
Assuming the lens is up to the capabilities of the higher resolution sensor, then yes the downsampled higher resolution sensor will yield more detail than the native lower resolution sensor, since the higher resolution sensor's AA filter is cutting off detail at a higher spatial frequency which can be beyond the Nyquist frequency of the lower resolution sensor; it will certainly be beyond the cutoff frequency of the lower resolution sensor's AA filter. Furthermore, the demosaic artifacts of the conversion of the higher resolution file are mitigated by the downsampling since they are at frequencies that are tending to be tossed out, and so the downsampled 50D image looks much better at the pixel level than the 40D does with its cross-hatch of interpolation errors.

But again, noise is not so closely tied to image resolution, so one should not be using image resolution as the measure of how much to resample to match noise levels.

--
emil
--



http://theory.uchicago.edu/~ejm/pix/20d/
 

Keyboard shortcuts

Back
Top