A live energy twin of a university campus
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.
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.
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.
Build churn features from Postgres events and Parquet snapshots, catch a leaky window visually, and score the holdout with ONNX — on one canvas.
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.
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.
Turn LiDAR terrain, rainfall GeoTIFFs, and a drainage Shapefile into a flood-risk raster, a 3D flyover, and a district report — live sliders, no scripts.
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.
Reduce 900 spectrometer CSVs against a calibration NetCDF into publication-ready spectra and a reproducible dataset export — no scripts.
Slice 200 GB of NetCDF CFD output into live wake planes and iso-surfaces, then export an animated wake visualization and a downstream-loss table.
Turn raw LAS/LAZ sweeps from a mobile robot into a nav-ready occupancy grid and 3D map — registration to export with zero scripts.
Turn GeoTIFF orthomosaics into a stitched land-cover raster with per-class area stats, using tiled ONNX segmentation you can preview at every step.
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.
Crop 40 NetCDF ensemble members to a region, aggregate by season, and difference against a baseline — small-multiple maps and a per-region CSV.
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.