gnthibault/siril

GitHub: gnthibault/siril

SIRIL 是一款专为天文观测设计的图像处理工具,通过堆叠和降噪技术有效提升图像质量。

Stars: 69 | Forks: 12

# SIRIL ## 概述 SIRIL 是一款天文图像处理工具。 它专为天文观测中降低图像噪声、提升多次拍摄图像信噪比的需求而设计。 SIRIL 可自动或手动对齐、堆叠并增强来自多种文件格式的图像, 甚至支持图像序列文件(影片与SER文件)。 ## 环境要求 编译需要以下工具: * **meson** * **ninja** * **cmake** 必备构建依赖项: * **GTK+ 3**(≥ 3.20)作为GUI工具包 * **json-glib-1.0**(≥ 1.2.6)作为GUI工具包 * **cfitsio** 用于FITS图像读写 * **fftw3** 用于傅里叶变换 * **GSL**(GNU科学库)用于点扩散函数实现、直方图计算与背景提取 * **libconfig**(≥ 1.4)用于结构化配置文件 * **C++编译器** 用于OpenCV代码与AVI导出模块 * **libopencv** 用于多种图像变换算法(≥ 4.4.0) * **exiv2** 用于管理图像元数据 SIRIL内部处理FITS文件,但可通过控制窗口的转换选项卡将其他格式作为输入进行转换。部分格式(如BMP、PPM、SER)可内部处理,其余格式需依赖下述外部库或程序。所有库需在编译时存在,否则相关功能将不被包含: * **libraw** 用于DSLR RAW文件导入 * **libffms2** 用于影片导入(支持FFmpeg兼容的所有格式) * **libtiff**(≥ 4)用于TIFF格式支持 * **libjpeg** 或兼容库(如libjpeg-turbo)用于JPEG格式支持 * **libheif** 用于HEIF格式文件导入 * **libpng**(≥ 1.6)用于PNG格式支持 * **libavformat**、**libavutil**(≥ 55.20)、**libavcodec**、**libswscale** 与 **libswresample** 用于AVI导出(通常由FFmpeg提供) * **libcurl** 用于网络交互(GNU/Linux系统非必需,macOS和Windows平台因GIO兼容问题必须安装) * **wcslib** 用于部分天体测量工具 * **criterion** 用于单元测试 * **gnuplot** 用于测光图表输出 上述所有库和程序在多数Linux发行版及自由系统中均可获取, 可能例外的是ffms2——其普及度较低,可能需要自行编译。 ## 脚本功能 SIRIL支持通过图形化命令行、包含命令序列的脚本文件或命名管道执行命令。 支持命令的列表详见[此处](https://free-astro.org/index.php?title=Siril:Commands)。建议使用 **siril-cli** 二进制文件, 因其无需X服务器支持。 开发者与高级用户已创建部分通用脚本,随源代码及安装包一同提供。当脚本存放于默认目录或用户设置的自定义目录时, 将显示在主窗口顶部菜单中。更多脚本信息及可用脚本列表请参阅[此页面](https://free-astro.org/index.php?title=Siril:scripts)。 命名管道仅在非图形化模式下使用SIRIL且程序命令行包含 `-p` 参数时启用。 ## 源码获取 可从官网发布存档页面获取SIRIL源码,或通过Git获取最新版本: ``` git clone https://gitlab.com/free-astro/siril.git ``` 目前部分算法采用子模块形式,需执行以下命令: ``` cd siril git submodule sync --recursive git submodule update --init --recursive ``` ## GNU/Linux系统构建指南 现采用meson构建系统,较autotools更快速现代。 但meson构建仍处于实验阶段,欢迎提交错误报告。 执行以下命令进行构建: ``` meson --buildtype release _build ninja -C _build sudo ninja -C _build install ``` 更新SIRIL时执行: ``` git pull --recurse-submodules sudo ninja -C _build install ``` 请注意,Debian系统维护有SIRIL稳定版二进制包。 Ubuntu和Linux Mint用户可使用SIRIL作者维护的PPA软件源: **ppa:lock042/siril**。 其他可用软件包请查阅当前版本的[下载页面](https://free-astro.org/index.php?title=Siril:releases)。 ## macOS系统构建指南 官网提供[dmg安装包](https://www.siril.org/download/), 也可通过Homebrew从源码安装: ``` brew install siril ``` ## Microsoft Windows系统说明 SIRIL自0.9.8版起支持Windows系统,提供两种格式二进制文件: * 安装程序 * 压缩包(ZIP文件) 也可通过MSYS2自行从源码构建,具体说明见[此处](https://free-astro.org/index.php?title=Siril:install#Installing_on_Windows)。 ## SIRIL翻译指南 翻译系统基于GTK+软件通用的[intltool](https://www.freedesktop.org/wiki/Software/intltool/), 配合[poedit](https://poedit.net/)编辑器使用。 获取SIRIL源码后,在siril目录运行 **meson**(如未执行),然后运行: ``` ninja siril-pot -C _build ``` 安装poedit并打开po目录下的 **siril.pot** 文件开始新翻译。 逐项翻译英文内容。完成后或需暂停时, 将生成的.po文件发送给我们,后续版本源码与安装包将包含该翻译。 如需翻译现有语言版本,运行: ``` ninja siril-update-po -C _build ``` 更新po文件并使用poedit编辑。 ## SIRIL FITS图像格式说明 [灵活图像传输系统(FITS)](https://en.wikipedia.org/wiki/FITS)是一种开放标准, 定义了用于科学及其他图像存储、传输与处理的数字文件格式。 FITS是天文学中最常用的数字文件格式。 由于FITS是容器格式且未规定数据顺序与尺寸,有必要在特定场景下统一规范。 当前SIRIL使用每通道32位浮点值(TFLOAT),图像按通道顺序从下到上、从左到右存储。 所有通过SIRIL导入、转换或导出的文件均采用此FITS格式, 序列文件(如SER与影片)除外——此类文件从原始格式读取并实时转换。 建议将影片转换为SER格式再进行处理,因其不支持多数并行操作。 ## 图像序列文件说明 相比通用影片容器,SIRIL强烈推荐使用SER序列——后者不适合天文数据且不同播放器读取方式可能不同。 SIRIL可将FFMS2支持的所有影片格式(涵盖绝大多数FFmpeg格式)转换为SER,甚至支持任意图像序列转SER。 SIRIL兼容SER v3格式,详见[此页面](https://free-astro.org/index.php/SER)。 ## 实用链接 * [项目主页](https://www.siril.org) * [文档](https://free-astro.org/siril_doc-en) * [论坛](https://discuss.pixls.us/c/software/siril) * [版本发布与下载](https://free-astro.org/index.php?title=Siril:releases) * [报告问题](https://gitlab.com/free-astro/siril/issues) * [支持命令列表](https://free-astro.org/index.php?title=Siril:Commands)
标签:C++ 开发, FFT 傅里叶变换, FITS 文件处理, GauPlus, GSL 科学计算, GTK+ 界面, GUI 工具, OpenCV 库, 信号增强, 单位测试, 噪声抑制, 图像元数据管理, 图像增强, 图像处理, 图像对齐, 图像算法, 堆叠, 多格式支持, 天文图像处理, 天文学, 天文学软件, 客户端加密, 文件格式转换, 科学计算, 网络交互