arim.models.block_in_immersion.scat_unshifted_transfer_functions#
- arim.models.block_in_immersion.scat_unshifted_transfer_functions(views, tx, rx, freq_array, scat_obj, probe_element_width=None, use_directivity=True, use_beamspread=True, use_transrefl=True, use_attenuation=True, scat_angle=0.0, numangles_for_scat_precomp=0, first_nonzero_freq_idx=None, turn_off_invalid_rays=False)[source]#
Compute unshifted transfer functions for scatterer echoes (multi-frequency model).
Returns
H_ij(omega) = Q_i(omega) Q'_j(omega) S(omega, theta_i, theta_j)
Output spectra uses the math Fourier convention (not the acoustics one).
- Parameters:
views (Dict[Views])
tx (ndarray) – Shape: (numtimetraces, )
rx (ndarray) – Shape: (numtimetraces, )
freq_array (ndarray or float) – Shape: (numfreq, )
scat_obj (arim.scat.Scattering2d)
probe_element_width (float or None)
use_directivity (bool)
use_beamspread (bool)
use_transrefl (bool)
use_attenuation (bool)
scat_angle (float)
numangles_for_scat_precomp (int) – Number of angles in [-pi, pi] for scattering precomputation. 0 to disable. See module documentation.
first_nonzero_freq_idx (int or None) – Default: assumes first freq is zero, except if only one freq is given.
turn_off_invalid_rays (bool)
- Yields:
partial_transfer_function_f (ndarray) – Shape: (numscatterers, numtimetraces, numfreq). Complex. Contribution for one view.
delays (ndarray) – Shape: (numscatterers, numtimetraces). Float. Contribution for one view.
See also