mirror of
https://github.com/smittix/intercept.git
synced 2026-04-24 06:40:00 -07:00
Replace broken slowrx dependency with pure Python SSTV decoder
slowrx is a GTK GUI app that doesn't support CLI usage, so the SSTV decoder was silently failing. This replaces it with a pure Python implementation using numpy and Pillow that supports Robot36/72, Martin1/2, Scottie1/2, and PD120/180 modes via VIS header auto-detection. Key implementation details: - Generalized Goertzel (DTFT) for exact-frequency tone detection - Vectorized batch Goertzel for real-time pixel decoding performance - Overlapping analysis windows for short-window frequency estimation - VIS header detection state machine with parity validation - Per-line sync re-synchronization for drift tolerance Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
33
utils/sstv/__init__.py
Normal file
33
utils/sstv/__init__.py
Normal file
@@ -0,0 +1,33 @@
|
||||
"""SSTV (Slow-Scan Television) decoder package.
|
||||
|
||||
Pure Python SSTV decoder using Goertzel-based DSP for VIS header detection
|
||||
and scanline-by-scanline image decoding. Supports Robot36/72, Martin1/2,
|
||||
Scottie1/2, and PD120/180 modes.
|
||||
|
||||
Replaces the external slowrx dependency with numpy/scipy + Pillow.
|
||||
"""
|
||||
|
||||
from .constants import ISS_SSTV_FREQ, SSTV_MODES
|
||||
from .sstv_decoder import (
|
||||
DecodeProgress,
|
||||
DopplerInfo,
|
||||
DopplerTracker,
|
||||
SSTVDecoder,
|
||||
SSTVImage,
|
||||
get_general_sstv_decoder,
|
||||
get_sstv_decoder,
|
||||
is_sstv_available,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
'DecodeProgress',
|
||||
'DopplerInfo',
|
||||
'DopplerTracker',
|
||||
'ISS_SSTV_FREQ',
|
||||
'SSTV_MODES',
|
||||
'SSTVDecoder',
|
||||
'SSTVImage',
|
||||
'get_general_sstv_decoder',
|
||||
'get_sstv_decoder',
|
||||
'is_sstv_available',
|
||||
]
|
||||
Reference in New Issue
Block a user