Monday, November 3, 2014

Mosstack 0.6 Release Candidate 1

This was supposed to be a quite small version bump. Originally the plans were to add a couple of stacking methods, trim the math, and fix setting the reference frame (so that cropping would some day be possible)... The some changes required quite a lot of rewrite under the hood and suddenly there was a huge update coming.

According to CLOC there is almost 1000 lines of new code compared to version 0.5.2, with the sum being almost 6000. That's Python and Cython code lines. Comment lines, blank lines and C generated from Cython are not included.

Download release candidate from Ubuntu, Debian and Gentoo packages will be done for the final version.

Highlights from changes:

Crop window
  • Cropping before stacking. Set reference image and set crop area from Gui by rectangle selection and the images are cropped after preprocessing. This reduces amount of required memory and makes stacking a lot faster.
    Cropping also works on command line, but requires giving coordinates manually.
  • Added support for any images DCRaw can open. There's only one Bayer filter programmed (RGGB) so any other images work only as monochrome. This should be enough for most consumer DSLR cameras.
  • Removing frames from project works on Gui and Cli
  • Adding premade master frame so creating the calibration frames isn't necessary for several image sets from same photo session.
  • Giving "Bias level" instead of master bias is possible from command line. This subtracts given number from every pixel on each frame.
  • Maximum and Minimum stacks. Partially for testing, but I guess there might be uses for these.
  • Kappa can be defined for Sigma methods. Sigma methods reject or replace values that differ amount of κ*σ (κ defaults to 3.0 and σ is standard deviation) from the median.
  • Added size and clean commands to Cli. These report the size of temporary files of a project and delete everything except master frames.
  • ImageMagick affine transformations are disabled. Code still exists, but isn't supported at least at the moment.

What's still to be done before 0.6:

  • Documenting. Both the code itself and also how to use the program. I started a manual written with LaTeX but there will also be a website.
  • Debugging. I'm quite sure there are quite a lot of bugs left in the code
  • Cleanup. Old names AstroStack and pyAstroStack are still everywhere in the code. I plan to change all those and rename some files in the process. Also huge chunks of code is now "documented out" with # or triple quotes. Delete all that. Leave only what's required.