qups
qups copied to clipboard
Beam Pattern Support
Computing the beam pattern seems to be a very useful feature. It can be used for analyzing a custom Transducer or defining default apodization schemes.
FieldII has calc_hp for this. MUST computes the beam pattern via pfield or pfield3. k-Wave would require just recording p_max(x,y,z) throughout the field rather than p(x=x0,y=y0,z=z0,t) at the transducer surface over time.
To implement this per simulator, one needs to:
- Expand the existing respective function to take an input to compute
echo(default) orfieldand select the aperturetx(default) orrx. - Make a branch (i.e. if-else or switch-case) to preserve the existing functionality
- Forward the relevant arguments to the field simulator
- For FieldII / MUST, that means
us.scan.positionstocalc_hporpfield - For k-Wave that means
sensor.record = 'p_max'and bypassing the receive aperture post-processing
- Return a regular array instead of
ChannelDatadefined onus.scan(like the beamforming functions). - Update the documentation
I have some code working for Field II. Will clean it up later and add documentation 😃