User-friendly array geometry generation and mapping routines using FOCUS

A. Background

Targeted tissue heating for thermal therapy can be achieved with two different focusing strategies. In the first approach, the complex weights (amplitude and phase) of individual elements in the array are varied to achieve an optimal heat deposition. The second strategy employs geometric focusing. The former case has seen more attention largely due to the ability to electrically correct focusing problems after the array is physically created. Phased-based focusing is generally performed on arrays with elements placed on a simple geometric shape such as a spherical, cylindrical, or planar section.

More complex geometries are usually only pursued by researchers or projects with a specific interest in the given geometry. Part of the cause for this was the difficulty in simulating more complex geometries.

The ability of Field II and other simulation packages to simulate arrays are mostly limited to a short list of popular geometries, such as planar or cylindrical sections. Though this is sufficient for many applications, this does not facilitate research involving potentially better geometries. To simulate a nonstandard array in Field II requires significant effort on the users part - every corner of every subdivision of every element in the array must be specified.

The FOCUS software package will soon have the ability to easily generate more complicated arrays. The elements can be distributed on any surface that can be mathematically defined. Instead of providing numerous functions, each specific to a given geometry, we provide a single function that takes the mathematical description of the array's back-surface and lays the elements out on it. The software insures correct yaw rotation such that all elements (if square) are aligned, and will insure all element normal vectors are perpendicular to the surface.

B. Use

The user provides the mathematical description of the surface,or set of surfaces, the elements are to be located on. Other parameters such as number of elements, element size, etc. are of course still necessary. The benefit of the new approach is the significant reduction in necessary coding on the user's part. For example, the toroidal array in Figure 1 was created with only 3 additional lines of MATLAB code then would be necessary to create a planar array. These lines of code are the mathematical description of the surface, one for each dimension.

Figure 1: Toroidal array that was generated with minimal effort using the new features of FOCUS. With Field II this array would have required the user to specify the coordinates of every corner of every element.

The new code will integrate with the existing FOCUS software as its own separate module. The new code does not replace existing routines. Arrays created with the mapping function are passed as objects to the other FOCUS functions, with the exact same approach as before.

The combined time taken to define the surfaces and use the new code to generate the 6 arrays seen here, having never created these geometries in FOCUS before, was less then 20 minutes. This is significantly less then the hours it takes to write the necessary MATLAB code to create a new geometry using other software packages.

Below are some other examples of new geometries generated using the new software.

Figure 2: Toroidal array that closes in both dimensions. The mapping software ensures correct element spacing even in cases where the surface's edges come together to form a closed surface.

Figure 3: Rectangular elements superimposed on a conical surface.

Figure 4: Spiral array of square elements.

C. Methodology

Successful array generation, successful meaning that the generated array matches what the user envisioned, depends upon the user's understanding of what the new code was designed to do. It also helps to know the basics that explain how it works. The functionality of the new software is conceptually simple. An array geometry is generated by treating your surface description as a mapping function. The elements are mapped to your surface, their normal vectors aligned perpendicular to the surface, and their yaw angle adjusted such that each element aligns with its neighbors.

Because of the way the software works, the user should be aware of some caveats:

Non-conformal mapping. Providing a non-conformal mapping function will make it impossible to align adjacent elements along all dimensions. The software's default action is to adjust the element's yaw, pitch, and roll to minimize the L2 norm of adjacent element alignment deviations.

Non-uniform streatching. This will result in non-uniform spacing between adjacent elements, though they will still be aligned correctly.

Below are additional arrays that were easily created, however these arrays violate some of the warnings that were suggested above, each mapping is both non-conformal and also has non-uniform stretching. These examples serve to demonstrate why we do not enforce restrictions on the user's mapping, had we required conformality neither array would be allowed.

Figure 5: An array generated using a non-conformal mapping onto a higher order Bessel function. Alignment deviations were minimized automatically.

Figure 6: Non-conformal hyperbolic mapping demonstrating unequal curvature along the dimensions. Conformal hyperbolic mappings do exist; the non-conformal variant was purposely chosen for demonstration.

D. Contributors

Simulations

Web Site