arim.im.das#

Delay-and-sum functions

Contains different implementation of delay-and-sum algorithm.

Examples

res = das.delay_and_sum(frame, focal_law, fillvalue=0.0)
res = das.delay_and_sum(frame, focal_law, fillvalue=np.nan)
res = das.delay_and_sum(frame, focal_law, interpolation="nearest")
res = das.delay_and_sum(frame, focal_law, interpolation="nearest", aggregation="median")
res = das.delay_and_sum(frame, focal_law, interpolation="nearest", aggregation=("huber", 1.5))
res = das.delay_and_sum(frame, focal_law, interpolation="linear")
res = das.delay_and_sum(frame, focal_law, interpolation=("lanczos", 3))
res = das.delay_and_sum(frame, focal_law, interpolation=("lanczos", 3), aggregation="median")

Data structures#

  • lookup_times_tx: ndarray of shape (numgridpoints, numtx)

  • lookup_times_rx: ndarray of shape (numgridpoints, numrx)

  • amplitudes_tx: ndarray of shape (numgridpoints, numtx)

  • amplitudes_tx: ndarray of shape (numgridpoints, numrx)

  • amplitudes: TxRxAmplitudes or ndarray (numgridpoints, numtimetraces) or None

delay_and_sum(frame, focal_law, *args, **kwargs)

Delay-and-sum timetraces

delay_and_sum_naive(frame, focal_law[, ...])

Pure-Python implementation of delay and sum.

delay_and_sum_numba(frame, focal_law[, ...])

Delay-and-sum function for non-uniform amplitudes

delay_and_sum_numba_noamp(frame, focal_law)

Delay and sum with uniform amplitudes

lanczos_interpolation(t, x, a)

sinc(x)