THREE DIMENSIONAL (3D) NONUNIFORM FREEHAND SCANNING

20250116771 ยท 2025-04-10

Assignee

Inventors

Cpc classification

International classification

Abstract

Performing freehand scanning imaging includes transforming a single spatial location with nonuniform input data using NDFT for one spatial location to a singular spectral estimation. Performing freehand scanning imaging also includes translating the singular spectral estimation to z.sub.l, wherein z.sub.l is a common value of z for which to later recombine data for layer l, and where l begins at zero. Performing freehand scanning imaging further includes performing Inverse Spatial Fourier Transform on the translated spectrum to produce a translated data in a x- and y-spatial domain at z=z.sub.l. Performing freehand scanning imaging also includes outputting 3D translated data to an N-dimensional regularization from all measured locations, where all measured locations are regularized data resulting from a combined sum of all measured contributions, and outputting the regularized data to a SAFT algorithm to produce images layer-by-layer, whereby the process is repeated for subsequent layers layer-by-layer.

Claims

1. A method for performing freehand scanning imaging, comprising: transforming, by at least one processor, a single spatial location with nonuniform input data using Nonuniform Discrete Fourier Transform (NDFT) for one spatial location to a singular spectral estimation; translating, by the at least one processor, the singular spectral estimation to z.sub.l, wherein z.sub.l is a common value of z for which to later recombine data for layer l, where l begins at zero; performing, by the at least one processor, Inverse Spatial Fourier Transform on the translated spectrum to produce a translated data in a x- and y-spatial domain at z=z.sub.l; outputting, by the at least one processor, three dimension (3D) translated data to an N-dimensional regularization from all measured locations, where all measured locations are regularized data resulting from a combined sum of all measured contributions; and outputting, by the at least one processor, the regularized data to a SAFT algorithm to produce images layer-by-layer, whereby the process is repeated, by the at least one processor, for subsequent layers layer-by-layer.

2. The method of claim 1, wherein the nonuniform input data is defined as d.sub.n(x.sub.n, y.sub.n, z.sub.n, f), where d.sub.n(x.sub.n, y.sub.n, z.sub.n, f) is a coherent, complex-valued 1D signal array for sample index n for 3D nonuniform measurements, and the number of elements equals a number of elements of f.

3. The method of claim 1, wherein the singular spectral estimation is defined as D.sub.n(k.sub.x, k.sub.y, z.sub.n, f), where D.sub.n(k.sub.x, k.sub.y, z.sub.n, f) is a 3D array storing the spectrum of d.sub.n(x.sub.n, y.sub.n, z.sub.n, f) for sample index n.

4. The method of claim 1, further comprising: translating the singular spectral estimation to z.sub.l using T n ( k x , k y , z n , f _ ) = D n ( k x , k y , z n , f _ ) exp ( - j ( z l - z n ) k z _ l 2 ( f _ ) - k x 2 - k y 2 ) where T.sub.n is the translated data in the spectral frequency domain at z=z.sub.l, and transforming back into the spatial domain, prior to regularization.

