Revision as of 13:23, 10 October 2014 by Lock42 (talk | contribs)

Siril, a free astronomical image processing software

Siril is meant to be Iris for Linux (sirI-L). It is an astronomical image processing tool, able to convert, pre-process images, help aligning them automatically or manually, stack them and enhance final images. This page is the page for the new version of Siril, legacy Sourceforge project and website are unmaintained.

Current version is 0.9 alpha. Next release, 0.9 beta, or 0.9b, will be available in a few weeks or months.

Who should use Siril?

Siril is targeted to amateur astronomers having acquired images and wanting to process them in a semi-automatic way. It provides a more user-friendly interface than Iris' command line, but it is not yet as automated as DeepSkyStacker or Registax. It also provides a command line to access various processing functions.

Siril is able to process planetary images (many small images) as well as deep sky images (a few large images with full pre-processing data). Registration is able to automatically align (translation only) planetary images, using DFT, as well as deep-sky images, using PSF on a reference star, as long as the shift between images in not too large. The manual alignment capability makes it also well fitted for amateur astronomers having bad quality images that automatic tools fail to align properly.

Professional astronomers generally use 32-bit depth images, but Siril uses only 16-bit images internally (except temporary for stacking). Loading 32-bit images is supported but it will degrade them since they will be converted to 16-bit. It can still be useful if the intent is to produce public-friendly pictures.

And more generally, people who want to use free software on free operating systems to process images. Siril can even be used to extract previewed frames from many videos formats. For an overview, see the screenshots, some image processing results, or documentation pages.

News

The software is still in alpha phase, meaning it's still being heavily developed and quite unstable, but most functionalities are working. Many improvements have been done over the previous unmaintained version, including better handling of conversions, image sequences and errors, improving the GUI, and lots of bug fixes. The command line has been reactivated in large proportions, see the list of currently available commands on the dedicated Commands page. New commands and features are also being developed, and new file formats being supported (all RAW, all BMP, all TIFF, JPEG, PNG, Iris' PIC, AVI and other films, SER). For a more complete list, see the 0.9 alpha page, the subversion log, or the list of features below.

The roadmap for Siril is in the TODO file, and the list of known bugs is maintained in the BUGS file. The changelog is available in the SVN log (not yet available online). Priority for next developments is adding support for wavelets in the GUI and filtering the best images for planetary sequence stacking. If you want to contribute, you are welcome!

Start using Siril / Documentation

Siril's works internally with FITS images, unsigned 16-bit per pixel and per channel. All images you want to process with Siril thus needs to be converted using the Conversion tab, except for SER and film sequences which are converted on-the-fly.

For pre-processing, Siril applies master offset/bias, dark and flat images to the current sequence. These master images thus have to be processed before processing the actual image sequence. Siril currently does not support processing multiple sequences at the same time, so each layer of the final image must be processed independently before assembling them into an RGB image. A new tutorial will document this process soon.

A documentation page contains an illustrated complete processing tutorial, instructions on how to use particular features of Siril, along with a few videos to illustrate or describe these capabilities.

List of Siril features

New features are being introduced quite regularly. Here is a list of main features:

  • Native image format support
    • unsigned 16-bit FITS files (other FITS are converted to this format on-the-fly)
    • SER files
    • AVI and many other film files
  • Image conversion (to the native FITS format only)
    • Supported input types: 8-bit and 16-bit BMP, TIFF, JPEG, PNG files, NetPBM binary images, RAW DSLR images.
  • Image registration; supported methods:
    • Translation using DFT centered on an object, generally used for planetary images
    • Translation using PSF of a star, generally used for deek-sky images
    • Manual translation with two preview renderings of the current image with reference frame in transparency
    • Image rotation and plate-solving are not implemented yet
  • Image stacking
    • Summing, median, median kappa-sigma and pixel maximum stacking
  • Pre-processing of images with multi-channel offset, dark and flat images
  • Enhancement of final images: lightness/contrast cursors on each layer, different scaling modes (linear, log, square root, squared, asinh, histogram normalization), negative and false colour rendering and clipping.
  • A command line for various processing functions, see the list of available commands.
  • A star finding algorithm with PSF information

Limitations:

  • Only 3-channel colour images assigned to R, G and B are possible in the general workspace (image processing and sequence handling). It is however possible to manipulate many 1-channel image to create a colour composition, such as popular LRGB, RGBHa or SII Ha OIII images.

Compilation and installation

Siril is currently only released as source from its subversion base. There is a package for the Arch Linux system, built from the subversion source, in AUR. For other operating systems, you need Subversion (svn command) to retrieve it and autotools and gcc to compile it.

Dependencies

Siril depends on a number of libraries, which all should be available in your operating system if it is recent enough. See a list of packages names for Debian here. Mandatory dependencies are:

  • gtk+-3.4 (Graphical user interface library)
  • cfitsio (FITS images support)
  • fftw (Discrete Fourier Transform library)
  • gsl (The GNU Scientific Library)
  • libconfig++ (Structured configuration files support)

Optional dependencies are:

  • libraw, libtiff, libjpeg, libpng for RAW, TIFF, JPEG and PNG images import and export. The libraries are detected at compilation-time.
  • FFMS2 for film native support as image sequences. It also allows frames to be extracted from many kinds of film, for other purposes than astronomy. Versions < 2.20 have an annoying bug. It is recommanded to install the last version.
  • OpenCV for binned image resizing in the LRGB composition tool. Without it, only images the same size can be composed. It is also used to rotate images in the rotation tool (not yet in registration).

Installation instructions

Until a package version is released, the only way to get the source is to get it from the subversion repository. Use the command:

$ svn co https://free-astro.vinvin.tf/svn/siril/

(sorry for the bad certificate). The source is read-only if you have no particular authorization. If you want to participate to Siril and be able to commit on the svn, send a message to user Vincent here.

Once you have got Siril's source code, it's easy to install it. Siril is managed with autotools, so it's simply built using ./configure and make. If you don't have autotools or other development packages, see this install documentation. The configure script is not shipped to allow for better interoperability and can be generated using this command:

$ aclocal && autoconf && autoheader && automake --add-missing

Then run ./configure and make. To install Siril, use the usual:

$ make install

To launch Siril, the command name is siril.

Who is behind Siril?

The project leader of this new version is Vincent. He is a computer scientist (PhD), and uses Siril as an amateur to process images from a Canon EOS and a B&W QSI camera on a 410mm diameter telescope.

Cyril is a physicist (PhD), motivating new developments and providing high quality processing algorithms to Siril.

François Meyer wrote the initial (up to v0.8) versions.

See the AUTHORS file for the complete list of contributors.