find_multiple_focus_phase()
Description: Calculates phase shifts to focus a transducer array at the given points.
Usage
transducer = find_multiple_focus_phase(transducer, x, y, z, medium, f0);
transducer = find_multiple_focus_phase(transducer, x, y, z, medium, f0, ndiv);
transducer = find_multiple_focus_phase(transducer, x, y, z, medium, f0, ndiv,linear_array);
Arguments
- transducer A FOCUS transducer array.
- x List of x coordinates of the foci.
- y List of y coordinates of the foci.
- z List of z coordinates of the foci.
- meduim A FOCUS medium struct.
- f0 Center frequency of the array in Hz.
- ndiv Number of abscissas used for calculations. Default value is 200.
- linear_array set to 1 if the array is linear in x and each group of elements along the x-axis should have the same phase. If this parameter is not specified, the function will generate a warning and attempt to determine the geometry of the array.
Output Parameters
- transducer Transducer array with complex weights set to focus it at the given points.
Notes
This function alters the transducer struct, the output transducer
should be the same as the input transducer. The logic is that if all elements have a complex_weight of 0 at the target point, the intensity at that point is the highest. Each focus is defined such that focus(i) = [ x(i) y(i) z(i) ].

