Segmenting organs from CT series with ONNX
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.
Point LSD at a cohort of 400 DICOM studies and it indexes every one by subject and sequence. Harmonize the tag soup onto a single schema, validate orientation and spacing, and flag motion artifacts — all previewing across the whole cohort. Deliver a per-study pass/fail table and a clean exclusion list your analysis can read directly.
Every imaging cohort has the one study acquired sideways, or on the day the scanner sat at 1.5 T instead of 3, or with a subject who couldn't hold still. Find it after analysis and you re-run everything; find it in the published results and you retract. The pipeline here is the screen that runs before a single study reaches the stats, turning a folder of 400 into a table you can defend.
The pass/fail lines aren't buried in someone's notebook. Protocol orientation, spacing tolerance, the motion threshold, the list of required sequences — they live on the canvas, argued about once and applied identically to every study. When a reviewer asks why study 214 was excluded, the answer is a row with its failing checks attached, not a memory.
Cohorts arrive in waves. The next batch of studies drops into the same folder, the canvas picks them up on the next run, and both the QA table and the exclusion list grow to match — no new scripts, no edits. Because every intermediate is cached, re-screening the whole cohort after a rule change costs seconds, and the harmonized metadata is right there to reuse when analysis finally starts.
Drop the cohort root — 400 studies, mixed scanners and sites — onto the canvas. LSD walks the tree and groups every series into one @load node keyed by study and subject ID, reading tags without decoding pixel data. Four hundred studies index in under a minute, and the preview table lists each one with its sequence, field strength, and acquisition date.
Add a @shape node to map the messy tag soup onto one schema. Site A writes "T1_MPRAGE", site B writes "t1w" — a lookup table folds both into a canonical sequence name, and units normalize as you watch the preview column settle. The harmonized table caches, so the checks downstream stay instant across all 400 studies.
Chain a validation @shape node that reads orientation, slice spacing, and matrix size off every series. It flags the study that came in sagittal when the protocol says axial, and the one resampled to 2 mm when the cohort standard is 1 mm. Flags paint straight onto the study table as red and amber cells — no slice-by-slice hunting.
Add a motion-artifact node that scores each volume for ghosting and ringing. Borderline studies surface for a quick look in the viewer; the obviously corrupted ones light up red on their own. Scrub any flagged study and the offending slices are already centered for you.
Finish the shaping with a @deliver report node and set the cohort rules — protocol orientation, spacing within tolerance, motion score under threshold, required sequences present. Every study earns a pass/fail badge with its failing checks listed as evidence. The table sorts failures to the top so you see the damage first.
Export two files from the @deliver node — the full per-study QA table as CSV, and a clean exclusion list of the study IDs that failed, ready to feed straight into your analysis script. Re-run when the next batch lands in the folder and both files grow to match, no edits.
Index hundreds of DICOM studies across scanners and sites, reading tags without decoding pixels.
Map tags onto one schema, then validate orientation, spacing, and motion artifacts per study.
Score every study against the cohort rules and export the table plus a clean exclusion list.
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.
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.
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.
Turn GeoTIFF orthomosaics into a stitched land-cover raster with per-class area stats, using tiled ONNX segmentation you can preview at every step.
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.
Drop the cohort root — 400 studies, mixed scanners and sites — onto the canvas. LSD walks the tree and groups every series into one @load node keyed by study and subject ID, reading tags without decoding pixel data. Four hundred studies index in under a minute, and the preview table lists each one with its sequence, field strength, and acquisition date.
Chain a validation @shape node that reads orientation, slice spacing, and matrix size off every series. It flags the study that came in sagittal when the protocol says axial, and the one resampled to 2 mm when the cohort standard is 1 mm. Flags paint straight onto the study table as red and amber cells — no slice-by-slice hunting.
Add a motion-artifact node that scores each volume for ghosting and ringing. Borderline studies surface for a quick look in the viewer; the obviously corrupted ones light up red on their own. Scrub any flagged study and the offending slices are already centered for you.
Finish the shaping with a @deliver report node and set the cohort rules — protocol orientation, spacing within tolerance, motion score under threshold, required sequences present. Every study earns a pass/fail badge with its failing checks listed as evidence. The table sorts failures to the top so you see the damage first.