Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Beam Pattern Support #31

Open
thorstone25 opened this issue Mar 29, 2024 · 1 comment
Open

Beam Pattern Support #31

thorstone25 opened this issue Mar 29, 2024 · 1 comment
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@thorstone25
Copy link
Owner

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:

  1. Expand the existing respective function to take an input to compute echo (default) or field and select the aperture tx (default) or rx.
  2. Make a branch (i.e. if-else or switch-case) to preserve the existing functionality
  3. Forward the relevant arguments to the field simulator
  • For FieldII / MUST, that means us.scan.positions to calc_hp or pfield
  • For k-Wave that means sensor.record = 'p_max' and bypassing the receive aperture post-processing
  1. Return a regular array instead of ChannelData defined on us.scan (like the beamforming functions).
  2. Update the documentation
@thorstone25 thorstone25 added enhancement New feature or request good first issue Good for newcomers labels Mar 29, 2024
@l-l-z
Copy link
Contributor

l-l-z commented Apr 1, 2024

I have some code working for Field II. Will clean it up later and add documentation 😃

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

2 participants