It's right time for an another development snapshot of Munipack. I have no time and no strength to stay in intense developing during our semester period. Before two months of stagnation, I issuing a rolling progress of Munipack.
The issue is still experimental. The debugging is switched on by default. Don't be confused from a lot of mash prints.
Many improvements in image loading, image manipulation or safe thread handling leads to more usable and stable application.
Also many improvements in GUI has been done. The most important is remove of left panel (selector of HDU) in Viewer and adding of zoom and coordinates panel. The image zoom is probably more important than the selector. The toolbar buttons must be relative small because users can prefers no labels to ones.
Practically all main features are (at least partially) currently developed, I plan to publish new issues more frequently.
The current issue is focused on astrometry. I developed a GUI and improved importantly astrometry methods. Also support for Virtual Observatory has been included:
- New matching algorithm on base of back-tracking has been developed.
- Dialog GUI for astrometry. Users can directly change parameters and see results of the modifications.
- Added (unfinished) GUI dialog for aperture photometry and object detection.
- First steps toward to direct editing of FITS files has been implemented as a support of saving WCS to HDU.
- Manual specification of set of full parameters.
- Fitting of predefined of set of parameters.
- Matching against to a known catalogue.
- astrometry directly derived from an image (transfer from image) by fitting of two images by hand (?)
- add object name resolver (coordinates position by name)
- using of WCS-library for support of more projections and more precise algorithms
- solve relative coordinates calibration for wide-field images by digital camera, or precise relative (mutual) positioning of images
This issue is a first which supports VO. Just only cone search and simple analysis of VOtable is implemented. Because there is a poor support of VO in C/C++, I created a parser of VOtable on the top of the wxWidgets interface to Expat library.
- object name resolving
- image, spectra and time series (?) search implementation
Munipack's FITS files
There are two important changes in FITS files representations. The color format of FITS has been changed during this developing period. The format is more clearer now (see colorfits specification).
Additionally, I rewrote all older subroutines to store all output information as photometry and object position as FITS tables. The tables are added as a additional HDU of processed images. The advantages are:
- less chaos, additional information are partially hidden for user
- the information are directly accessible for processing
- due to binary representation, there are no formatting complications for very small or huge numbers
Generally speaking, the FITS files are more suitable for code to code data transfer than complicated set of text files.
Binary packages are created for deb and rpm based distributions now. Older binary packages has been abandoned due (mainly) to dependency hell and on base of an user feedback.
The packages are created for main current distributions. A deb is designed for latest Ubuntu and Mint and rpm for Fedora and openSUSE. The packages are relative universal (just only widely used libraries (libc, libgtk) in latest versions are required. The choice satisfy over 70% users. Any latest widely-spread distribution does not contain wxWidgets in unstable branch flavor needed by Munipack.
All configuration files has been moved to ~/.xmunipack/. Additional changes are planed.
The place is not in conformance with Free desktop recommendations, but there is no support for the rules in wxWidgets.
Munipack is using the unstable branch of wxWidgets now. It is absolutely necessary because stable branch does not supports event handling for console applications. That means that CLI cannot correctly run and work with external processes.
Minor advantages of use of unstable branch are: spins supporting of double values, more flexible event handling (using of Bind), thread safe (really working!) logging functions.
Also the external process handling and pipe-lining has been rewrote (practically from scratch). The real pipe-lining like a shell is supported via chain of external processes which interacts with next and previous ones via captured standard input and output processed by its overwritten class methods. Noteworthy, the running of external process (or pipe-lining and so on) is implemented extremely poorly probably by all toolkits or under other platforms.
Munipack has been tagged on version 0.5.2 during Oct 19, 2011.