Skip to content

Sensor Pairs

Module: spectralbridge.sensor_pairs.

Shared wavelength-matched synthetic sensor-pair definitions.

API glossary ยท Workflow / scientific context

Signatures and documentation below are collected from the current source. Advanced objects are not newly declared stable by inclusion here.

Audience: advanced.

SensorBandIdentity dataclass

SensorBandIdentity(sensor: str, band_index: int, spectral_identity: str, wavelength_nm: float, fwhm_nm: float)

Physical identity for one one-based sensor band.

Audience: advanced.

sensor_band_identity

sensor_band_identity(sensor: str, band_index: int) -> SensorBandIdentity | None

Return packaged physical metadata, or None for a custom sensor.

Audience: advanced.

wavelength_matched_band_pairs

wavelength_matched_band_pairs(source_sensor: str, target_sensor: str) -> tuple[tuple[int, int], ...]

Pair shared spectral identities using packaged wavelength definitions.

Band numbers are local to a sensor. For example, Landsat 5 TM blue band 1 corresponds to Landsat 8 OLI blue band 2 because OLI adds coastal aerosol as band 1. Matches also require the packaged source and target passbands to overlap, protecting the named identity table from inconsistent metadata.

Explicitly exported constants and type aliases

These values describe package metadata, schemas or configuration; they are not observations from a production dataset.

Name Source expression
MICASENSE_LANDSAT_PAIRS {'MicaSense_to-match_TM_and_ETM+': ('Landsat_5_TM', 'Landsat_7_ETM+'), 'MicaSense_to-match_OLI_and_OLI-2': ('Landsat_8_OLI', 'Landsat_9_OLI-2')}
SPECTRAL_IDENTITY_ORDER ('coastal aerosol', 'blue', 'green', 'red', 'near infrared', 'shortwave infrared 1', 'shortwave infrared 2')
SYNTHETIC_REGRESSION_EVIDENCE_BOUNDARY 'Both axes are synthetic products convolved from the same corrected NEON source. Coefficients are descriptive diagnostics, not empirical sensor calibration.'