Since shortly before xmas I've been developing a piece of software to support electronically-assisted astronomy (EAA). Realistically it is still some months away from release, but the main design elements are getting close to being fixed so I think now is a good time to document what I'm doing in the hope that any comments or suggestions might be taken on board before the thing fossilises too much.
The tool -- codenamed Jocular -- aims at promoting observation, but getting the most out of the limited number of photons we EAA-ers typically collect for each object we observe. The interface will be kept as simple as possible, but in spite of this I'm planning to implement a fair bit of AP-like functionality, adapted to the EAA use case where nearly all processes have to be handled semi- or fully-automatically. In a sense the tool was motivated by a desire to experiment with just what is possible to accomplish in near real-time and minimal user intervention. So there will be support for a full calibration scheme but operating silently where possible, as well as various luminance-chrominance manipulations, gradient removal and advanced stacking and stretching options. I'm attempting to operate by the principle of least commitment, which is especially important for EAAers, whereby it shouldn't be necessary to take decisions in advance that limit later options and potentially waste photons. For example, it will be possible to reject subs from any earlier point in the stack, or change the stacking mode, or choose a different key frame for star registration, or re-assign incorrect subs to the appropriate type or to a different object -- at any point during the observation of that object.
Currently, live mode operates via a 'watched folder' approach in which an arbitrary capture program dumps .fits into that folder. These can be darks, bias frames, flats or lights, or short captures used for FAFing (focus-alignment-framing); a user-defined naming template enables the program to sort out the type of each sub. However, I am one small step away from complete integration with Nebulosity, which will enable capture control for any cameras/filterwheels supported by Nebulosity, but all done via a simple interface. The Nebulosity option will also allow scripted captures, again heavily simplified e.g. click RGB to have the program capture N subs of duration D from each of RGB, rinse-and-repeat (assuming the user has an electronic filter wheel). I hope to support INDI-based capture/control at some point and would like to track down some compatible open-source capture options as this is one area I really don't have the time or inclination to work on.
It is possible to use the tool both live and offline in much the same way. The tool will provide easy access to previous observing sessions, enabling a user to revisit and re-process the data in a 'what if' fashion. It will support observation planning and logging as well as image annotation.
The program is being written in Python. In principle it can be ported to all OSs, including iOS and Android, but I'm developing first and foremost for the Mac where there is a shortage of EAA tools. The software will be open source.
Here's a shot of the current interface during a recent test session observing the polar ring galaxy NGC 660 in Pisces.