The research behind Skyora.
A mathematics-based astrophotography image enhancement method for low-end devices and embedded camera systems.
Image enhancement does not always require machine learning.
Skyora presents a deterministic, mathematics-based approach to astrophotography enhancement, targeted specifically at low-end devices and embedded camera systems where cloud connectivity and large model inference are impractical or unavailable.
The method combines astronomical ephemeris computation with classical computer-vision techniques — grayscale thresholding, morphological operations, contour scoring, and template-based compositing — to detect the lunar disc, determine its phase, and enhance the captured image without relying on a trained neural network.
The resulting pipeline runs fully offline and is designed to be computationally lightweight relative to comparable machine-learning-based approaches, while remaining transparent and reproducible in its calculations.
How the pipeline is constructed.
Expand each module for the techniques used at that stage.
Derives lunar parameters for the exact moment and location of capture, used to select and orient the correct phase template.
- Datetime of capture
- Geographic coordinates
- Lunar illumination
- Lunar age
- Altitude
- Azimuth
- Computed via PyEphem
Locates the lunar disc within the captured frame using classical computer-vision operations.
- Grayscale conversion
- Gaussian blur
- Thresholding
- Morphological operations
- Contour extraction
- Contour scoring
- Enclosing circle fitting
Illumination and lunar age computed in the ephemeris stage determine which reference template most closely matches the Moon's current phase, so the composited result is astronomically consistent with the time and location of capture.
Adapts and integrates the selected template into the original scene so the result reads as a coherent photograph rather than a composite.
- Template scaling
- Orientation matching
- Alpha masking
- Edge feathering
- Color adaptation
- Poisson blending
- Alpha compositing fallback
Final denoising pass applied to the composited output.
- Bilateral filtering
- Gaussian smoothing
Observed benchmark results.
Reported / observed results from the paper's test conditions. These are not universal performance guarantees.
Time bars are scaled for relative visual comparison, not a shared linear axis — see the paper for exact values.
The paper reports comparisons involving CPU, RAM and VRAM usage between Skyora and the machine-learning-based alternatives above. See the full paper for detailed figures and test conditions.
Scientific comparisons are only meaningful when the test conditions, hardware, dataset, metrics, and procedure are clearly defined. These figures are reported as observed under the conditions described in the published paper. Refer to the full paper for complete methodology, hardware specification, and dataset details before drawing conclusions from these numbers.
Where Skyora still struggles.
Overlapping objects such as branches can interfere with lunar placement.
Dense or unusual cloud conditions may produce edge cases in detection.
Incorrect timestamp or location metadata affects astronomical calculations.
Manual metadata entry can mitigate missing capture data.
The system is intended for amateur / low-cost astrophotography rather than professional scientific imaging.
Template-based lunar enhancement is an image-processing / compositing technique, rather than physical recovery of information the sensor never captured.
Where it goes next.
Possible future directions. None of the following are implemented yet.
Improved handling of overlapping objects
Adaptive blending
Broader celestial-object support
Planetary enhancement
Star-cluster processing
Optional real-time camera processing
Sources behind the method.
The references used across Skyora's research, implementation, and visual materials.
- Bradski, G., & Kaehler, A. (2008). Learning OpenCV: Computer Vision with the OpenCV Library. O'Reilly Media.
- Harris, C.R., et al. (2020). Array programming with NumPy. Nature 585, 357–362.
- Clark, A., et al. (2022). Pillow (PIL Fork) Documentation. Python Imaging Library.
- Exifying Authors. (2025). ExifRead — Read EXIF metadata from images in Python.
- Rhodes, B. (2025). PyEphem: Scientific Astronomy Library for Python. Available at: rhodesmill.org/pyephem.
- Hunter, J.D. (2007). Matplotlib: A 2D graphics environment. Computing in Science & Engineering.
- Duda, R.O. & Hart, P.E. (1972). Use of the Hough Transformation to Detect Lines and Curves in Pictures. Communications of the ACM.
- NASA Goddard Space Flight Center. (2025). Moon Phase and Libration Visualization. Public domain images and data provided by NASA.