Skip to content

v0.5.0

Choose a tag to compare

@DDSmalls DDSmalls released this 26 Apr 20:58
· 195 commits to main since this release

Highlights

New grdl.contrast module — multi-modal display contrast

Full port of sarpy.visualization.remap plus generic stretches across SAR / EO / MSI / PAN / HSI:

  • SAR (sarpy ports): MangisDensity, Brighter, Darker, HighContrast, GDM, PEDF, NRLStretch, LogStretch, ToDecibels
  • Generic: LinearStretch, PercentileStretch, GammaCorrection, SigmoidStretch, HistogramEqualization, CLAHE
  • auto_select(metadata) picks a sane operator from reader metadata (SAR → Brighter, EO NITF → gamma, MSI → percentile)
  • All operators are ImageTransform subclasses with @processor_version / @processor_tags metadata for runtime discovery

Install with: pip install grdl[contrast]

New orthorectify_point_roi() helper

Single-call flat-plane ENU ortho centered on a lat/lon or pixel point — works across every GRDL modality. Returns a PointRoiResult with the ortho data, the source chip, and chip bounds.

Lanczos-3 interpolation in Orthorectifier

Adds interpolation='lanczos' (maps to numba backend order 5) — useful when the output pixel size is much finer or coarser than the source resolution.

SIDD support in compute_output_resolution

Auto-detection now resolves native pixel spacing from SIDD metadata (measurement.plane_projection, cylindrical_projection, exploitation features, or geographic_projection).

Elevation refactor

open_elevation / _build_elevation_model now correctly fall back to ConstantElevation when a DEM directory contains no usable tiles (was silently producing empty DTEDElevation).

Expanded SIDD reader and metadata coverage

Additional SIDD parsing, stacked typed metadata, and tiled GeoTIFF DEM enhancements.

Examples

New grdl/example/ortho/point_roi_ortho.py + YAML config demonstrating point-ROI ortho with auto-selected display contrast.

Test surface

2,212 tests passing; +280 new tests for contrast module and point-ROI ortho.

🤖 Generated with Claude Code