Releases: jarmak-personal/vibeSpatial-Raster
Releases · jarmak-personal/vibeSpatial-Raster
v0.1.7
- Enhance integer dtype handling: promote narrow integers to float32 and wide integers to float64 for GPU and CPU operations. Add tests for integer binary operations to verify compute-dtype dispatch.
- Fix compute-dtype selection for integer rasters and use native dtypes in benchmarks
- Add streamed windowed IO for tile-by-tile file processing (vibeSpatial-fx3.6)
- Add multi-pass tiling for CCL and distance transform (vibeSpatial-fx3.5)
- Add accumulator map-reduce tiling for histogram/zonal ops (vibeSpatial-fx3.4)
- Add halo-aware tiling for stencil/focal operations (vibeSpatial-fx3.3)
- Add tiling execution engine for pointwise operations (vibeSpatial-fx3.2)
- Add RasterPlan analyzer for VRAM-aware spatial tiling (vibeSpatial-fx3.1)
- Make Tier B OOM-safe pool the default and fix D→H memory init path
- Add tiered RMM memory pool manager (ADR-0040) to fix shared-GPU OOM
- Fused NVRTC binary kernel replacing 7-kernel CuPy chain + multiband dispatch
- Fix raster_apply() auto-dispatch: set threshold=0 for user-provided functions
- Fix stale tests for multiband morphology dispatch and expression shape mismatch
- Phase 4: Comprehensive multiband test suite
- Add spectral index convenience functions (raster_ndvi, raster_band_ratio, raster_band_math)
- Expression engine band indexing parser
- Add band-fused expression kernel template
- Multiband zonal stats dispatch and CPU fallbacks for algebra operations
- Multiband dispatch for distance transform, hydrology, and histogram
- Multiband dispatch for CCL and morphology operations
- Multiband dispatch for resampling operations
- Multiband dispatch for focal and terrain operations (vibeSpatial-2to.3.1)
- Add band dispatch executors for per-band GPU and CPU processing
- Phase 1 band dispatch infrastructure: VRAM budget and OwnedRasterArray band methods
- Emit warnings on silent multiband squeeze in focal/algebra/label/hydrology
- Add band selection parameter to polygonize
- Add multiband validation guard to zonal stats
- Add multiband validation guard to histogram functions
v0.1.6
- Add Python engineer agent
- Complete BUG_SWEEP: device residency, zonal tests, test fixes, tolerance tightening
- Fix four bugs from sweep: pad_value collision, implicit syncs, host-side XOR, non-atomic writes
- Fix four dispatch/overflow/ping-pong bugs from parallel worktree sweep
- Fix Gaussian filter sigma<=0 causing division by zero and NaN kernel weights
- Fix focal std ddof inconsistency: align to population std (ddof=0)
- Fix GPU terrain kernel boundary handling: use edge replication instead of 0-fill
- Fix raster_divide double-applied nodata masking (Bug #10)
- Fix hydrology convergence returning unconverged results silently (Bug #9)
- Fix histogram equalize nodata information loss for non-uint8 (Bug #8)
- Fix CPU histogram equalize NaN nodata filtering (Bug #7)
- Fix focal stats crash on multi-band rasters (Bug #6: 3D nodata_mask vs 2D data)
- Fix terrain derivative nodata metadata mismatch (Bug #5)
- Fix histogram equalize kernel parameter type mismatch (Bug Sweep #4)
- Fix _ensure_host_state silently ignoring CuPy import failure with device data
- Fix nodata_mask reading stale host data on device-resident rasters
- Fix resample kernel parameter type mismatch for float32/int16/uint8 with nodata
- Add sphinx-autoapi for auto-generated API reference docs
- Fix review findings: eliminate D→H→D ping-pongs, remove implicit syncs, update docs
- Fix distance transform D→H→D ping-pong: use device residency APIs
- Fix terrain derivative GPU function: add missing return and diagnostics
- Merge branch 'worktree-agent-af380a3a'
- Merge branch 'worktree-agent-a43e064f'
- Merge branch 'worktree-agent-acbb2b3f'
- Merge branch 'worktree-agent-ae031f8c'
- Merge branch 'worktree-agent-a3c42e5f'
- Merge branch 'worktree-agent-a30f0bde'
- Merge branch 'worktree-agent-a003b8df'
- Merge branch 'worktree-agent-a450f50c'
- Merge branch 'worktree-agent-a7362140'
- Merge branch 'worktree-agent-a3046107'
- Add GPU sink/depression fill for DEM conditioning
- Add GPU histogram, CDF, equalization, and percentile operations
- Add GPU resampling/warp with nearest, bilinear, and bicubic kernels
- Add GPU Euclidean distance transform via Jump Flooding Algorithm
- Add fused element-wise algebra via runtime NVRTC expression compilation
- Add GPU focal statistics: min/max/mean/std/range/variety kernels
- Add GPU terrain derivatives: TRI, TPI, and curvature kernels
- Add GPU hillshade kernel fusing Horn-method slope/aspect with illumination
- Add arbitrary NxN structuring elements for GPU morphology
- Add GPU sieve filter kernel for zero-copy CCL pipeline
- Add benchmarking script for vibespatial.raster operations
- Deep CUDA optimization pass across all GPU kernels and dispatch paths
- Add Claude Code skill, agent, and hook infrastructure
- Fix all pre-existing test failures and cap Python version
v0.1.5
- Fix 12 bugs found during deep codebase audit
v0.1.4
- Merge PyPI publish into release workflow to fix GITHUB_TOKEN trigger issue
v0.1.3
- Generate release notes from commit subjects instead of GitHub auto-notes
- Add AGENTS.md for AI agent onboarding
- Add NVRTC disk cache re-exports and tests
- Add pre-commit hooks with ruff lint/format and zero-copy compliance checks
- Add cuda-python and cuda-cccl to cu12/cu13 extras
- Add cu12/cu13 optional dependency extras
- Add automated release workflow
v0.1.2
Full Changelog: v0.1.1...v0.1.2
Release v0.1.1
Metadata updates for pypi and docs
Release v0.1.0
vibespatial-raster
GPU-first raster processing for vibeSpatial. Custom NVRTC kernels and CCCL primitives for every operation — algebra, focal, zonal stats, labeling, rasterize, polygonize — with CPU fallbacks via scipy and rasterio.
Operations
| Category | Operations | GPU Backend |
|---|---|---|
| IO | GeoTIFF, COG, JPEG2000 read/write | nvImageCodec (zero-copy decode to device) |
| Algebra | add, subtract, multiply, divide, apply, where, classify | CuPy element-wise |
| Focal | convolution, Gaussian filter, slope, aspect | NVRTC shared-memory stencil kernels |
| Zonal | count, sum, mean, min, max, std, median | CCCL segmented reduce |
| Rasterize | vector-to-raster (point-in-polygon) | NVRTC per-pixel PIP kernel |
| Label | connected components (4/8 connectivity) | NVRTC union-find |
| Morphology | erode, dilate, open, close, sieve | NVRTC tiled kernels |
| Polygonize | raster-to-vector (marching squares) | NVRTC classify + emit edges |