Friday, June 6, 2008

Imagining Imaging

I have some great news. But first some background.

Years ago I had a simple idea: extend what SkyTools does for the planning of visual observations to planning imaging sessions. It seemed trivial because the two kinds of planning are so similar. After all, it's still about observing an object high in a dark sky. It seemed that all it would take would be a few tweaks to make the planner more imaging friendly.

In designing the planner for visual observing my approach was to come up with the basic questions that an observer might want answers to, such as, "Can I see this object in my telescope from my backyard tonight?" Or, "Which of these objects in my list should I observe tonight?" And, "When is the best time to observe this object tonight?"

To answer these questions I borrowed, enhanced, and even developed from scratch science-based models for atmospheric extinction, the brightness of the sky, and the visibility of objects in the telescope. In SkyTools 3 these models are now very sophisticated. To make these models work you must teach SkyTools about your telescope, your observing location, and a even a little about yourself. Many people don't realize it, but the ability of SkyTools to compute the optimum time to observe an object is the critical component. I leverage this ability in every way I can think of to create the various visual observing tools. This optimum time computation, along with the quality of observation assessment that makes it work, are the engines that makes SkyTools go.

For imaging support I turned to the very same process: create a list of questions to answer, develop a science-based imaging model, and allow the user to tell SkyTools about their imaging system. I did most of the model last summer and I was pleased with the results. But a nagging question remained: what was the analogue to the optimum times for visual observing that would serve as the engine for planning imaging sessions? And not only that, but in the end would I be able to offer something more than what is already available? Is there a useful niche for SkyTools to fill in the imaging world? These questions have nagged me for over a year now. I knew that at the heart of deep sky imaging is signal to noise ratio (SNR), but how to leverage it? Visual observing is about a brief moment in time, but imaging is about an exposure that can last many minutes or even hours. And unlike visual observing the brightness of the sky is not always critical. So the questions become, "Should I bother to image this object from my light polluted back yard or wait until I can get to a dark site?" Or, "Is it worth imaging when the moon is up?" These questions simplify to, "If I do image in a bright sky, how many more exposures will I need to get the same result?" And, "Is there enough time to make it worthwhile?"

To be honest with you, even as recently as a few weeks ago I didn't know how to best answers these questions. I had most of the pieces in place for planning imaging sessions, but it had yet to come together. Programming for me is a lot like digging a tunnel through a mountain, where you start at each end and hope to meet in the middle. I've been told that a "good" software developer (or team) sits down and designs the entire project in advance. But I have found, at least for me, that in practice this is usually only a good start. Not only do problems emerge that you had not anticipated, but the very act of writing the code often brings new insights. So as I build the code both from the bottom up and from the top down I try to remain as flexible as possible. The process that unfolds feels like a journey. I'm never really certain how it's all going to work out. Where will we meet in the middle? Will the result be useful? In many ways I feel like I'm just along for the ride, following along where the code takes me. Thankfully this creative process has seldom failed me. (Unlike my predictions for how long things will take!)

I am pleased to announce that my ride is almost done. Things have come together. Important questions now have answers, and I look over what I have created and I am excited by the result. The feeling of satisfaction derived from taking an idea from a mere formless seed to fruition is wonderful. This is what it's all about for me!

We should begin beta testing the Pro version (with imaging support) in a few weeks. I am very excited about sharing it with everyone and equally excited about working with the team to put a nice polish on it.