gppy-gpu v1.0.0 — GPU-Accelerated Imaging Pipeline for 7DT/7DS
This release provides a production-grade, unattended pipeline for the 7-Day Transient program: directory watching → calibration → astrometry (SCAMP) → stacking → PSF matching & subtraction (HOTPANTS) → transient detection & photometry → product curation → Slack notifications. GPU offload via CuPy is supported; CPU-only fallback remains available.
✨ Highlights
- End-to-end automation from folder watch to curated outputs under a reproducible directory structure.
- Astrometry: Source Extractor (pre-catalog) → SCAMP → MissFITS header application.
- Stacking with effective EGAIN/provenance recorded in headers.
- PSF matching & subtraction via HOTPANTS with tiled kernels and mask propagation.
- Photometry & diagnostics for single and stacked frames (
*.cat,*.reg, PNG summaries). - Slack start/finish/failure notifications.
- Optional GPU acceleration using CuPy (CUDA).
Entrypoints:
run/routine/gpwatch_7DT_gain2750.py(watcher),run/routine/7DT_Routine_1x1_gain2750.py(main).
⚙️ Install / Upgrade
External binaries (on PATH)
- Source Extractor (
sexorsource-extractor) - SCAMP and MissFITS
- HOTPANTS
- imhead (e.g., from
wcstools) - (Optional) SAOImage DS9
Python
mamba create -n gppy-gpu python=3.11 -y
mamba activate gppy-gpu
pip install -r requirements.txt
# (Optional GPU)
# pip install cupy-cuda12x # match your CUDAMinimal config
Create/edit run/routine/path.json:
{
"path_base": "/large_data/factory",
"path_obsdata": "",
"path_processed": "",
"path_refcat": "",
"path_ref_scamp": "",
"path_log": ""
}Leave empty strings to use defaults (see README).
Credentials: put tokens in config/keys.dat (do not commit) and add /config/keys.dat to .gitignore.
🚀 Quick Start
One-off processing
cd run/routine
python 7DT_Routine_1x1_gain2750.py 7DT07 /large_data/obsdata/7DT07/2024-04-23_gain2750Continuous watch
cd run/routine
python gpwatch_7DT_gain2750.py 7DT07
# or run multiple sites via:
bash run/routine/gppy_tmux.sh🧩 Compatibility & Known Issues
- Python: ≥3.10 (3.11 recommended)
- CUDA/CuPy: optional; install
cupybuild matching your CUDA. - OS: Linux recommended for full toolchain; macOS supported (CPU-only).
- Known: transient detection module naming may change; ensure external binaries are on
PATH.
If HOTPANTS subtraction is poor:
- Relax
-tl/-tu, adjust tiling (-nrx/-nry), verify masks are 0/1, confirm photometric scale consistency.
📚 Cite & Acknowledge
If you use gppy-gpu in a publication, please cite the tools (Source Extractor, SCAMP/MissFITS, HOTPANTS, wcstools) and acknowledge this repository (tag/commit). Consider adding a CITATION.cff file for GitHub’s “Cite this repository” button.
Project website: http://7ds.snu.ac.kr/
🆘 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Maintainer: Gregory S. H. Paek (
gregorypaek94 [at] gmail [dot] com)