关于
本工具包基于天文数据处理软件包 fitsh (v0.9.4) 的核心 C 算法,通过 Emscripten 6.0.4 编译为 WebAssembly,实现在浏览器端直接进行天文图像和星表处理。hotpants 提供图像差分功能。
处理流程
| 步骤 | 模块 | 说明 |
|---|---|---|
| 1 | SEP | 源提取与测光 — 背景估计、Lutz 连通域检测、孔径 / Kron / Win 全套测光链 |
| — | fistar 备选 | 星源检测 — gauss / elliptic / deviated 模型 + PSF 拟合(替代 SEP Extract) |
| 2 | fiphot | 孔径测光 — 单/多孔径测光,背景拟合,差分测光 |
| 3 | grmatch | 星表匹配 — 三角匹配 / 坐标匹配 / ID 匹配,输出多项式变换 |
| 4 | fitrans | 图像变换 — 6 种插值模式的图像重采样与几何变换 |
| 5 | ficombine | 图像合并 — 多图堆叠 (mean / median / rej / truncated / winsorized) |
| 6 | ficonv | 卷积核拟合 — DIA 差分图像分析,多核高斯拟合 |
| 7 | hotpants | 图像相减 — 参考图像与科学图像差分 |
| — | gropt | 光学设计 — 光线追踪 / 散点图 / PSF |
开发路线图
以下 Astromatic 模块正在规划中,预计逐步加入本工具包:
| 模块 | 定位 | 工时 | 核心依赖 | 状态 |
|---|---|---|---|---|
| SWarp | 图像拼接与投影重采样 | ~4.5天 | FFTW 可选,体积小 | 规划中 |
| SkyMaker | 天文图像模拟生成 | ~9天 | FFTW3 | 规划中 |
| astrometry.net | 盲天体测量求解 | ~14-18天 | 零外部依赖 | 规划中 |
| PSFEx | PSF 建模 | ~15天 | FFTW + LAPACK | 规划中 |
| SCAMP | 天体测量与光度校准 | ~20天 | FFTW + LAPACK + cURL | 规划中 |
| Montage | 大图像拼接引擎 | ~2-3月 | cfitsio + wcslib | 规划中 |
| HEALPix C | 球面像素化基础库 | <1天 | 零依赖 | 规划中 |
| WCSTools | WCS 坐标变换 | <1天 | 零依赖(层1) | 规划中 |
顺序:先从零依赖 / FFTW 可选的小模块入手(SWarp / SkyMaker),逐步攻克大模块。所有模块沿用已验证的 Emscripten + Worker + JS9 架构,复用 cfitsio 统一 FITS 读写。
所有模块均为纯前端运算,图像数据不离开浏览器。WASM 编译链如下:fitsh C 源码 → Emscripten emcc → WASM 模块 → Web Worker 中调用 → postMessage 返回结果 → JS9 显示。
FITS 文件读写使用统一的 cfitsio wrapper (cfitsio/)。JS9 提供天文图像交互式显示与 colormap 调整。