Giter Club home page Giter Club logo

qups's People

Contributors

apodkowa avatar l-l-z avatar saachi-munot avatar thorstone25 avatar waltsims avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

qups's Issues

Error using example_.m

Error using example_ (line 57)
Error setting default value of property 'impulse' of class 'Transducer':
Undefined function 'mustBeScalarOrEmpty' for input arguments of type 'Waveform'.

ChannelData class randomly fails to load on Macs

There seems to be an issue on macs where QUPS is on the path, but "ChannelData" is not a recognized class. It seems it could be a bug with MATLAB's path resolution, or perhaps a subtlety of how macs handle path resolution differently from Ubuntu or Windows.

Example of Eikonal beamforming

Would it be possible to have an example of Eikonal beam-forming with heterogeneous sound speed fields? Seems unsupported for now.

Parallel SIMUS Bug

It appears that parallel SIMUS doesn't work out of the box. I just downloaded the MUST toolbox and ran into the following error:

Error using simus (line 293)
DATENUM failed.

Error in UltrasoundSystem/simus (line 682)
            parfor (m = 1:M, kwargs.parcluster)

Caused by:
    Error using datenummx
    Use of function datenummx is not supported on a thread-based pool.

I suspect that MUST doesn't support this type of parfor syntax natively. It might require working with the maintainer to figure out a workable solution.

DAS returns all 0s

It appears every now and then, the UltrasoundSystem.DAS() returns all 0s on CUDA-enabled computers. I think its likely related to the ptx-file version. It's unclear why exactly this happens, whether it's related to MATLAB or CUDA behaviour or simply versioning issues, but is likely related to the ptx-file version.

Recompiling by running setup cache and recreating the UltrasoundSystem or us = UltrasoundSystem('recompile', true); should provide a work-around for now.

Windows Compilation

Currently I have something working for Windows compilation in my fork. How best do you want to proceed in merging it?

Aperture growth apodization for curvilinear arrays

When I tried using the aperture growth apodization function with a curvilinear transducer (TransducerConvex), I got a warning that only linear arrays (TransducerArray) are currently supported. Are you planning on expanding the implementation of that apodization function to include curvilinear transducers in the near future?

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:

  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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.