Nine years have passed since Introduction to Astronomical Image Processing, the forerunner of this book, appeared. In its preface, I wrote:
"Back in 1965, Mariner 4 sent the first close-up pictures of Mars back to Earth. I was a teenager, and terrifically impressed that pictures could be radioed to Earth from a planet millions of miles away. And, despite the fact that Mariner 4's camera didn't work quite right, over a period of months, scientists at the Jet Propulsion Laboratory discovered that Mars is a cratered world because they computer-processed the images. It seemed almost magical. I longed to get my hands on those images and to learn how to manipulate the brightnesses and contrasts of the originals until the forms of the craters emerged from the murk."
Today, my dream has come true—and that is why I wanted to write this book. This is a book about images and manipulating images—extracting data, seeing the unseen, enhancing detail—until the raw information collected at the telescope has yielded everything there is to see and know. I wanted this book to be a behind-the-scenes look at image processing; not another "drag this and click that" computer book, but an in-depth analysis and exploration of how image processing works. I wanted a book that wasn't afraid to dig into the math and show you the algorithms that image processing software uses to measure and manipulate images.
Why? Because digital imaging has transformed astronomy. To make the most of CCD imaging, you need to have some idea of what's going on inside the camera and inside the software. Just as carpenters must know the tools they use,
so must observers understand the electronic and software tools they use.
Today a single amateur astronomer has more computer power sitting on the desk than JPL's mainframes had during the first Voyager encounter with Jupiter. A typical amateur astronomer's CCD outperforms the most advanced CCDs professional astronomers had on the 5-meter Hale telescope on Palomar Mountain fifteen years ago. And the skills to measure and manipulate images are open to everyone who seriously wants to learn them.
For me, writing the Introduction to Astronomical Image Processing was a splendid opportunity to learn the basics of image processing. The book included a tidy little processing program—AIP, alias AstroIP—that I had written to accompany the book. The earliest versions of the software ran under a BASIC interpreter on an 8MHz PC XT computer with a CGA graphics card. It was so slow that it took ten seconds to draw an image on the screen. But it was a deep thrill for me— I was writing image processing software!
The year after Introduction to Astronomical Image Processing was published, Veikko Kanto, an amateur astronomer from Arizona, built a CCD-based autoguider for astrophotography. When he saw my book he changed the guider to take images—and that camera became the prototype of the Cookbook 211 camera.
Over the next two years, Veikko and I, with John Munger, wrote The CCD Camera Cookbook for two CCD chips: the TC211 and the TC245. We put a lot of work into simplifying the design so that anyone willing to acquire basic soldering skills and test their work carefully could build an inexpensive CCD camera. Since then, thousands of amateur astronomers have built Cookbook cameras and set them to work making wonderful images.
With my own Cookbook camera, I began to explore CCD imaging and image processing more deeply. I carried out experiments to determine how best to use my camera, and I developed software using QuickBasic 4.5, to expand what the camera could do. Techniques like multiple dark frames, dark-frame matching, track-and-stack imaging, histogram shaping, and color imaging transformed the Cookbook camera into a remarkably powerful imaging tool. The resulting software suite—BatchPIX, CB245, Multi245, and QColor—soon attracted users all around the world.
The summer after the Cookbook came out, I set up my computer and Cookbook 245 on the south side of the little pink clubhouse at Stellafane. Lots of people visited and stayed to talk for a few minutes, but one guy stayed and talked for hours. He asked everything about the camera. It got so late, in fact, that his little daughter curled up and fell asleep at our feet. The visitor was Jim Burnell.
Jim went home, built a Cookbook 245 camera; and then to help other members of his astronomy club, he ran classes on building Cookbook cameras. As an electrical engineer, Jim had a solid background in programming, and developed a nifty software package—Prep245—for calibrating and displaying images.
Meanwhile, I was trying to convert my programs from QB4.5 to the Windows platform, with very little luck. Those who are not programmers cannot imagine how unfriendly programming for Windows really is. I needed help. Twice I found partners who knew Windows, but the first became ill and the second got a new job and had to drop out of the project. My DOS software was getting more sophisticated—I had astrometry, photometry, FFTs, and Richardson-Lucy decon-volution running under DOS—but DOS could not access enough memory, and it was clear that PC users really wanted graphic-user-interface software.
At that point, I just about gave up. Displaying good-looking grayscale images in Windows seemed impossible—and until I could figure out how to display an image, it wouldn't do me any good to port my software tools to Windows. Meanwhile, Jim had already written Prep245, a solid starting point for a bigger, more ambitious project. We exchanged e-mails—and soon hatched our plan to write AIP4Win and the book you now hold in your hands.
Jim and I have devoted nearly three years to the Handbook of Astronomical Image Processing and AIP4Win. We see the book and software as two complementary parts of a package for learning about imaging and image processing. The book provides background and theory, and the software puts powerful image processing tools at your fingertips. The book is not a manual for our AIP4Win program—you'll find that in the extensive Help file—but an exploration of the measuring tools and enhancement algorithms common to all image-processing software, whatever software package you happen to be running.
Was this article helpful?