$ show Steffenhir/GraXpert
GraXpert is a desktop application (with CLI support) for astronomical image processing, specifically for removing background gradients from astrophotos. It provides multiple interpolation methods (RBF, Splines, Kriging) that require manual selection of background sample points, as well as an AI-based method that automatically extracts the background using ONNX Runtime models. The application also includes AI-powered denoising and deconvolution (object-only and stars-only) features. The architecture is a monolithic Python application using customtkinter for the GUI, with multiprocessing for parallel interpolation and onnxruntime for AI inference. It supports common astronomical image formats (FITS, XISF, TIFF) and includes a command-line interface for batch processing. The codebase is well-structured with design patterns (command, repository, event bus), localization, and CI/CD pipelines for cross-platform builds.
The LLM identified 3 files worth highlighting for reuse:
A self-contained implementation of augmented Radial Basis Function interpolation with polynomial augmentation. Supports multiple kernels (gaussian, multiquadric, thin_plate, etc.) and includes a Vandermonde matrix builder for polynomial terms. The class is well-documented, depends only on numpy and scipy, and can be extracted and reused in any project requiring scattered data interpolation.
Implements the SKYALL algorithm for finding the mode of a distribution, as described in the 1993 MNRAS paper. It uses iterative histogram binning and quadratic fitting to estimate the mode robustly. This is a self-contained utility function that can be reused in any statistical analysis context, particularly for background estimation in astronomical images.
A clean implementation of the Command design pattern for managing background point selections with undo/redo support. Defines abstract handler interfaces and concrete commands (AddPoint, RemovePoint, MovePoint, SelectPoints, ResetPoints). The pattern is generic and could be extracted for any application requiring reversible operations on a state object.