My goal for the project is to enable something that has never before been possible - amateur x-ray astronomy.  Practically, what this means building on JSky so it can process and visualize data from the Chandra telescope.  Specifically, this means level 2 ACIS-I event files.

    Level 2 means the data has already had calibration factors applied and events are in sky coordinates.  ACIS-I means the data came from the Advanced CCD Imaging Spectrometer.  Event files are files that contain a data record for each photon received during the observation.  For each photon, we know the time it arrived, it's position on the sky (basically a latitude and longitude but not a distance) and roughly it's energy (or, if you prefer, it's frequency).
    As far as processing goes, we need to display a light curve, select photons based on sky position, time or energy and turn them into a picture.  Once selected, we also want to do some more traditional image processing (adjust brightness, contrast apply convolutions and FFTs).

    At first glance this appears formidable - and it is a little.  We must remember that for everything we are trying to do there is already source code we can look at that does what we want.  Typically this is C code designed to be used from a command line to modify an observation that resides in a file.  Our goal isn't to invent how to operate on x-ray telescope data.  It is to transform proven techniques into a system people without Ph.D.s in astrophysics can use.

    We will learn a lot from the software and documentation the scientist use today.  Basically there are two different packages.  The "flagship" software for x-ray astronomy is CIAO.  In can do everything that can be done.  A recent attempt at a limited but easier to use solution is Funtools.  Both solutions are a collection of individual programs designed to manipulate and display disk files.

    Naturally, it is important to identify out several specific tasks so work can begin.  Here some are:

    There is more to do, but this could keep us busy for a while.  If someone isn't interested in any of these tasks, I can make a few more.

    One way to get started on these tasks of for people to select what they want to work on and then go off and dig into the details.  Then we can get together as a group for little "design review" presentations on each task.

    We will need some data to work with.  I think a supernova remnant (SNR) is a good place to start.  I find out what data is available and download it by going to the right page.  By clicking on "Sort by Detector", we can see what observations are available.  Then I enter the ObsId of the of the observation I want on the previously mentioned right page.
From there, I can download the events file or the image file that JSky can currently read.  For our test purposes, I recommend ObsId=122.  This is a short exposure (only 25 megabytes) of the nearby supernova 1987A.

    There is a Chandra workshop November 5-7.  Everyone at the workshop (except me) will have a couple a degrees in astrophysics.  Most will have Ph.D.s and a couple will be in a Ph.D. program.  At the workshop, there will be machines available to try out the processing discussed in the lectures but last time I didn't use them so the scientists could have more time on them.

    I'm sure the UMass Boston library has some relevant books.  They have and I've read Exploring the X-ray universe by Philip A. Charles and Frederick D. Seward.  Books on stellar evolution often give a good explanation of how stars work - I like them better then intro astronomy books but your mileage may vary.    I think I'll be able to explain most question you have about astrophysics, telescopes and data manipulation so you won't have to spend time reading books.  But if you want some more recommends, just let me know.

Some random factoids

I don't think you can generate a light curve from an image file because the time data for each photon is lost.  You have to use the events file.

In an image file, how is the color of a pixel determined?  Is it total energy at the sky position?  Is it total number of photons?  Is it average photon energy.

It looks like the FITS code doesn't handle HDUs of type 'EVENT' at all.  In nom.tam.fits.FitsFactory, it handles images, random groups, ascii tables and binary tables but not events.  We need some new class along the lines of BinaryTableHDU that can process the events data and then change the FitsFactory (allow it to be extended at run time?).

Right now, I don't see a need to write out fits events files.  It might be nice to save the image processing or to save a fits image.

How can buttons and menu options be added to JSky?

How can we add some image processing?

I need a better understanding of when CALDB (the calibration database) is needed.  I thought it wasn't needed at all when using level 2 data but I was probably wrong.  Exactly what can we do with and without CALDB?  I think everything we will want to do won't require CALDB.

We only have to worry about processing acis level 2 event files.  We can ignore the HRC.

It would be good for me to spend some time looking at Newton-XMM.  It is the European Space Agency's space based x-ray telescope.  Will they release data?  When?  What format?