hi Brad,
the "beamforming_delays" method of "kWaveTransducer" class, is expected to calculate the appropriate delay values, but it does not count for sub_array windows other than centered window. suppose that you have an array of total 16 elements with a sliding active sub-array of 8 elements. delay values for all of these sub-arrays, are mistakenly calculated the same as the centered (middle) 8 elemnts.
I propose the following solution:
instead of the present line:
% create indexing variable
element_index = -(obj.number_active_elements - 1)/2:(obj.number_active_elements - 1)/2;
one can replace the following two lines:
% form a vector of active element indices
ActiveIdc = find(obj.active_elements == 1);
% create indexing variable
element_index = -(obj.number_elements + 1)/2 + ActiveIdc;
and it works fine.
and ... I should thank you for your useful toolbox.