A system comprising a frame, a scanner supported by the frame and comprising a two-dimensional array of sensors, a robotic system configured to enable motorized movement of the frame, and a computer system communicatively coupled to receive sensor data from the sensors and send control signals to the robotic system for controlling motorized movement of the frame and configured to perform operations comprising:
- (a) activating the sensors while the sensor array overlies a first structural feature of a target object with a reference point on the sensor array at a first position having first X and first Y position coordinates on a surface of a target object which are known;
- (b) receiving a first set of sensor data acquired from a subsurface structure of a first portion of the target object confronting the sensor array while the reference point is at the first position;
- (c) converting the first set of sensor data to first scan image data of a first scan image;
- (d) activating the sensors while the sensor array overlies the first structural feature of a target object with the reference point at a second position at a distance from the first position;
- (e) receiving a second set of sensor data acquired from a subsurface structure of a second portion of the target object confronting the sensor array while the reference point is at the second position;
- (f) converting the second set of sensor data to second scan image data of a second scan image;
- (g) finding subsurface feature points in the first and second scan images;
- (h) determining which subsurface feature points found in step (g) are common feature points in the first and second scan images;
- (i) computing pixel position differences between the common feature points;
- and
- (j) calculating a second Y position coordinate of the reference point at the second position on the surface of the target object based at least partly on the first Y position coordinate and the pixel position differences computed in step (i),
- wherein step (i) comprises:
- calculating a first pixel offset equal to a number of pixel rows by which the position of a common feature point in the second scan image is offset from the position of the common feature point in the first scan image;
- and
- wherein step (j) comprises:
- multiplying the first pixel offset by a distance between adjacent sensor rows to form a product equal to a first distance translated by the scanner in a direction perpendicular to the sensor rows during step (d);
- and
- adding the first distance to the first Y position coordinate to derive the second Y position coordinate of the reference point.