Repository navigation
v0.5.0
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
ImageTransformsubclasses with@processor_version/@processor_tagsmetadata 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