mirror of
https://github.com/smittix/intercept.git
synced 2026-04-25 07:10:00 -07:00
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>
34 lines
780 B
Python
34 lines
780 B
Python
"""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',
|
|
]
|