grabbit 6910a247b6 feat: implement Vida meteor detection algorithm
Implement the Vida detection algorithm for meteor and fireball detection
based on the RMS/CMN paper. Key features:

- Frame accumulator: 256-frame FTP compression (maxpixel, avepixel, stdpixel, maxframe)
- Meteor detector: K1=1.5 threshold, Hough transform, temporal propagation verification
- Fireball detector: K1=4 threshold, 3D point cloud analysis for very bright meteors
- Binary image downsampling with OR operation to preserve trajectory connectivity
- Star extraction for astrometric calibration
- FTPdetect format output for interoperability with RMS tools
- test-vida CLI command for testing detection on video files

Performance optimizations:
- Binary image downsampling instead of FTP downsampling (fixes false positives)
- Inline centroid calculation with bounding box scan
- ~100ms/block processing time (down from 377ms)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-07 00:02:16 +08:00

37 lines
1.1 KiB
Rust

//! Vida Meteor Detection Algorithm Implementation
//!
//! Based on the paper: "Open-source meteor detection software for low-cost single-board computers"
//! by Vida et al., 2016
//!
//! This module implements the CAMS FTP compression format and detection algorithms:
//! - Frame accumulation (256 frames → maxpixel, avepixel, stdpixel, maxframe)
//! - Star extraction for sky quality assessment
//! - Fireball detection (real-time, K1=4 threshold)
//! - Meteor detection (offline, morphological processing + Hough transform)
//! - Astrometric and photometric calibration
//! - CAMS FTPdetectinfo output format
pub mod accumulated_frame;
pub mod config;
pub mod frame_accumulator;
pub mod morphology;
pub mod line_detector;
pub mod fireball_detector;
pub mod meteor_detector;
pub mod star_extractor;
pub mod ftpdetect;
pub mod calibration;
pub mod controller;
pub use accumulated_frame::*;
pub use config::*;
pub use frame_accumulator::*;
pub use morphology::*;
pub use line_detector::*;
pub use fireball_detector::*;
pub use meteor_detector::*;
pub use star_extractor::*;
pub use ftpdetect::*;
pub use calibration::*;
pub use controller::*;