Monday, April 23, 2007

Loose Ends

Now that the primary pieces of SkyTools 3 are in place, the next phase is to tie up all the loose ends. These loose ends range from projects I got sick of working on and never finished to small suggestions from users that I promised to incorporate. This is a huge milestone for me because I no longer have to face down large daunting tasks with major problems that must be solved with little idea of how long they will take to finish. From here on out it's all downhill, and a lot more fun.

I spent some time this morning making a giant todo list. I poured over my notes, including in the list unfinished projects, minor ideas I have yet to implement, and user suggestions I committed to incorporating. The final list has 71 items. That may seem a little daunting, but it isn't really. There are only four or five items that amount to more than a days work. The vast majority can be accomplished in lest than an hour. Some will only take a few minutes. Of course, history says at that at least one will unexpectedly take a week... (or two)

The best part of all this is psychological. It can sometimes be difficult to get up to speed on a big project, and when it gets mired down in unsolved problems, already a week behind schedule, it can be hard to keep up the momentum. But a todo list is great! Even on the most beautiful spring day when all I can think about is sitting in the sun reading a good book, I can easily get myself up for doing the first little thing on the list. And the next. And the next. At the end of the day it feels great to know that I finished 12 items!

Probably the biggest remaining item is my new Observing List Wizard. Ok, I call it that, but technically it isn't a Wizard, so I really should stop. But it seems so boring to call it the Observing List Generator, or some such. How about the Observing List Suggester? Yuck. Sometimes I wish I had someone to help who's only job was to come up with great names for things.

Anyhow, I wanted to have a more simple method of creating observing lists than the Database Power Search. Now that SkyTools can take a telescope, location, and observer and rate how difficult it is to detect an object, I thought it would be great to have a tool that could generate a list of objects for beginners, or a list of observing challenges, etc. The primary idea being a very simple and general set of inputs which would create a randomized list of 'n' objects that meet the criteria.

Another one will be finishing the preview pane I added to the chart preferences dialog. The idea here is to give you a preview of how the element whose color or font or line style you are changing will look on the chart.

Then there's adding the new detectability criterion (obvious, easy, ... challenging) to the filters on the events and ephemerides tabs.

The planetary nebula database should be updated with better magnitudes and some new data.

The open clusters need to have more accurate positions. I'll first get them from SIMBAD then redo any that are still off by hand. Good thing there aren't millions of them!

Then there are little things. Like my new Thumbnail Viewer. This viewer displays more than one chart arranged as thumbnails. You can customize it as you want and it will display either Atlas or eyepiece charts. I finished the thing 6 months ago, but never got around to wiring it into the program.. At the very least it should be great for displaying the objects in an observing list. And maybe even for lists of events. Regardless, all I need to do is place a line of code at the right spots.

There are other little things like making the cursor ignore objects on the charts when the shift key is depressed. I mean, how long could that take? Two minutes?

Once I get most of these things done I'll bring it all together and see if I can get it on a CD (or two DVDs for the imaging version) and I'll start putting together a beta test group. I really look forward to working with the volunteers!

Wednesday, April 18, 2007

The Context Viewer is Finished

The Context Viewer is finally done. This is a pop-up window that is attached to the SkyTools Interactive Atlas. It displays a simulated view of the sky as seen in a telescope.

The new SkyTools 3 telescope simulations employ a more sophisticated model to determine the visibility of objects at the eyepiece. A more rigorous approach is used that includes a realistic sky brightness model and for diffuse objects a contrast algorithm now estimates visibility. The sky brightness can be drawn in the view background, so for instance during the day not only are most stars missing, but the background is blue.

At first, when I'd finished creating the viewer window, I was a bit disappointed. At that point all it did was draw a telescope view of the same target as the Atlas. It was only today when it came to life that I began to see it differently. You know, I come up with an idea like this and it only exists in my imagination. Then one day, after much work and tedium, it's done; it actually exists! It's enormously satisfying. But better yet, I'm always the first person to get to play with the new toy. Sure, there are always rough spots, and sometimes things don't live up to expectations, but playing with a new tool always opens new doors, and new possibilities. It's hard not to be excited about it. I've only had an hour with the Context Viewer so far, but I already like it a lot.

Here's how it works: there are two buttons on the context viewer tool bar. One locks the viewer to the atlas. In this mode it follows the atlas around the sky, always targeting the same object or position. The second button locks the viewer to a telescope, if connected. This is where things start to get really cool. Wherever the scope is pointing, that's what appears in the view. And for GOTO scopes it works both ways--if you move the viewer the telescope follows. An eyepiece circle appears on the atlas representing the current position and field of view displayed in the viewer.

Perhaps the best part is that using the mouse you can grab the eyepiece circle and drag it around the atlas. Imagine working your way through the Virgo Cluster. The atlas is configured so that the entire cluster is displayed. As you drag the eyepiece circle to each galaxy, the context viewer displays a simulated view at the eyepiece. And better yet--if there is a telescope connected as you drag the circle to each galaxy your telescope will follow. A quick check of the context viewer to see which galaxies should be visible, then it's off to look through the scope. And for small difficult objects, being able to quickly identify the stars in the field should make finding them at the eyepiece a snap.

