Skip to main content

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

Thermal / Fire Detection
Published algorithm (exact formula)
Adapted (simplified from reference)

Processing Pipeline

On-board processing follows a standard flow:

  1. Cloud masking — reject cloud-contaminated pixels before analysis
  2. Spectral index — compute the relevant index (NDVI for vegetation, NBR for fire damage, etc.)
  3. Threshold / detection — classify pixels or detect anomalies
  4. Geolocation — convert pixel coordinates to lat/lon
  5. 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.

AlgorithmReferenceNotes
NDVIRouse et al. (1974)Exact formula
NDWIMcFeeters (1996)Exact formula
NBR / dNBRKey & Benson (2006)Exact formula
EVIHuete et al. (2002), MODISExact formula with published coefficients
SAVIHuete (1988)Exact formula
Fire detectionGiglio et al. (2016), MODIS Collection 6.1Simplified: uses 4 of ~12 tests from the full algorithm
FRP estimateWooster et al. (2003)Simplified: uses BT proxy instead of MIR radiance
Cloud maskZhu & Woodcock (2012), FmaskSimplified: 7 tests from the full cascade; no cloud shadow detection
HOTZhang et al. (2002)Exact formula
NDSI snowHall et al. (1995), MODISExact formula with SWIR1 refinement
HaversineStandard geodesyExact formula
GSDStandard opticsExact 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.