Repository navigation
spectral-library 0.3.0
spectral-library 0.3.0
Released 2026-04-04.
Highlights
- Rust-accelerated batch mapping via a PyO3/Rayon native extension for
spectrum reconstruction, target-sensor projection, segment merging, and
neighbor refinement - LinearSpectralMapper for fixed
input @ weights + biashigh-throughput
mapping without per-sample KNN retrieval - Dense batch vectorization across the full segment retrieval, reconstruction,
and projection pipeline - Cross-platform compiled wheels (Linux x86_64/aarch64, macOS x86_64/arm64,
Windows AMD64) built via cibuildwheel
What Changed
New Public API
| Symbol | Purpose |
|---|---|
LinearSpectralMapper |
Compiled linear mapper for million-pixel throughput |
BatchMappingArrayResult |
Dense result type for array-oriented batch mapping |
SpectralMapper.compile_linear_mapper() |
Compile a prepared runtime into a reusable linear mapper |
SpectralMapper.map_reflectance_debug() |
Single-sample mapping with full diagnostic payload |
SpectralMapper.map_reflectance_batch_debug() |
Batch mapping returning rich MappingResult objects |
SpectralMapper.map_reflectance_batch_arrays() |
Explicit dense batch path returning BatchMappingArrayResult |
SpectralMapper.map_reflectance_batch_ndarray() |
Direct ndarray input batch mapping |
SpectralMapper.map_reflectance_batch_to_zarr() |
Stream large batch results to Zarr stores |
Slim vs Debug Paths
map_reflectance() and map_reflectance_batch() now default to slim result
paths that skip neighbor ids, per-segment diagnostics, and review payloads.
Use the _debug() variants when you need the full payload.
CLI Additions
--output-format zarrand--output-chunk-sizeflags for streaming batch output
Build and Distribution
- Wheels now include a compiled Rust extension for all major platforms
cibuildwheelbuilds in the release workflow replace pure-Python wheel builds- Package checks CI installs the Rust toolchain for editable-install tests
Full Changelog
See CHANGELOG.md
for the complete list of additions, changes, and fixes.