Low-footprint, non-AI star detection and capture-setting recommendations for live monochrome astronomy frames. The module is designed for Raspberry Pi 5 use and keeps camera and mount control outside the analysis boundary.
python -m pip install git+https://github.com/tschoenfelder/SmartTScopeLiveAnalysis.gitOnly NumPy is required at runtime.
from smarttscope_live_analysis import analyze_camera_frame
state = None
def process_frame(frame, camera_settings):
global state
findings = analyze_camera_frame(
camera_settings,
frame,
previous_star_state=state,
)
state = findings["state"]
return findingsframe must be the native two-dimensional NumPy array supplied by the camera
adapter. Do not normalize or scale it first. camera_settings may contain
exposure_s, gain, offset, bit_depth, binning, raw_mode, and
conversion-gain information.
The result contains single-frame detections, temporal classifications, first-to-last movement, conservative exposure/gain/offset recommendations, and the bounded rolling state to pass to the next call.
See the integration guide for lifecycle, threading, and ToupTek adapter guidance.
- No direct ToupTek SDK dependency
- No direct OnStep connection
- No FITS dependency in the runtime package
- No AI, plate solving, or network service
SmartTScope should obtain frames through its ToupTek Python adapter and pass the resulting arrays into this module. Any mount operation remains the responsibility of the OnStepAdapter library.
python -m pip install -e . -r requirements-dev.txt
python -m pytest
python -m build