On-Board Analysis
LeoDOS includes a library of on-board data analysis algorithms for processing earth observation imagery directly on the satellite. These algorithms are designed to run on resource-constrained platforms (no GPU, no heap allocation, no_std Rust) and produce compact results that can be downlinked instead of raw imagery.
Algorithm Overview
Processing Pipeline
On-board processing follows a standard flow:
- Cloud masking — reject cloud-contaminated pixels before analysis
- Spectral index — compute the relevant index (NDVI for vegetation, NBR for fire damage, etc.)
- Threshold / detection — classify pixels or detect anomalies
- Geolocation — convert pixel coordinates to lat/lon
- Downlink — send compact results (hotspot list, mask, statistics) instead of raw image
This pipeline runs in the SpaceCoMP map phase: each satellite processes its own swath independently, producing compact results that are aggregated in the reduce phase.
Origin of Algorithms
All algorithms in leodos-analysis are based on published remote sensing literature. None are novel — the value is in having them available as lightweight, embedded-ready Rust implementations.
| Algorithm | Reference | Notes |
|---|---|---|
| NDVI | Rouse et al. (1974) | Exact formula |
| NDWI | McFeeters (1996) | Exact formula |
| NBR / dNBR | Key & Benson (2006) | Exact formula |
| EVI | Huete et al. (2002), MODIS | Exact formula with published coefficients |
| SAVI | Huete (1988) | Exact formula |
| Fire detection | Giglio et al. (2016), MODIS Collection 6.1 | Simplified: uses 4 of ~12 tests from the full algorithm |
| FRP estimate | Wooster et al. (2003) | Simplified: uses BT proxy instead of MIR radiance |
| Cloud mask | Zhu & Woodcock (2012), Fmask | Simplified: 7 tests from the full cascade; no cloud shadow detection |
| HOT | Zhang et al. (2002) | Exact formula |
| NDSI snow | Hall et al. (1995), MODIS | Exact formula with SWIR1 refinement |
| Haversine | Standard geodesy | Exact formula |
| GSD | Standard optics | Exact formula |
What is simplified
The fire detection and cloud masking algorithms are subsets of their full published versions:
- MODIS fire — the full algorithm has ~12 tests including sun glint rejection, desert false alarm suppression, and coastal pixel handling. We implement the 4 core tests (absolute MIR, split-window, contextual MIR anomaly, contextual split-window anomaly).
- Fmask cloud — the full algorithm includes cloud shadow detection, temporal consistency, and object-based refinement. We implement the per-pixel spectral tests only (cirrus, NDSI snow, thermal, brightness, whiteness, HOT, NDVI).
These simplifications are appropriate for on-board processing where computational resources are limited and the goal is fast screening rather than science-grade classification.