Steve Eddins has developed MATLAB and image processing capabilities for MathWorks since 1993. He also coaches development teams on designing programming interfaces for engineers and scientists. Steve coauthored Digital Image Processing Using MATLAB.

Last month, Dave Garrison wrote a nice article on the MathWorks web site about coding an app (or GUI) by defining a class.

Curiously, this article made me think of a day back in September 1993. I arrived at MathWorks on that day to interview for a job as an image processing software developer. Sometime in the afternoon I found myself in an office with the two developers of version 1.0 of the Image Processing Toolbox. (One of those developers, Loren Shure, was the first employee hired by the MathWorks founders. You can find her over at Loren on the Art of MATLAB.)

Anyway, the Image Processing Toolbox was about to ship, and the developers were trying to think of some demo ideas. I joined in a brainstorming session in front of a whiteboard. One of my ideas that day became the product demo called dctdemo. Here is a screen shot.

(That's a picture of Loren, by the way.)

Prompted by Dave's article, I thought it might be a good time to revisit this oldie-but-goodie demo. It was originally written using MATLAB 4, and the programming techniques available at that time for doing this sort of thing were relatively crude. My plan is to take a fresh look at this demo and reimplement it using the techniques described by Dave.

Here's a start:

classdef dctCompressionDemo < handle

end

That's enough code to actually execute.

dctCompressionDemo

ans =
dctCompressionDemo handle with no properties.

And that's about all it does (for now). Next time we'll start filling in the details.