mach.experimental.beamform

Contents

mach.experimental.beamform#

mach.experimental.beamform(
channel_data: Num[Array, 'n_transmits n_rx n_samples n_frames'],
rx_coords_m: Real[Array, 'n_rx xyz=3'],
scan_coords_m: Real[Array, 'n_points xyz=3'],
tx_wave_arrivals_s: Real[Array, 'n_transmits n_points'],
out: Num[Array, 'n_points n_frames'] | None = None,
*,
rx_start_s: Real[Array, 'n_transmits'],
sampling_freq_hz: float,
f_number: float,
sound_speed_m_s: float,
modulation_freq_hz: float | None = None,
tukey_alpha: float = 0.5,
) Num[Array, 'n_points n_frames']#

Wrapper around kernel.beamform that includes coherent compounding.

The implementation takes some shortcuts for quick prototyping.

Parameters:
  • channel_data – like kernel.beamform channel_data, but with an extra first dimension for transmits

  • tx_wave_arrivals_s – like kernel.beamform tx_wave_arrivals_s, but with an extra first dimension for transmits

See kernel.beamform for other argument descriptions.

Returns:

beamformed+compounded data with shape (n_points, n_frames)