Giter Club home page Giter Club logo

siril's Introduction

Siril

Copyright © 2012-2023, Team free-astro <https://free-astro.org/index.php/Siril> <https://www.siril.org>

Summary

Siril is an astronomical image processing tool.

It is specially tailored for noise reduction and improving the signal/noise ratio of an image from multiple captures, as required in astronomy. Siril can align automatically or manually, stack and enhance pictures from various file formats, even image sequence files (films and SER files). It works well with limited system resources, like in embedded platforms, but is also very fast when run on more powerful computers.

Contributors are welcome. Programming language is C, with parts in C++. Main development is done with most recent versions of libraries.

Requirements

For compilation, these tools are needed in addition to the base development packages:

  • meson
  • ninja
  • cmake

Then, mandatory build dependencies:

  • glib-2.0 (>= 2.56.0) Glib Convenience Library
  • GTK+ 3, (>= 3.20) as GUI toolkit
  • lcms2 for color space management
  • cfitsio for FITS image read and write
  • wcslib (>=7.12) to handle astrometric data
  • fftw3 for Fourier transforms
  • GSL (The GNU Scientific Library) for PSF implementation, histograms and background extraction
  • A C++ compiler for opencv code and avi exporter
  • libopencv for various image transformation algorithms (>= 4.4, 4.2 is possible without some shift-only registration)
  • json-glib-1.0, (>= 1.2.6) for Siril update check, spectrophotometry color calibration and metadata output

Siril works internally with FITS files, but other file formats can be used as input and converted using the conversion tab of the control window. Some file formats are handled internally, like BMP, PPM and SER, some require external libraries listed below. Libraries need to be present at compilation time, or their support won't be included.

  • libcurl for web access
  • exiv2 to get thumbnails from files
  • libraw for DSLR RAW files import
  • libffms2 for films import (any format supported by ffmpeg)
  • libtiff (>= 4) for TIFF format support
  • libXISF (>=0.2.7) and zstd for XISF format support
  • libjpeg or compatible libraries like libjpeg-turbo for JPEG format support
  • libjxl for JPEG XL format support
  • libheif for HEIF format files import
  • libpng (>= 1.6) for PNG format support
  • libavformat, libavutil (>= 55.20), libavcodec, libswscale and libswresample for avi export (usually provided by ffmpeg)
  • libgit2 for git integration to sync with the official siril-scripts repository
  • criterion for unit testing with meson (development)

All these libraries and programs are available in most Linux distributions and free systems, maybe with the exception of ffms2 that is not as popular as the others and may need to be compiled.

Scripting

Siril accepts commands from the graphical command line, from scripts as a file that contains a sequence of commands, or from a named pipe. The list of supported commands is documented here. We recommend to use the siril-cli binary for that as no X-server is needed.

Some general purpose scripts have been made by the developers and some power users, and are provided with the source code and some installers. When they are in some default directories or in the directories defined by the user in the settings, scripts appear in a top-menu of the main window. See this page for more information about scripts and a list of scripts ready for use.

The named pipe is only enabled when using Siril in a non-graphical mode and when the -p argument is passed to the program on the command line.

Download binaries

We maintain binary packages of the latest stable version of Siril. A full list of all releases is available on free-astro as well as Siril's website. The available packages per relesae might differ.

Download source

You can get Siril's source code from the release archives on the webpage or fetch the latest version from our repository on GitLab:

git clone --recurse-submodules https://gitlab.com/free-astro/siril.git

Building Siril for GNU/Linux

Siril uses the Meson build system. Run the following commands:

# adjust the prefix to wherever you want to install Siril
meson setup --prefix /usr/local --buildtype release _build
ninja -C _build
ninja -C _build install

To update your build/installation, run the following commands:

git pull
git submodule update
ninja -C _build install

To uninstall Siril, run the following command:

ninja -C _build uninstall

Using meson to build siril requires all optional dependencies to be available or explicitly disabled on the meson command line adding -Dexiv2=false for example. The autotools way still only enables dependencies that are found and is available using autogen.sh.

Building Siril for macOS

The official JHBuild-based build scripts are available in the siril_macos repository.

Alternatively, you can install Siril via Homebrew. Please note that this is not maintained by Siril developers.

brew install siril

Building Siril for Windows

The build process using msys2 is documented here.

Translation instructions for Siril

If you're interested in contributing to the translation of the application and documentation, we encourage you to use Weblate. Weblate is a powerful web-based translation tool that allows for easy collaboration and efficient translation workflow.

Notes on Siril FITS image format

Flexible Image Transport System (FITS) is an open standard defining a digital file format useful for storage, transmission and processing of scientific and other images. FITS is the most commonly used digital file format in astronomy.

Since FITS is a container and doesn't specify the order and size of data, it's useful to fix it at some point. Currently, Siril uses 32-bit floating point per channel values (TFLOAT), and images are stored channel after channel on a bottom-to-top, left-to-right order. The convention chosen is the same as professional tools, like ds9 (Harvard Smithsonian Center for Astrophysics) and fv (FITS viewer from NASA) that store images bottom-up too. More details are described here.

All files imported and converted in Siril or files exported by Siril are in this FITS format, except sequence files like SER and films, which are read from the file and converted on-the-fly. Films should be converted to SER now to process them, many parallel operations are unsupported on them.

Notes on image sequence files

Siril makes a strong case for the use SER sequences against the generic film containers that are not well suited for astronomy data and that may not be read the same way by different players. Siril can convert any film format supported by FFMS2 (probably all ffmpeg formats, which is a lot) to SER, and even any image sequence to SER.

Siril supports SER v3. See this page for more details.

Useful links

License

GPL-3.0-or-later

siril's People

Contributors

a26413768 avatar ajeb78 avatar akalachev avatar andkem avatar byggemandboesen avatar cissou8 avatar dehesselle avatar fab4space avatar florianben avatar fred-shift avatar garthtb avatar hamarituc avatar heckflosse avatar jd-source avatar jehan avatar joanvyc avatar joaquinllano avatar lock042 avatar prokoudine avatar rafelalbert avatar samm-git avatar saturnin-512 avatar solfra avatar srombauts avatar therealplato avatar ubit64 avatar vincent-fa avatar xiaoyu2006 avatar yhlin-altair1999 avatar yomgui1 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

observerly

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.