Time of flight diffraction and imaging (TOFDI) is based on time of flight diffraction (TOFD); it adds cross-sectional imaging to examine the bulk of a sample. Multiple wave modes are generated by a pulsed laser beam, ablative source and are received by a sparse array of non-contact electromagnetic acoustic transducers (EMATs). A B-scan is formed from multiple data captures (A-scans), with time and scan axes, and colour representing amplitude. B-scans may contain horizontal lines from surface waves propagating directly from emitter to receiver, or via a back-wall reflection, and angled lines after reflection off a surface edge. A Hough transform (HT), modified to deal with the constraints of a Bscan, can remove such lines. A parabola matched filter has been developed to identify features in the B-scan caused by scattering from point-like features, reducing them to peaks. The processed B-scan is processed further to form a crosssectional image, enabling detection and positioning of multiple defects. Phase correlation of camera images is used to track the relative position between transducer and sample to sub-pixel precision.