Training data API: /train/tile + /train/mask (rollout step 1) #182
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "issue-13-train-data-api"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
First slice of the training-data API designed in nemish PR #14 (doc/nidus-sync-training-data-api.md), per issue #13. Implements rollout step 1 — tile + mask — which unblocks the Stadia-on-SkySat geometry sanity check.
GET /train/tile/{item_id}/{asset_type}/{z}/{x}/{y}.png — raw 16-bit per-band training tiles, worker Bearer auth:
format=multipart(default): one 16-bit grayscale PNG per band (B,G,R,NIR = 0,1,2,3), lossless, band order preservedformat=png: single-band 16-bit grayscale PNGformat=tiff: 4-band uint16 GeoTIFF with EPSG:3857 georeferencing (hand-rolled uncompressed chunky writer; verified with rasterio: 4 x uint16, crs EPSG:3857)GET /train/mask/{item_id}/{z}/{x}/{y}.png — pool mask for the same tile:
source=stadia(default) vssource=confirmed(only pools with committed review_task — the ~1k human-confirmed eval set)dilation_px=Nfor the geometry sanity checkBoth reuse authenticateWorkerToken (same as /vision/task) and the existing Gray16 tile pyramid — no new deps.
Verified: go build + go vet clean; 11 new tests pass (platform + api): point-in-ring, world-to-pixel, mask rasterization/dilation, TIFF structure + pixel round-trip, multipart round-trip, band parsing.
Next per rollout order: POST /train/manifest + GET /train/stats (unblocks the 3-way ablation), then /train/corpus + /train/udm.
2c60650b6a2fc7d6ede7superceded by later work.
Pull request closed