Detecting surface defects on an aluminium line
Turn folders of line-scan images and a label CSV into an ONNX defect-segmentation pipeline with overlay QA and a per-coil defect report.
Load survey GeoTIFFs, tile and normalize them, run an ONNX segmentation model, and stitch the predictions back into one georeferenced class raster. LSD keeps the CRS attached end to end, so the delivered map drops straight into GIS — with a per-class area CSV beside it.
The classic route is gdal_retile, a folder of numpy glue, an inference script, and gdal_merge — four tools, three intermediate directories, and no way to see a bad normalization until the final mosaic looks like static. On the canvas the same chain is five live nodes, and every one of them previews. The expensive parts — tiling six 2 GB rasters, scoring thousands of tiles — become cached intermediates, so tweaking the stitch blend at the end costs seconds, not another full run.
An ONNX segmentation model trained on your class scheme (this walkthrough uses an eight-class U-Net — water, crops, forest, built-up, bare soil, wetland, roads, grassland) and orthomosaics from any photogrammetry tool that writes GeoTIFF. Pix4D, ODM, and Metashape output all load identically; LSD reads the CRS from the file, so nothing needs reprojecting first.
The area CSV is the fastest sanity check — if "roads" claims 30% of a rural survey, the class palette is misindexed, and the 3D viewer will show it in one glance. When it's right, comparing seasons is one change on the canvas — point the @load node at last spring's flight and re-run; every step downstream reuses its cached settings.
Drop the flight's GeoTIFFs — six tiles, around 2 GB each — onto the canvas. The @load node reads CRS, ground resolution, and band count without decoding the full rasters, and the footprint preview shows all six sitting in their correct EPSG positions.
Add a tile step set to 512 × 512 with 64 px overlap. The preview draws the cut grid over the imagery, and each tile keeps its geotransform so predictions land back in the right place. The tiled set caches, so later re-runs skip straight past it.
The model expects reflectance scaled to 0–1, but the survey is 16-bit. Add a normalize step, pick per-band min-max from the statistics LSD samples for you, and watch the histogram preview settle into range. A swapped channel order is the classic silent killer here — the RGB preview makes it obvious instead.
Drop the ONNX U-Net onto the canvas and wire the normalized tiles into the @deliver node it becomes. Predictions stream back a batch at a time, and the viewer paints class colors over the imagery as they arrive — a wrong class index shows up in seconds, not after the full run.
Add a stitch step that merges tile predictions, blending the 64 px overlaps to hide seam artifacts. Export one georeferenced GeoTIFF class raster plus an area-stats CSV — hectares per class, per source tile and total. Both drop straight into QGIS or your reporting pipeline.
Index multi-gigabyte survey tiles with CRS, resolution, and band metadata intact.
Cut 512 px overlapping tiles and scale 16-bit bands to the model's range, with previews at each step.
Run ONNX segmentation, stitch tiles into one georeferenced class raster, and export area stats.
Turn folders of line-scan images and a label CSV into an ONNX defect-segmentation pipeline with overlay QA and a per-coil defect report.
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 flight's GeoTIFFs — six tiles, around 2 GB each — onto the canvas. The @load node reads CRS, ground resolution, and band count without decoding the full rasters, and the footprint preview shows all six sitting in their correct EPSG positions.
Add a tile step set to 512 × 512 with 64 px overlap. The preview draws the cut grid over the imagery, and each tile keeps its geotransform so predictions land back in the right place. The tiled set caches, so later re-runs skip straight past it.
Drop the ONNX U-Net onto the canvas and wire the normalized tiles into the @deliver node it becomes. Predictions stream back a batch at a time, and the viewer paints class colors over the imagery as they arrive — a wrong class index shows up in seconds, not after the full run.