Skip to content

Releases: jarmak-personal/vibeSpatial-Raster

v0.1.7

01 Apr 01:41

Choose a tag to compare

  • 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

24 Mar 18:06

Choose a tag to compare

  • 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

19 Mar 16:40

Choose a tag to compare

  • Fix 12 bugs found during deep codebase audit

v0.1.4

18 Mar 20:47

Choose a tag to compare

  • Merge PyPI publish into release workflow to fix GITHUB_TOKEN trigger issue

v0.1.3

18 Mar 20:32

Choose a tag to compare

  • 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

17 Mar 17:38

Choose a tag to compare

Full Changelog: v0.1.1...v0.1.2

Release v0.1.1

17 Mar 13:17

Choose a tag to compare

Metadata updates for pypi and docs

Release v0.1.0

17 Mar 07:13

Choose a tag to compare

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