• site home
  • blog home
  • galleries
  • contact
  • underwater
  • the bleeding edge

the last word

Photography meets digital computer technology. Photography wins -- most of the time.

You are here: Home / The Last Word / Image processing without computation

Image processing without computation

October 8, 2012 JimK Leave a Comment

There’s a column in Shutterbug magazine, written by David Brooks (not the New York Times columnist), in which Brooks answers readers’ questions about digital photography. In the November, 2012 issue, there’s an interchange between Brooks and James Ulrich, Emeritus Professor of Computer Science at the University of Montana.

The discussion begins with a letter from Ulrich complaining about a statement by Brooks in the April, 2012 issue that, “No calculation is needed to edit an image with Photoshop.” Ulrich gently points out that without calculations, nothing would be done to the image and dryly says: “Your apparent distinction between calculation and computation is puzzling and unique.”

Rather than take the opportunity to retract his ill-considered statement, Brooks takes on Ulrich on the professor’s home turf, computer science. Brooks says:

Changes made using Photoshop editing tools like reducing brightness, increasing saturation, and changing image size involved preset algorithms built into the software not computation (that is been done for the user and is included in the application).

Brooks goes on to say that there are few exceptions but they are “minor or ancillary”.

Ulrich politely disagrees, says that perhaps the discussion is about semantics, and congratulates Brooks on his column.

Brooks doubles down and explains exactly what he means:

… computation in the form of an algorithm (a complex, already computed formula) is already done in the software. The algorithm simply conveys the changes in the xy-rgb number values directly from the application to the image stored in RAM. It goes through the I/O chip, not by and through the CPU processor.

This is completely wrong in every respect: pre-computation, direct change by algorithm, and the path the data takes. An algorithm is a set of instructions for calculating a function or performing an operation. It tells you what you must do to calculate the result; the result is not pre-calculated for every possible image.

Let’s consider an example. One of the least computationally-intensive operations that you can perform upon an image is to invert it. If the image is in RGB, and the color planes are eight bits deep, each pixel in the image is represented by three eight-bit unsigned integers. Inverting the image is performed by producing an image in which each of the color planes consists of the result of subtracting each pixel in that plane of the input image from 255 (for 16-bit depth, the number is 65535). For a 6000×4000 pixel image, that’s 48 million subtractions. Those subtractions get done in one or more of the CPU cores, or possibly in the graphics processors in your display adapter if you’ve told Photoshop to use it when it can.

Brooks’ idea of computation-less modification of an image stored in RAM by an application also stored in RAM is truly bizarre. Photoshop consists of object code in the machine language of the processor on which it expects to run. The only way this object code can cause things to happen is to be executed by a processor.

The whole thing makes me wonder about the gravitas of photographic publications. Back when photography was chemical, I believed what I read in most publications, at least when the subject was technical. Maybe they weren’t to be trusted in those days, but I didn’t know any better; I wasn’t an expert. I am an expert in digital computer systems, and now that much of photography involves those systems, I see more and more errors in photographic publications. I have to admit that I have seen few quite so jaw-droppingly uninformed as Brooks’.

Another attribute of the discussion in Shutterbug that bothers me is Brooks’ refusal to reconsider his initial statement when it was questioned by someone with the credentials of an expert. Brooks could have easily found someone knowledgeable to advise him, but he chose not to do that.

I expect this kind of willful carelessness in the wild-west of the Internet. I’m still surprised to see it in print.

 

The Last Word

← A cure for inadvertant NEX-7 videos Writing your own image processing tools →

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

May 2025
S M T W T F S
 123
45678910
11121314151617
18192021222324
25262728293031
« Apr    

Articles

  • About
    • Patents and papers about color
    • Who am I?
  • How to…
    • Backing up photographic images
    • How to change email providers
    • How to shoot slanted edge images for me
  • Lens screening testing
    • Equipment and Software
    • Examples
      • Bad and OK 200-600 at 600
      • Excellent 180-400 zoom
      • Fair 14-30mm zoom
      • Good 100-200 mm MF zoom
      • Good 100-400 zoom
      • Good 100mm lens on P1 P45+
      • Good 120mm MF lens
      • Good 18mm FF lens
      • Good 24-105 mm FF lens
      • Good 24-70 FF zoom
      • Good 35 mm FF lens
      • Good 35-70 MF lens
      • Good 60 mm lens on IQ3-100
      • Good 63 mm MF lens
      • Good 65 mm FF lens
      • Good 85 mm FF lens
      • Good and bad 25mm FF lenses
      • Good zoom at 24 mm
      • Marginal 18mm lens
      • Marginal 35mm FF lens
      • Mildly problematic 55 mm FF lens
      • OK 16-35mm zoom
      • OK 60mm lens on P1 P45+
      • OK Sony 600mm f/4
      • Pretty good 16-35 FF zoom
      • Pretty good 90mm FF lens
      • Problematic 400 mm FF lens
      • Tilted 20 mm f/1.8 FF lens
      • Tilted 30 mm MF lens
      • Tilted 50 mm FF lens
      • Two 15mm FF lenses
    • Found a problem – now what?
    • Goals for this test
    • Minimum target distances
      • MFT
      • APS-C
      • Full frame
      • Small medium format
    • Printable Siemens Star targets
    • Target size on sensor
      • MFT
      • APS-C
      • Full frame
      • Small medium format
    • Test instructions — postproduction
    • Test instructions — reading the images
    • Test instructions – capture
    • Theory of the test
    • What’s wrong with conventional lens screening?
  • Previsualization heresy
  • Privacy Policy
  • Recommended photographic web sites
  • Using in-camera histograms for ETTR
    • Acknowledgments
    • Why ETTR?
    • Normal in-camera histograms
    • Image processing for in-camera histograms
    • Making the in-camera histogram closely represent the raw histogram
    • Shortcuts to UniWB
    • Preparing for monitor-based UniWB
    • A one-step UniWB procedure
    • The math behind the one-step method
    • Iteration using Newton’s Method

Category List

Recent Comments

  • JimK on Goldilocks and the three flashes
  • DC Wedding Photographer on Goldilocks and the three flashes
  • Wedding Photographer in DC on The 16-Bit Fallacy: Why More Isn’t Always Better in Medium Format Cameras
  • JimK on Fujifilm GFX 100S II precision
  • Renjie Zhu on Fujifilm GFX 100S II precision
  • JimK on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF
  • Ivo de Man on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF
  • JimK on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF
  • JimK on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF
  • Ivo de Man on Fuji 20-35/4 landscape field curvature at 23mm vs 23/4 GF

Archives

Copyright © 2025 · Daily Dish Pro On Genesis Framework · WordPress · Log in

Unless otherwise noted, all images copyright Jim Kasson.