Vertexi5 demo · weld QA/QC
Weld radiograph QA/QC
Eighteen synthetic weld radiographs across three simulated contractors. A simple classical image-processing heuristic marks possible indications for a person to review, and the results roll up into a review scorecard.
Images are synthetic, drawn by a script; they are not real radiographs. Boxes come from a hand-written heuristic (not a trained model) and scores are heuristic contrast/size scores, not probabilities. Not for acceptance or rejection of any weld; a qualified interpreter decides.
Contractor inspection scorecard
Simulated contractors. "Review rate" = share of welds with at least one indication at or above the score threshold, i.e. sent for human review. It is not a defect rate or a reject rate.
Welds inspected vs flagged for review
| Contractor | Inspected | Flagged | Review rate | Indications by shape |
|---|---|---|---|---|
| Loading… | ||||
Radiograph viewer
Select a weld. Tap an indication to highlight its box.
Method
- Find the weld bead as the brighter band in the row-average profile.
- Smooth with a 3×3 box filter, then subtract a 21×21 local-background mean.
- Mark pixels darker than the background by more than 3.5 robust sigmas (median absolute deviation inside the bead).
- Group marked pixels into 8-connected regions of at least 6 pixels.
- Label each region by shape: thin and on the centreline (possible lack of penetration), elongated or thin off the centreline (possible crack), small and round (possible porosity), otherwise irregular (possible inclusion).
- Score = logistic(0.45 × (contrast in sigmas − 5.5) + 0.02 × (area − 30)), clipped to 0.01–0.99.
Data source
Images: synthetic, generated by weld.py (seed 42). No third-party radiographs are included.
Public weld X-ray datasets were checked and not used, because their terms did not clearly allow reuse in a commercial pitch. See README and data/weld/ATTRIBUTION.txt.