Thursday 23 June 2022

Development of AstroDMx Capture

Development of AstroDMx Capture

The codebase for AstroDMx Capture has now reached 76 KLOCs (Thousands of lines of code), not including SDKs, plus about 13000 lines of internal documentation, giving 89 K lines in total. The growth of the codebase is due in part to the ongoing development of some advanced functionality that will eventually make it into a release. It is also due to the implementation of another family of cameras by Player One. The specific camera that has been implemented here is the Player One Mars-C II astronomy camera. More on this camera later…

What does the total of 89,000 lines of code plus documentation actually mean? To put this in an understandable and realistic perspective I will use a method that I have used before: 

The book 'iWoz', the autobiography of Steve Wozniak, co-founder of Apple, is a fairly typical book in terms of size, if not content. It has 30 lines of text per page and 342 pages.

Therefore, if the whole of AstroDMx Capture was to be printed book fashion; to hold all of the lines of source code and internal documentation in AstroDMx Capture, it would require more than 8 printed volumes, each the size of 'iWoz' to contain everything; and the codebase is growing. The code is multi-threaded and uses polymorphism when needed, which is, in part, responsible for the efficiency and responsiveness of the software.

Implementation of the Player One cameras; specifically, the Mars-C II astronomy camera

The following is first light on the AstroDMx Capture implementation of the Mars-C-II camera. When bench and field testing is complete, Nicola will make a feature release to include Player One cameras.

Testing Deep Sky capabilities of the Mars-C-II camera

The Player One Mars-C II is marketed as a planetary, lunar and solar imager. However, it uses a Sony Starvis 2 IMX662 back illuminated CMOS sensor. It is a 12 bit, very sensitive, low noise device with no noticeable amp glow with low readout noise, and can make a useful un-cooled deep-sky imager. 

A Skywatcher Esprit 80 ED APO Pro Triplet Refractor was mounted on a Celestron AVX GOTO mount. A Player One Mars-C II camera was fitted with an LeNhance narrowband filter and placed at the focus. This filter passes two parts of the spectrum: H-alpha at the red end and H-beta plus OIII in the blue-green part of the spectrum. Effectively enabling limited narrowband imaging with OSC cameras.

An SV165 guide scope fitted with a QHY-5II-M camera was used for pulse auto-guiding with PHD2.

AstroDMx Capture for Linux was used to capture 30 x 2-minute exposures of M16, the Eagle Nebula with matching dark-frames, giving a total exposure of 1 hour.

Click on an image to get a closer view

Screenshot of AstroDMx Capture for Linux capturing FITS images of M16


The images were calibrated, registered, stacked and part processed in Siril and then post-processed in the Gimp 2.10 and Neat Image.

Final image of M16 showing the Pillars of creation


Then AstroDMx Capture for Linux was used to capture 30 x 1-minute exposures of M17, the Swan Nebula with matching dark-frames, giving a total exposure of 30 minutes.

Screenshot of AstroDMx Capture for Linux capturing FITS data of M17


The images were calibrated, registered, stacked and part processed in Siril and then post-processed in the Gimp 2.10 and Neat Image.

Final image of the Swan Nebula reoriented to the more familiar orientation.


Solar imaging with the Player One Mars-C II OSC camera

A Skymax 127 Maksutov was fitted with a photographic grade Baader solar filter and mounted on a Celestron AVX GOTO mount. A Player One Mars-C II camera fitted with an IR/UV cut filter was placed at the focus.

AstroDMx Capture for Linux was used to capture a 10,000-frame SER file of the active region AR3038 sunspots in Mono-8 mode.

Screenshot of AstroDMx Capture for Linux capturing a solar SER file of AR3038


 The best 10% of the frames in the SER file were stacked in Autostakkert! , wavelet processed in Registax 5.1 and post processed in the Gimp 2.10

Final , colourised image of the AR3038 region of the photosphere.


 The image reveals structure in the sunspots, some faculae and granulation.

The results speak for themselves. We look forward to further testing the camera on other operating systems and other astronomical objects, and to releasing the next version of AstroDMx Capture with support for Player One astronomical cameras.

For the long exposure imaging, we used a relatively low-spec computer with good battery life; the Star Labs Starlite notebook with a Pentium Silver n5030 CPU running Linux Mint. For the high-speed solar imaging, a PC Specialist 9th Gen i7 laptop with less battery life running Fedora Linux was used. The capabilities of the CPU and GPU in the imaging computer can significantly influence the rate at which frames can be saved as well as other factors such as the type of storage medium used. It is possible to save data that have been debayered in the application. Depending on the factors mentioned above, some of the debayering options may impact the rate at which frames can be streamed and captured.

AstroDMx Capture can be downloaded HERE.

AstroDMx Capture is available for Windows, macOS, Linux including Raspberry Pi OS and ChromeOS.