Feature/tile overlap - #1266
Draft
jdroenner wants to merge 9 commits into
Draft
Conversation
jdroenner
changed the base branch from
feature/tile-types
to
feature/retile-and-dataset-origins
August 31, 2026 18:13
jdroenner
force-pushed
the
feature/retile-and-dataset-origins
branch
from
August 31, 2026 23:54
b415d95 to
d102026
Compare
jdroenner
force-pushed
the
feature/tile-overlap
branch
from
August 31, 2026 23:54
430d0fe to
eb4badb
Compare
jdroenner
force-pushed
the
feature/retile-and-dataset-origins
branch
from
September 1, 2026 07:52
d102026 to
4f24239
Compare
SpatialGridDescriptor carries the tile overlap halo (serde default = zero). Merging requires equal overlaps; mapping/reprojection resets the overlap because grid geometry changes invalidate padding.
SpatialGridDescriptor carries the tile overlap halo (serde default = zero). Merging requires equal overlaps; mapping/reprojection resets the overlap because grid geometry changes invalidate padding.
Add descriptor validation helpers (ensure_no_tile_overlap, ensure_equal_tile_overlap) plus error variants, and apply the rejection in operators that count pixels, manage their own margins, or assume context tile shapes: Onnx, RasterStacker, NeighborhoodAggregate, BandNeighborhoodAggregate, TemporalRasterAggregation, Downsampling, Interpolation, BandFilter, Histogram, ClassHistogram, Statistics, BoxPlot, MeanRasterPixelValuesOverTime.
Pads every enumerated core tile with neighbor data up to the declared halo via the RasterSubQueryAdapter fold machinery; regions beyond the dataset extent stay no-data. Output descriptor declares the overlap. Rejects already-overlapped inputs (v1) and halos larger than one core.
AddTileOverlap pads each enumerated core tile with neighbor data via the RasterSubQueryAdapter fold machinery (no-data beyond the dataset extent); RemoveTileOverlap crops halos symmetrically with a plain stream map. Both register in the processing graph API. The WMS/WCS wrap utility now strips overlap before projection, resampling, and output so sinks never see padded tiles. openapi.json regenerated accordingly.
Take TileOverlap accessor receivers by value (Copy type), document the infallible internal expects, use expect_err in tests.
…ansforms Add core-anchored local pixel bounds (local_core_pixel_bounds / local_total_pixel_bounds) to BaseTile; the CoordinatePixelAccess hub now validates a local-indexed pixel against the local total bounds before addressing the stored (data-corner) grid. Migrate tile_geo_transform to core_geo_transform and make serialized worldfiles / coordinate lookups overlap-aware. Fold the hidden TileInformation::global_pixel_bounds into core_pixel_bounds and rename data_pixel_bounds -> total_pixel_bounds, updating callers across operators and services.
Extend the ONNX model descriptor with overlap metadata (halo in/out + required source overlap) and validate it against the tile at setup. Feed the model a halo-padded region and mask the output back to the core, addressing tiles by core-anchored local pixel bounds. Add a convolution test model and training script exercising the overlap path.
Add an OnnxObjectDetection VectorOperator that runs a raw (pre-NMS) YOLO ONNX detection model on a raster source and emits bounding boxes as a MultiPolygonCollection with class (category) and score (float) columns. - detection_decoder: YOLO box decode (center/corner, objectness) + NMS - onnx_object_detection: operator, init-time size/resolution checks, NHWC tile packing, session run, decode, confidence filter, NMS, pixel->world mapping - test model (test_detection.onnx) + build script, and an end-to-end tokio test
jdroenner
force-pushed
the
feature/tile-overlap
branch
from
September 1, 2026 08:13
eb4badb to
390c704
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Here is a brief summary of what I did: