You know electronics are playing a bigger and bigger role in photography when manufacturers provide firmware upgrades for lenses.
Perhaps yet another strong sign of this is the fact that software correction is becoming more prevalent and debated about with respect to higher-end consumer cameras.
Some purists are quite peeved at the whole aspect of software-corrected images coming out of some of Panasonic's recent cameras such as the LX3, G1, GH1. (Perhaps other manufacturers too, but I haven't followed)
Having no history in photography but a background in engineering (well to be truthful, I'm still working on my degree), I find myself not terribly concerned.
Sure software correction of image issues may be a bit of a pain once it hits the consumer's end in The Gimp or Photoshop, but I would believe that it's not as big of a problem for the first-party engineers.
My reasoning being that the engineers who design the lens know about the optical characteristics of the lens to probably a decent extent mathematically (I would hope?). With accurate knowledge of the distortion that the lens is suffering from (as in mathematically, not just "oh there's a visible barrel distortion and some chromatic aberration"), the engineers are better equipped to solve for the inverse transformation of the distortion with that much more accuracy.
In a way, it's signal theory 101. After converting your system to the frequency domain, if you have your Y(s) = H(s)X(s), where Y is your output and X is your input with transfer function H, you can then recover your input by simply dividing Y(s) by your transfer function, H(s). Then just take the inverse Laplace transform to get you back to the time domain. As long as no signal aliasing has occurred, you should be back to your original input.
So over-simplifying the engineering design process, all you theoretically need to do is to determine the H(s) that is being applied due to the lens, and you can then apply an inverse transformation to the resultant output to recover your input.
Of course, the actual solutions for such a distortion correction problem may not be as straight-forward as I have described, but the idea behind it should be sound.
Having worked in a company whose bread-and-butter business is now digital image projection, I know that digital image correction is used in industry and produces very pleasing results.
The fact of the matter is that you can save a lot of engineering design effort by leveraging the computing power of today's software and hardware. (And in certain industries, even huge savings in manufacturing costs can be realized with the lightened accuracy and precision requirements).
So it's really not all bad, in my opinion. The key thing to note is that the algorithms to digitally correct for distortion is not done by a graphics artist sitting in front of Photoshop tweaking image settings until a favourable result is achieved, and then his work-flow automated into your digital camera body. Rather, the correction is most probably done by an engineer who knows to some extent the mathematical distortion that is occurring such that he or she can solve for the inverse system and apply that mathematically to the resultant image.
And mathematically, it doesn't take much effort or space to store transformation information. In simple cases, all you need is a matrix.
The encouraging thing about this is that math is usually not as subjective as a human being tweaking settings in Photoshop or Lightroom. For all practical engineering purposes, 1.0 + 1.0 always equals 2.0, sin(pi) always equals 0, and sqrt(-1) always equals j (hello, we're engineers, i is current).
2 comments
However, one comment that you made actually does worry me: "The fact of the matter is that you can save a lot of engineering design effort by leveraging the computing power of today's software and hardware." Is that what we want, though? I'd say give me a better designed product that doesn't require correction.
That's just my impression, anyways.
But in engineering cases where two routes ("perfectly" designed system and a software compensated system) will both yield results that are good enough for human use, it does not make sense to go with the more costly route, which will likely be the "perfectly" designed system.
It's always about cost versus benefits. Will the costs incurred provide benefits that are actually of use to you? Or if you can achieve the same, or at least good enough benefits using a much cheaper method, then that route would make sense.
This is not so much "cheap" as in low quality. Rather cheap as saved man hours in engineering design and manufacturing.
If you want a better designed product, you will have to be prepared to pay for it, a lot.
Here's the thing. If there are two products, both producing the exact same result to the end user. However one is "perfectly" designed, and the other uses electronic/software compensation. The results are identical. But the "perfect" design costs $200, and the electronic design costs $2000.
Which would you as the end user pick?
Or perhaps from another angle. Why do we use JPGs? Why not BMP all the way? JPG is lossy compression, which allows much smaller file sizes for image quality that is good enough. But it's afflicted by software. BMP is "perfect" in that it's an exact map of the original image data. JPG is not.
In costs versus benefits, the file size benefits of JPG far outweighs the costs of the larger bitmap. And the quality benefits of the bitmap only narrowly outweighs that of the JPG.
Again I am coming from an engineering thought here about trade-offs, but also with the knowledge that signal processing is quite mathematical, and applies to images. Believe it or not, the same basic concepts and theory that apply to audio signals apply to images.
So if you can recover a more than good enough audio signal from your lossy-encoded MP3, why then would you want to lug around your DVD-AUDIO player anymore?
So if you can recover a more than good enough image from your digitally-corrected digital camera, then why would you want to spend more for a bigger and heavier lens that produces the *exact* same end results?