5. The method of claim 1, further comprising: regularizing the translated data, by the at least one processor, in N-dimensional space by tracking the aggregated data using a ( x , y , z , f _ ) += t n ( x , y , z n , f _ ) .Math. b ( x - x n , y - y n , z - z n ) and its aggregated weight using w ( x , y , z ) + = b ( x - x n , y - y n , z - z n ) whereby for regularization of data for layer l using r l ( x , y , f _ ) = { .Math. z a ( x , y , z , f _ ) / w ( x , y , z ) .Math. z w ( x , y , z ) > tol 0 otherwise .

6. The method of claim 1, further comprising: performing, by at least one processor, spectral estimation of the regularized data for layer l using R l ( k x , k y , f _ ) = FFT X Y { r l ( x , y , f _ ) } .

7. The method of claim 1, further comprising: performing, by the at least one processor, piecewise image formation in laminar materials by performing the same translation, regularization, and image formation process for each subsequent layer.

8. The method of claim 1, wherein the regularized data is a sum of a translated partial data.

9. A computer program embodied on a non-transitory computer-readable medium for performing freehand scanning imaging, wherein the computer program is configured to cause at least one processor to execute: transforming a single spatial location with nonuniform input data using Nonuniform Discrete Fourier Transform (NDFT) for one spatial location to a singular spectral estimation; translating the singular spectral estimation to z.sub.l, wherein z.sub.l is a common value of z for which to later recombine data for layer l, where l begins at zero; performing Inverse Spatial Fourier Transform on the translated spectrum to produce a translated data in a x- and y-spatial domain at z=z.sub.l; outputting three dimension (3D) translated data to an N-dimensional regularization from all measured locations, where all measured locations are regularized data resulting from a combined sum of all measured contributions; and outputting the regularized data to a SAFT algorithm to produce images layer-by-layer, whereby the process is repeated, by the at least one processor, for subsequent layers layer-by-layer.

10. The computer program of claim 9, wherein the nonuniform input data is defined as d.sub.n(x.sub.n, y.sub.n, z.sub.n, f), where d.sub.n(x.sub.n, y.sub.n, z.sub.n, f) is a coherent, complex-valued 1D signal array for sample index n for 3D nonuniform measurements, and the number of elements equals a number of elements of f.

11. The computer program of claim 9, wherein the singular spectral estimation is defined as D.sub.n(k.sub.x, k.sub.y, z.sub.n, f), where D.sub.n(k.sub.x, k.sub.y, z.sub.n, f) is a 3D array storing the spectrum of d.sub.n(x.sub.n, y.sub.n, z.sub.n, f) for sample index n.

12. The computer program of claim 9, wherein the computer program is configured to cause at least one processor to execute: translating the singular spectral estimation to z.sub.l using T n ( k x , k y , z n , f _ ) = D n ( k x , k y , z n , f _ ) exp ( - j ( z l - z n ) k z _ l 2 ( f _ ) - k x 2 - k y 2 ) where T.sub.n is the translated data in the spectral frequency domain at z=z.sub.l, and transforming back into the spatial domain, prior to regularization.

13. The computer program of claim 9, wherein the computer program is configured to cause at least one processor to execute: regularizing the translated data in N-dimensional space by tracking the aggregated data using a ( x , y , z , f _ ) += t n ( x , y , z n , f _ ) .Math. b ( x - x n , y - y n , z - z n ) and its aggregated weight using w ( x , y , z ) + = b ( x - x n , y - y n , z - z n ) whereby for regularization of data for layer l using r l ( x , y , f _ ) = { .Math. z a ( x , y , z , f _ ) / w ( x , y , z ) .Math. z w ( x , y , z ) > tol 0 otherwise .

14. The computer program of claim 9, wherein the computer program is configured to cause at least one processor to execute: performing spectral estimation of the regularized data for layer l using R l ( k x , k y , f _ ) = FFT X Y { r l ( x , y , f _ ) } .

15. The computer program of claim 9, wherein the computer program is configured to cause at least one processor to execute: performing piecewise image formation in laminar materials by performing the same translation, regularization, and image formation process for each subsequent layer.

16. The computer program of claim 9, wherein the regularized data is a sum of a translated partial data.

17. A system for performing freehand scanning imaging, comprising: memory comprising a set of instructions; and at least one processor, wherein the set of instructions is configured to cause at least one processor to execute: transforming a single spatial location with nonuniform input data using Nonuniform Discrete Fourier Transform (NDFT) for one spatial location to a singular spectral estimation; translating the singular spectral estimation to z.sub.l, wherein z.sub.l is a common value of z for which to later recombine data for layer l, where l begins at zero; performing Inverse Spatial Fourier Transform on the translated spectrum to produce a translated data in a x- and y-spatial domain at z=z.sub.l; outputting three dimension (3D) translated data to an N-dimensional regularization from all measured locations, where all measured locations are regularized data resulting from a combined sum of all measured contributions; and outputting the regularized data to a SAFT algorithm to produce images layer-by-layer, whereby the process is repeated, by the at least one processor, for subsequent layers layer-by-layer.

18. The system of claim 17, wherein the nonuniform input data is defined as d.sub.n(x.sub.n, y.sub.n, z.sub.n, f), where d.sub.n(x.sub.n, y.sub.n, z.sub.n, f) is a coherent, complex-valued 1D signal array for sample index n for 3D nonuniform measurements, and the number of elements equals a number of elements of f.

19. The system of claim 17, wherein the singular spectral estimation is defined as D.sub.n(k.sub.x, k.sub.y, z.sub.n, f), where D.sub.n(k.sub.x, k.sub.y, z.sub.n, f) is a 3D array storing the spectrum of d.sub.n(x.sub.n, y.sub.n, z.sub.n, f) for sample index n.

20. The system of claim 17, wherein the set of instructions is configured to cause at least one processor to execute: translating the singular spectral estimation to z.sub.l using T n ( k x , k y , z n , f _ ) = D n ( k x , k y , z n , f _ ) exp ( - j ( z l - z n ) k z _ l 2 ( f _ ) - k x 2 - k y 2 ) where T.sub.n is the translated data in the spectral frequency domain at z=z.sub.l, and transforming back into the spatial domain, prior to regularization.

21. The system of claim 17, wherein the set of instructions is configured to cause at least one processor to execute: regularizing the translated data in N-dimensional space by tracking the aggregated data using a ( x , y , z , f _ ) += t n ( x , y , z n , f _ ) .Math. b ( x - x n , y - y n , z - z n ) and its aggregated weight using w ( x , y , z ) + = b ( x - x n y - y n z - z n ) whereby for regularization of data for layer l using r l ( x , y , f _ ) = { .Math. z a ( x , y , z , f _ ) / w ( x , y , z ) .Math. z w ( x , y , z ) > tol 0 otherwise .

22. The system of claim 17, wherein the set of instructions is configured to cause at least one processor to execute: performing spectral estimation of the regularized data for layer l using R l ( k x , k y , f _ ) = FFT X Y { r l ( x , y , f _ ) } .

23. The system of claim 17, the set of instructions is configured to cause at least one processor to execute: performing piecewise image formation in laminar materials by performing the same translation, regularization, and image formation process for each subsequent layer.

24. The system of claim 17, wherein the regularized data is a sum of a translated partial data.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

[0014] In order that the advantages of certain embodiments of the invention will be readily understood, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments that are illustrated in the appended drawings. While it should be understood that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:

[0015] FIG. 1 is related art of graph illustrating a conventional measurement setup with flat measurement plane and flat layers.

[0016] FIG. 2 is related art of a flow diagram illustrating spectral estimation from nonuniformly spatially sampled data.

[0017] FIG. 3 is related art of a flow diagram illustrating a typical SAFT with nonuniformly spatially sampled data.

[0018] FIG. 4 is a graph illustrating nonuniform z near the plane z=z.sub.0 with flat buried layers, according to an embodiment of the present invention.

[0019] FIG. 5 is a flow diagram illustrating 3D translation using the Nonuniform Discrete Fourier Transform (NDFT) and phase shifts, according to an embodiment of the present invention.

[0020] FIG. 6 which is a flow diagram illustrating SAFT from 3D nonuniform measurements, according to an embodiment of the present invention.

[0021] FIG. 7 is an illustration of an image (a), which is a simulation of SAFT from uncorrected data, and image (b), which is SAFT from corrected data along z, according to an embodiment of the present invention.

[0022] FIG. 8 is a diagram illustrating nonuniform measurements and curved subsequent layers, according to an embodiment of the present invention.

[0023] FIG. 9 is a flow diagram illustrating SAFT from 3D nonuniform measurements and curved interfaces, according to an embodiment of the present invention.

[0024] FIG. 10 is an architectural diagram illustrating a computing system configured to perform freehand scan imaging, according to an embodiment of the present invention.

[0025] FIG. 11 is a diagram illustrating a system for collecting information and performing an algorithm for freehand scan imaging, according to an embodiment of the present invention.

[0026] FIG. 12 is a flow diagram illustrating a method for performing freehand scanning imaging, according to an embodiment of the present invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

[0027] Some embodiments generally pertain to freehand scanning with imaging. For example, freehand scanning with imaging enables inspections with high-resolution real-time 3D image update from N degree-of-freedom positioning and regularization, where N could include x, y, z, roll, pitch, yaw, etc. This work enables freehand scans with high-resolution synthetic focusing from surfaces with changing thickness, hand-held free-space measurements, or normal and oblique recombination of measurements. The result is a high-resolution 3D image with minimal image artifacts, which is possible with coherent measurements. Freehand scanning with imaging provides the inspector with vital information to quantify the structure or material properties nondestructively. Unlike the current state of the art that requires data to be taken in a flat plane, the freehand scanning technique described herein removes this restriction and allows for the highest 3D image quality from N degree-of-freedom freehand measurements. Furthermore, freehand scanning technique not only enables synthetic focusing from a curved surface into a structure with flat interfaces, but also enables synthetic focusing through multiple curved interfaces.

[0028] Below is Table 2 that includes nomenclature for 3D nonuniform measurements.

TABLE-US-00004 TABLE 2 Nomenclature for 3D Nonuniform Measurements Symbol Description n Spatial sample index l Layer index c.sub.l Phase velocity in layer l x 1D array of uniformly sampled x x.sub.n Nonuniformly sampled position along the x direction at sample index n k.sub.x 1D array of uniformly sampled spatial frequency along x y 1D Array of uniformly sampled y y.sub.n Nonuniformly sampled position along the y direction at sample index n k.sub.y 1D array of uniformly sampled spatial frequency along y z.sub.n Nonuniformly sampled position along the z direction at sample index n z.sub.l Top of layer along z for layer l k.sub.z.sub.l 1D array of nonuniformly sampled spatial frequency along z. Related to frequency by the dispersion relation 1D Array of uniformly or nonuniformly sampled frequency d.sub.n(x.sub.n, y.sub.n, z.sub.n, ) Coherent, complex-valued 1D signal array for sample index n for 3D nonuniform measurements. Number of elements equals the number of elements of . D.sub.n(k.sub.x, k.sub.y, z.sub.n, ) 3D array storing the spectrum of d.sub.n(x.sub.n, y.sub.n, z.sub.n, ) for sample index n T.sub.n(k.sub.x, k.sub.y, z.sub.n, ) 3D array storing the translated D.sub.n(k.sub.x, k.sub.y, z.sub.n, ) to a singular value of z.sub.l, which is a temporary variable t.sub.n(x, y, z.sub.n, ) 3D array storing the uniformly sampled translated signal data a(x, y, z, ) 4D array of aggregated signal data w(x, y, z) 3D array of aggregated weight b(x, y, z) 3D function to represent a brush r.sub.l(x, y, ) 3D array of regularized data at layer l R.sub.l(k.sub.x, k.sub.y, ) = 3D array of spectrum of regularized data at layer l R.sub.l(k.sub.x, k.sub.y, k.sub.z.sub.l() ) h.sub.l(x, y) Function representing top surface profile of layer l V.sub.l(k.sub.x, k.sub.y, z, ) 4D array of intermediate image spectrum at layer l valid for the range of z according to the surface profile v.sub.l(x, y, z, ) 4D array of the inverse 2D FFT of v.sub.l(k.sub.x, k.sub.y, z, ) at layer l q.sub.n(x.sub.n, y.sub.n, z.sub.n, ) Sampled intermediate data translated to the interface, a temporary loop value S.sub.l(k.sub.x, k.sub.y, z ) 3D array of intermediate image spectrum at layer l s.sub.l(x, y, z) 3D array of volume image at layer l
SAFT from 3D Nonuniform Measurements

[0029] In some embodiments, it is no longer assumed that the data is taken at one particular z.sub.0, instead it is assumed that the data is distributed in nonuniform z or d.sub.n(x.sub.n, y.sub.n, z.sub.n, f). See, for example, FIG. 4, which is a graph 400 illustrating nonuniform z near the plane z=z.sub.0 with flat buried layers, according to an embodiment of the present invention. In this embodiment, the data may also be nonuniformly sampled in roll, pitch, and yaw; however, these terms are dropped to simplify the math to nonuniformly sampled x, y, and z for illustration purposes. The desire is to translate the information in such a way as to be inputted into the same SAFT process as described before.

[0030] To be used for imaging, the data is translated onto a common z.sub.0, which is a known distance that could be down-range or up-range from the probe locations. This translation correction must be applied for every spatially sampled location in (x.sub.n, y.sub.n, z.sub.n). See, for example, FIG. 5, which is a flow diagram 500 illustrating 3D translation using the Nonuniform Discrete Fourier Transform (NDFT) and phase shifts, according to an embodiment of the present invention.

[0031] In this embodiment, a single spatial location index (n) with data d.sub.n(x.sub.n, y.sub.n, z.sub.n, f) is transformed using the NDFT for one spatial location to D.sub.n(x.sub.n, y.sub.n, z.sub.n, f) at 505, such that D.sub.n represents the spectral estimation of d.sub.n(x.sub.n, y.sub.n, z.sub.n, f) before translating along z. This spectrum is then translated at 510 to z.sub.0 using:

[00004] T n ( k x , k y , z n , f _ ) = D n ( k x , k y , z n , f _ ) exp ( - j ( z 0 - z n ) k z 0 2 _ ( f _ ) - k x 2 - k y 2 ) Eq . ( 2 )

[0032] where T.sub.n is the translated data in the spectral frequency domain at z=z.sub.0. See Algorithm 3, Line 6.

[0033] At 515, the transformed data is cast back into space using the inverse 2D FFT to produce t.sub.n(x, y, z.sub.n, f), where t.sub.n is the translated data in the (x, y) spatial domain at z=z.sub.0. See Algorithm 3, Line 7. Aggregation for normalization may be applied in a higher dimensional space, which is shown as z but may also include roll, pitch, and yaw. See Algorithm 3, Lines 8 and 9. Finally, after all samples are processed the regularized aggregated data and spectral decomposition may be determined similar to before after summing over z. See Algorithm 3, Lines 10 and 11. The regularization problem may be simplified to not include z if desired. The 3D translated data is outputted at 520.

TABLE-US-00005 Algorithm 2. Spectral Decomposition from 3D Nonuniformly Sampled Data (SD.sub.XYZ) using c.sub.0 as phase velocity. (Line) Mathematical Operation Description a(x, y, z, f) = 0 (1) Initialize aggregation of data to zero w(x, y, z) = 0 (2) Initialize aggregation of weight to zero For n = 0, 1, .Math. .Math. .Math. (N 1) (3) Sample index n for N nonuniform points D.sub.n(k.sub.x, k.sub.y, z.sub.n, f) = d.sub.n(x.sub.n, y.sub.n, z.sub.n, f) .Math. exp(j(x.sub.nk.sub.x + y.sub.nk.sub.y)) (4) Perform singular spectral estimation. Equivalent to NDFT from one input point. [00005] k z _ 0 ( f _ ) = ( 4 f c 0 ) 2 - k x 2 - k y 2 (5) Dispersion relation for phase velocity c.sub.0 [00006] T n ( k x , k y , z n , f _ ) = D n ( k x , k y , z n , f _ ) .Math. exp ( - j ( z 0 - z n ) k z _ 0 2 ( f _ ) - k x 2 - k y 2 ) (6) Translate to z.sub.0 t.sub.n(x, y, z.sub.n, f) = FFT.sub.XY.sup.1 {T.sub.n(k.sub.x, k.sub.y, z.sub.n, f)} (7) Transform back to space a(x, y, z, f) + = t.sub.n(x, y, z.sub.n, f) .Math. b(x x.sub.n, y y.sub.n, z z.sub.n) (8) Aggregate (similar to convolution) data with brush and store in a w(x, y, z) + = b(x x.sub.n, y y.sub.n, z z.sub.n) (9) Aggregate brush alone and store in W [00007] r 0 ( x , y , f _ ) = { .Math. z a ( x , y , z , f _ ) / w ( x , y , z ) .Math. z w ( x , y , z ) > tol 0 otherwise (10) Regularize aggregated data with weight for weight greater than some tolerance R.sub.0(k.sub.x, k.sub.y, f) = FFT.sub.XY{r.sub.0(x, y, f)} (11) Compute spectrum along x and y

[0034] This 3D translated data may then be inputted into the same SAFT process as described before. See, for example, FIG. 6, which is a flow diagram 600 illustrating SAFT from 3D nonuniform measurements, according to an embodiment of the present invention. Steps 605 (nonuniform input data) and 610 (3D translation) are discussed above with respect to FIG. 5. In this embodiment, output from 610 may be fed into spectral estimation step at 615. The spectral estimation step includes a 2D Fourier transform along the x and y spatial dimensions. From 615, output image at 625 may be performed piecewise in 620 similar to prior art to form images in laminar materials, and it contains important information regarding the structure under test from all layers. Nonuniform data may be used to form intermediate output images in 625 in real-time. To this end 630 is shown to show the loop control returning to additional nonuniform input data in 605.

[0035] As an example, simulated data with a point target in air is provided with square domain of 400 mm400 mm with a frequency sweep of 20 GHz to 40 GHz (11 frequency samples). The space is sampled 1000 times with uniform random distribution in space and range. The range varies uniformly from 50 mm to 10 mm. The point target is located at x=y=z=100 mm. Without range correction, the slices of the volume image corresponding to the point target location are just noise. See, for example, FIG. 7 showings images (a) and images (b), according to an embodiment of the present invention. In FIG. 7, image (a) is a simulation of SAFT from uncorrected data and image (b) is SAFT from corrected data along z. As can be seen, image (b) is a much clearer image than image (a).

SAFT from 3D Nonuniform Measurements and Curved Interfaces

[0036] Given the discussion of recombining from nonuniform z measurements above, the same or similar process may be used if the top layer is curved or subsequent layer interfaces are curved. See, for example, FIG. 8, which is a diagram 800 illustrating nonuniform measurements and curved subsequent layers. The curved top profile of layer l may be expressed by the function h.sub.l(x, y).

[0037] To form the volume image, the translation process outlined in FIG. 5 must be applied for every curved interface. See, for example, FIG. 9. FIG. 9 is a flow diagram 900 illustrating SAFT from 3D nonuniform measurements and curved interfaces. The image of Layer 0 (between the measurements and the top interface of Layer 1) is formed identically to before and is hereafter referred to as Image 0, which is valid for z>h.sub.1(x, y). However, the spectral estimation used to form Image 0 is also translated to the top of interface of Layer 1. See Algorithm 5, Lines 8-12. The process is similar to SAFT except that the information across frequency is preserved instead of summed as shown by the intermediate image spectrum for each frequency V.sub.l(k.sub.x, k.sub.y, z, f) and the intermediate image for each frequency v.sub.l(x, y, z, f) for layer l. The intermediate image is then resampled in space (x.sub.n, y.sub.n, z.sub.n)n to produce the data translated to the interface of the next layer q.sub.n(x.sub.n, y.sub.n, z.sub.n, f)n, where q.sub.n is a temporary value which is why a layer subscript is dropped. See Algorithm 5, Line 12. Subsequent images for each deeper layer may be performed sequentially and merged to form the final image. See Algorithm 5, Line 14.

TABLE-US-00006 Algorithm 5. SAFT from 3D nonuniform measurements and curved interfaces. Mathematical Operation (Line) Description R.sub.0(k.sub.x, k.sub.y, f) = SD.sub.XYZ{d.sub.n(x.sub.n, y.sub.n, z.sub.n)n, v.sub.0} (1) Compute Spectrum using phase velocity v.sub.0 For every l = 0, 1, .Math. .Math. .Math. (L 1) (2) Layer index l [00008] k z _ l ( f _ ) = ( 4 f c l ) 2 - k x 2 - k y 2 (3) Dispersion relation for phase velocity c.sub.l for layer l R.sub.l(k.sub.x, k.sub.y, k.sub.z.sub.l(f)) R.sub.l(k.sub.x, k.sub.y, f) (4) Enforce dispersion relation S.sub.l(k.sub.x, k.sub.y, z)|.sub.z=max(h.sub.l.sub.(x,y)).sup.z=min(h.sup.l+1.sup.(x,y)) = NDFT.sub.z.sup.1{R.sub.l(k.sub.x, k.sub.y, k.sub.z.sub.l(f))} (5) Intermediate image spectrum valid for range along z for layer l s.sub.l(x, y, z)|.sub.z=max(h.sub.l.sub.(x,y)).sup.z=min(h.sup.l+1.sup.(x,y)) = FFT.sub.XY.sup.1{S.sub.l(k.sub.x, k.sub.y, z)|.sub.z=max(h.sub.l.sub.(x,y)).sup.z=min(h.sup.l+1.sup.(x,y))} (6) Compute image l if l = L 1, then break (7) Terminate loop if last layer, otherwise prepare for next iteration [00009] V l ( k x , k y , z , f _ ) .Math. "\[RightBracketingBar]" z = max ( h l + 1 ( x y ) ) z = min ( h l + 1 ( x , y ) ) = R l ( k x , k y , k z _ l ( f ) ) .Math. exp ( - j ( z - z l ) k z _ l 2 ( f _ ) - k x 2 - k y 2 ) (8) Intermediate image spectrum valid for range z along h.sub.1+1 (x, y) for each frequency v.sub.l(x, y, z, f).sub.z=max(h.sub.l+1.sub.(x,y)).sup.z=min(h.sup.l+1.sup.(x,y)) = FFT.sub.XY.sup.1{V.sub.l(k.sub.x, k.sub.y, z, f)|.sub.z=max(h.sub.l+1.sub.(x,y)).sup.z=min(h.sup.l+1.sup.(x,y))} (9) Intermediate image valid for range z along h.sub.l+1 (x, y) separated by frequency x.sub.n, y.sub.n x,y (10) Reinterpret uniform x and y as nonuniform z.sub.n = h.sub.l+1(x.sub.n, y.sub.n) (11) Compute nonuniform z q.sub.n(x.sub.n, y.sub.n, z.sub.n, f)n = v.sub.l(x.sub.n, y.sub.n, z.sub.n, f) (12) Sample intermediate image to extract data translated to next interface R.sub.l+1(k.sub.x, k.sub.y, f) = SD.sub.XYZ{q.sub.n(x.sub.n, y.sub.n, z.sub.n, f)n, c.sub.l+1} (13) Compute spectrum for next interface using phase velocity c.sub.l+1 s(x, y, z) = Merge{s.sub.l(x, y, z)l} (14) Appropriately merge images to final volume image

[0038] FIG. 10 is an architectural diagram illustrating a computing system 1000 configured to perform freehand scan imaging, according to an embodiment of the present invention. In some embodiments, computing system 1000 may be one or more of the computing systems depicted and/or described herein. Computing system 1000 includes a bus 1005 or other communication mechanism for communicating information, and processor(s) 1010 coupled to bus 1005 for processing information. Processor(s) 1010 may be any type of general or specific purpose processor, including a Central Processing Unit (CPU), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Graphics Processing Unit (GPU), multiple instances thereof, and/or any combination thereof. Processor(s) 1010 may also have multiple processing cores, and at least some of the cores may be configured to perform specific functions. Multi-parallel processing may be used in some embodiments. In certain embodiments, at least one of processor(s) 1010 may be a neuromorphic circuit that includes processing elements that mimic biological neurons. In some embodiments, neuromorphic circuits may not require the typical components of a Von Neumann computing architecture.

[0039] Computing system 1000 further includes a memory 1015 for storing information and instructions to be executed by processor(s) 1010. Memory 1015 can be comprised of any combination of Random Access Memory (RAM), Read Only Memory (ROM), flash memory, cache, static storage such as a magnetic or optical disk, or any other types of non-transitory computer-readable media or combinations thereof. Non-transitory computer-readable media may be any available media that can be accessed by processor(s) 1010 and may include volatile media, non-volatile media, or both. The media may also be removable, non-removable, or both.

[0040] Additionally, computing system 1000 includes a communication device 1020, such as a transceiver, to provide access to a communications network via a wireless and/or wired connection. In some embodiments, communication device 1020 may be configured to use Frequency Division Multiple Access (FDMA), Single Carrier FDMA (SC-FDMA), Time Division Multiple Access (TDMA), Code Division Multiple Access (CDMA), Orthogonal Frequency Division Multiplexing (OFDM), Orthogonal Frequency Division Multiple Access (OFDMA), Global System for Mobile (GSM) communications, General Packet Radio Service (GPRS), Universal Mobile Telecommunications System (UMTS), cdma2000, Wideband CDMA (W-CDMA), High-Speed Downlink Packet Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), High-Speed Packet Access (HSPA), Long Term Evolution (LTE), LTE Advanced (LTE-A), 802.11x, Wi-Fi, Zigbee, Ultra-WideBand (UWB), 802.16x, 802.15, Home Node-B (HnB), Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Near-Field Communications (NFC), fifth generation (5G), New Radio (NR), any combination thereof, and/or any other currently existing or future-implemented communications standard and/or protocol without deviating from the scope of the invention. In some embodiments, communication device 1020 may include one or more antennas that are singular, arrayed, phased, switched, beamforming, beamsteering, a combination thereof, and or any other antenna configuration without deviating from the scope of the invention.

[0041] Processor(s) 1010 are further coupled via bus 1005 to a display 1025, such as a plasma display, a Liquid Crystal Display (LCD), a Light Emitting Diode (LED) display, a Field Emission Display (FED), an Organic Light Emitting Diode (OLED) display, a flexible OLED display, a flexible substrate display, a projection display, a 4K display, a high definition display, a Retina display, an In-Plane Switching (IPS) display, or any other suitable display for displaying information to a user. Display 1025 may be configured as a touch (haptic) display, a three dimensional (3D) touch display, a multi-input touch display, a multi-touch display, etc. using resistive, capacitive, surface-acoustic wave (SAW) capacitive, infrared, optical imaging, dispersive signal technology, acoustic pulse recognition, frustrated total internal reflection, etc. Any suitable display device and haptic I/O may be used without deviating from the scope of the invention.

[0042] A keyboard 1030 and a cursor control device 1035, such as a computer mouse, a touchpad, etc., are further coupled to bus 1005 to enable a user to interface with computing system. However, in certain embodiments, a physical keyboard and mouse may not be present, and the user may interact with the device solely through display 1025 and/or a touchpad (not shown). Any type and combination of input devices may be used as a matter of design choice. In certain embodiments, no physical input device and/or display is present. For instance, the user may interact with computing system 1000 remotely via another computing system in communication therewith, or computing system 1000 may operate autonomously.

[0043] Memory 1015 stores software modules that provide functionality when executed by processor(s) 1010. The modules include an operating system 1040 for computing system 1000. The modules further include a freehand scanning imaging module 1045 that is configured to perform all or part of the processes described herein or derivatives thereof. Computing system 1000 may include one or more additional functional modules 1050 that include additional functionality.

[0044] In some embodiments, probe 1060, signal data acquisition unit 1065 and position data acquisition unit 1070 is connected to computing system 1000. See, for example, FIG. 11, which is a diagram illustrating system 1100 for collecting information and performing an algorithm for freehand scan imaging, according to an embodiment of the present invention. Probe 1060 may be an ultrasonic transducer or microwave probe that generates a probe signal. The probe signal, typically a voltage, is acquired by signal data acquisition unit 1065. In some embodiments, signal data acquisition unit 106 may be a pulser-receiver, oscilloscope, phased array system, vector network analyzer, miniature radar, or some device that measures an ultrasonic signal or microwave signal. The position of the probe is tracked and relevant position information is acquired by position data acquisition unit 1070. In some embodiments, position data acquisition unit 1070 may be string encoders, laser positioning system, visual positioning system, robotic system, or some system that measures the position of the probe. The information is collected in computing system 1000, which performs the algorithms as described and stores and displays data.

[0045] One skilled in the art will appreciate that a system could be embodied as a server, an embedded computing system, a personal computer, a console, a personal digital assistant (PDA), a cell phone, a tablet computing device, a quantum computing system, or any other suitable computing device, or combination of devices without deviating from the scope of the invention. Presenting the above-described functions as being performed by a system is not intended to limit the scope of the present invention in any way, but is intended to provide one example of the many embodiments of the present invention. Indeed, methods, systems, and apparatuses disclosed herein may be implemented in localized and distributed forms consistent with computing technology, including cloud computing systems.

[0046] It should be noted that some of the system features described in this specification have been presented as modules, in order to more particularly emphasize their implementation independence. For example, a module may be implemented as a hardware circuit comprising custom very large scale integration (VLSI) circuits or gate arrays, off-the-shelf semiconductors such as logic chips, transistors, or other discrete components. A module may also be implemented in programmable hardware devices such as field programmable gate arrays, programmable array logic, programmable logic devices, graphics processing units, or the like.

[0047] A module may also be at least partially implemented in software for execution by various types of processors. An identified unit of executable code may, for instance, include one or more physical or logical blocks of computer instructions that may, for instance, be organized as an object, procedure, or function. Nevertheless, the executables of an identified module need not be physically located together, but may include disparate instructions stored in different locations that, when joined logically together, comprise the module and achieve the stated purpose for the module. Further, modules may be stored on a computer-readable medium, which may be, for instance, a hard disk drive, flash device, RAM, tape, and/or any other such non-transitory computer-readable medium used to store data without deviating from the scope of the invention.

[0048] Indeed, a module of executable code could be a single instruction, or many instructions, and may even be distributed over several different code segments, among different programs, and across several memory devices. Similarly, operational data may be identified and illustrated herein within modules, and may be embodied in any suitable form and organized within any suitable type of data structure. The operational data may be collected as a single data set, or may be distributed over different locations including over different storage devices, and may exist, at least partially, merely as electronic signals on a system or network.

[0049] FIG. 12 is a flow diagram illustrating method 1200 for performing freehand scanning imaging, according to an embodiment of the present invention. In some embodiments, method 1200 begins at 1205 with transforming single nonuniform spatial location to its spectral estimation using 2D NDFT. In some embodiments, this may include transforming, by at least one processor, a single spatial location with nonuniform input data using NDFT for one spatial location to a singular spectral estimation. At 1210, method 1200 includes translating single spectral estimation to z.sub.l. In some embodiments, this may include translating, by the at least one processor, the singular spectral estimation to z.sub.l, where z.sub.l is a common value of z for which to later recombine data for layer l, where l begins at zero. At 1215, method 1200 include transforming nonuniform signal back to the spatial domain using inverse 2D FFT. In some embodiments, this may include performing, by the at least one processor, Inverse Spatial Fourier Transform on the translated spectrum to produce a translated data in a x- and y-spatial domain at z=z.sub.l. At 1220, method 1200 includes regularizing data contributions of nonuniform data in ND space. This may include outputting, by the at least one processor, three dimension (3D) translated data to an N-dimensional regularization from all measured locations, where all measured locations are regularized data resulting from a combined sum of all measured contributions. At 1225, method 1200 includes performing SAFT for this layer, and repeat process for subsequent layers. In some embodiments, this may include outputting, by the at least one processor, the regularized data to a SAFT algorithm to produce images layer-by-layer, whereby the process is repeated, by the at least one processor, for subsequent layers layer-by-layer.

[0050] The process steps performed in 5, 6, 9 and 12 may be performed by a computer program, encoding instructions for the processor(s) to perform at least part of the process(es) described in 5, 6, 9 and 12, in accordance with embodiments of the present invention. The computer program may be embodied on a non-transitory computer-readable medium. The computer-readable medium may be, but is not limited to, a hard disk drive, a flash device, RAM, a tape, and/or any other such medium or combination of media used to store data. The computer program may include encoded instructions for controlling processor(s) of a computing system (e.g., processor(s) 510 of computing system 500 of FIG. 5) to implement all or part of the process steps described in 5, 6, 9 and 12, which may also be stored on the computer-readable medium.

[0051] The computer program can be implemented in hardware, software, or a hybrid implementation. The computer program can be composed of modules that are in operative communication with one another, and which are designed to pass information or instructions to display. The computer program can be configured to operate on a general purpose computer, an ASIC, or any other suitable device.

[0052] It will be readily understood that the components of various embodiments of the present invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the detailed description of the embodiments of the present invention, as represented in the attached figures, is not intended to limit the scope of the invention as claimed, but is merely representative of selected embodiments of the invention.

[0053] The features, structures, or characteristics of the invention described throughout this specification may be combined in any suitable manner in one or more embodiments. For example, reference throughout this specification to certain embodiments, some embodiments, or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases in certain embodiments, in some embodiment, in other embodiments, or similar language throughout this specification do not necessarily all refer to the same group of embodiments and the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0054] It should be noted that reference throughout this specification to features, advantages, or similar language does not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment of the invention. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, discussion of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment.

[0055] Furthermore, the described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the invention can be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention.

[0056] One having ordinary skill in the art will readily understand that the invention as discussed above may be practiced with steps in a different order, and/or with hardware elements in configurations which are different than those which are disclosed. Therefore, although the invention has been described based upon these preferred embodiments, it would be apparent to those of skill in the art that certain modifications, variations, and alternative constructions would be apparent, while remaining within the spirit and scope of the invention. In order to determine the metes and bounds of the invention, therefore, reference should be made to the appended claims.