Anyhow, that's the basic idea. It will likely mature as I play with it and we do the beta testing. I'll also be adding a similar capability for imaging, including support for off-axis guiders.

Tuesday, April 3, 2007

I'm a Father to be of 250 Million!

Well, it's been a while since my last post. The kids had their spring break last week so I took some time off, but mostly I've been hunkered down in the trenches.

Detailing my slog with the stellar database might be about as interesting as reading about someone watching paint peel off the wall. But since this is what I've spent the majority of the last three years working on I should at least say something about it.

I didn't set out to redo the stellar database from scratch. I had a lot to build on as a starting point with the SkyTools 2 (ST2) database. But I get suckered into these things as I go along, slowly pulled ever deeper into the pit by the catalog monster. My primary goal was to include the full Washington Double Star (WDS) catalog. Simple enough. ST2 has many of the same pairs, but they are derived from the CCDM catalog. This has meant that the commonly used WDS identifiers haven't been present in the database, and that some pairs were simply missing. The thing is, the WDS has always been a huge mess! That's why I avoided it in the first place. Although much improved in recent years it is still rife with errors and mistakes. In addition to incorporating the WDS I needed to update to the latest General Catalog of Variable Stars (GCVS) and its accompanying New Suspected Variable (NSV) catalog.

I was also excited about the prospect of incorporating the USNO-A2.0 catalog to extend the database much fainter. I asked for and received permission to do this from Dave Monet.

But what really set things off was the publishing of the second version of the UCAC catalog. This catalog goes almost as faint as the old Guide Star Catalog (GSC) but with much improved data, including accurate proper motions. Throw in the new USNO-B1 catalog with stars and proper motions down very faint, and you have a lot of new data available.

So I set about incorporating all these catalogs into the ST2 database, in one way or another. The basic idea is to compile all the available data into the SkyTools database. That may seem straight forward, but I go about it in a very different way from other developers. Most astronomical software acts like a data engine, overlaying the data from various sources. But what I do is incorporate ahead of time all the available data into a custom database, and this includes double star components.

Take a WDS pair for instance. In fact, they may be two pairs that share the same primary star. One pair is close and the other distant. So we have the primary (A) star, with star B 2 arc seconds away at some position angle measured in 1902. In addition we have star C at a distance of 16 arc seconds and a position angle measured in 1991. The GCVS claims that the B component is variable. But the magnitude range of the variable star doesn't match the magnitude listed for the B component. So what's wrong? With the advent of these new stellar catalogs even the fainter stars have proper motions. The proper motions allow me to run the stars back in time to see how their relative positions have changed. I do this to find which USNO-B1 or UCAC2 star macthes each of the component stars. Then I run the stars back in time to 1991, and even 1902. And voila! Component C moves in close to the primary and star B moves farther away. The variable star referred to by the GCVS is actually star C, not star B. Only back in 1902 they were switched in position!

When you consider how many pairs there are in the WDS you might begin to understand the size of this detective work. Mostly I created programs that match the stars from various catalogs and solve these mysteries, but in many cases I needed to do the detective work by hand. So I created an interactive program and spent many hours matching stars, making thousands of my own corrections.

This sort of thing goes on and on as I match stars from all the catalogs, including HIPPARCOS, Tycho-2, GSC, UCAC2, USNO-A2.0, USNO-B1 and all the cross reference catalogs like the SAO, BD, and PPM.

I'm now at the point where it is all finally coming together in a final form. The stars with more than minimal data appear in my primary reference database. I fold the less interesting and/or fainter stars into the mix when the mapping databases are created. There are actually three of these databases, one that goes down to 7th magnitude, a second that goes to 10th, and a third that in the past went to 15+. With the addition of faint USNO-A2.0 stars, this latter database can now be optionally extended to magnitude 20.

So what does this all mean for the user? It means more double stars, more variable stars, more accurate positions, many more stars with colors and proper motions, and the possibility of a much larger stellar database to support imaging.

To take advantage of all this I'm adding two new tools to the charts. One will create rudimentary color-magnitude diagrams for stars within an area. The other will plot the proper motions of stars with small arrows. These tools should provide advanced users with the ability to judge for themselves whether or not a grouping of stars is a real cluster, or to investigate how the stars in a cluster move together over time.

But the most obvious change will be the size of the database. SkyTools 3 will be made available in two versions: "standard", and "professional" (the names may change later, but you get the idea). The new imaging features will be Incorporated into the pro version, along with an extended database. The pro version will ship on 2 DVDs. The number of stars available will jump from the current 18 million, to as many as 250 million!

Except in a few selected areas of the sky I've been using the standard database for testing because I can regenerate the 15th magnitude mapping databases in just a few minutes. I estimate that it will take 5 days running continuously to generate the final "pro" database! So I'm waiting until I have the stars debugged before I make the final run. But that time is coming; the SkyTools 3 pro database will very soon be born, and after all this work, I'm pretty excited about it!