Land-cover maps from aerial imagery
Turn GeoTIFF orthomosaics into a stitched land-cover raster with per-class area stats, using tiled ONNX segmentation you can preview at every step.
LSD turns a folder dump of line-scan frames and one defects.csv into a live segmentation pipeline — tile, augment, batch, run an ONNX model, and QA every mask as an overlay. The @deliver step then writes a defect report per coil with class counts, defect area, and the worst frames.
A line-scan rig over an aluminium coater produces tens of thousands of strips per shift, and the labels live in a CSV someone exports from the annotation tool. The usual glue is a pile of scripts — one to tile, one to augment, one to run the model, a notebook to eyeball results. When QA asks why coil 1187 got flagged, you re-run all four and hope the intermediate folders weren't stale.
On the canvas, that whole chain is one pipeline. The frames, the join, the tiler, and the model that scores every tile are live nodes; change the tile overlap and only the steps downstream recompute, because everything upstream is a cached intermediate. The answer to "what did the model actually see?" is always one click on a preview.
You need three things — the capture folders straight off the rig, the defect label CSV, and a segmentation model exported to ONNX. Any encoder-decoder trained on 1024 px crops works; the walkthrough uses a six-class U-Net covering pits, scratches, dents, roll marks, inclusions, and edge cracks. No GPU required — batches just score slower.
Once the pipeline runs clean, point the @load node at the live capture share and re-run per shift; the report step keeps writing one CSV per coil. Teams usually add a threshold node next, so only coils whose defect area crosses spec ever reach a human.
Drop the per-coil capture folders onto the canvas. An @load node indexes every frame into one browsable image set — forty-thousand-odd strips, thumbnails and all — without copying a single file. Filenames like coil-1187_cam2_00412.png stay attached as metadata you can filter on later.
Drop defects.csv next to it and connect both into a join step keyed on filename. Every frame now previews with its coil id and defect class — and the handful of frames with no label row light up immediately as unmatched.
Line-scan frames are 8192 × 2048 — far too big for the model. Add a tile step set to 1024 × 1024 with 128 px overlap; the preview draws the cut grid over a sample frame. The tiled set becomes a cached intermediate, so downstream tweaks never re-cut it.
Stack a horizontal flip and mild brightness jitter to mimic lighting drift between shifts. Each augmentation is a live node — click through samples and see exactly the pixels the model will receive, then set the batch step to 16 tiles.
Drop your trained model file onto the canvas and LSD wraps it in a @deliver node. Wire in the batched tiles and hit run — masks stream back batch by batch, and the viewer overlays each one on its source tile so you can QA predictions while the set is still scoring.
Add a report step that stitches tile masks back to frame coordinates and groups them by coil id. Export one CSV per coil — defect class, count, and area in mm² — plus overlay PNGs of the worst frames for the QA binder.
Index per-coil folders of line-scan frames and join the defect label CSV by filename.
Cut 1024 px overlapping tiles, add flip and jitter, and batch — every change previews.
Run the ONNX segmentation model, QA masks as overlays, and export a per-coil defect report.
Turn GeoTIFF orthomosaics into a stitched land-cover raster with per-class area stats, using tiled ONNX segmentation you can preview at every step.
Model post-closure pit-lake rebound in LSD — krige borehole heads against a NetCDF recharge grid and deliver a live 3D drawdown model plus report.
Validate 63 LAS drillhole logs against collar surveys, krige a lithology block model, and export one glTF the whole team can open.
Build churn features from Postgres events and Parquet snapshots, catch a leaky window visually, and score the holdout with ONNX — on one canvas.
Score a million-row Parquet batch with an ONNX model — training-identical normalization, live previews, scored Parquet and metrics out.
Turn raw LAS/LAZ sweeps from a mobile robot into a nav-ready occupancy grid and 3D map — registration to export with zero scripts.
Sync CSV sensor logs with live REST telemetry, flag outliers and dropouts, and score every robot pass/fail before the field trial.
Align CMM measurement points to a nominal CAD mesh, compute point-to-surface deviation, and export a color-mapped glTF model with a pass/fail report.
Resample a week of machine sensor logs, baseline each tag, and flag drift and step changes on a live dashboard with a ranked maintenance shortlist.
Join a live meter feed to 85 campus building meshes, aggregate it hourly, and paint a 3D heat-map that repaints as energy use shifts, plus a weekly report.
Calibrate live strain telemetry, place gauges on the bridge mesh from a CSV, and color the structure by stress live — plus an alert log on every exceedance.
Turn a CT DICOM series into an ONNX organ segmentation you QA in 3D, then export an annotated volume and a per-organ volumetrics report.
Drop the per-coil capture folders onto the canvas. An @load node indexes every frame into one browsable image set — forty-thousand-odd strips, thumbnails and all — without copying a single file. Filenames like coil-1187_cam2_00412.png stay attached as metadata you can filter on later.
Line-scan frames are 8192 × 2048 — far too big for the model. Add a tile step set to 1024 × 1024 with 128 px overlap; the preview draws the cut grid over a sample frame. The tiled set becomes a cached intermediate, so downstream tweaks never re-cut it.
Drop your trained model file onto the canvas and LSD wraps it in a @deliver node. Wire in the batched tiles and hit run — masks stream back batch by batch, and the viewer overlays each one on its source tile so you can QA predictions while the set is still scoring.