diff --git a/joss.06772/10.21105.joss.06772.crossref.xml b/joss.06772/10.21105.joss.06772.crossref.xml new file mode 100644 index 0000000000..a38fe9d738 --- /dev/null +++ b/joss.06772/10.21105.joss.06772.crossref.xml @@ -0,0 +1,156 @@ + + + + 20240916084912-5e00275baba8f2f6e21125f1004b3d6d87b76430 + 20240916084912 + + JOSS Admin + admin@theoj.org + + The Open Journal + + + + + Journal of Open Source Software + JOSS + 2475-9066 + + 10.21105/joss + https://joss.theoj.org + + + + + 09 + 2024 + + + 9 + + 101 + + + + QUPS: A MATLAB Toolbox for Rapid Prototyping of +Ultrasound Beamforming and Imaging Techniques + + + + Thurston + Brevett + https://orcid.org/0000-0002-0720-6955 + + + + 09 + 16 + 2024 + + + 6772 + + + 10.21105/joss.06772 + + + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + http://creativecommons.org/licenses/by/4.0/ + + + + Software archive + 10.5281/zenodo.13363957 + + + GitHub review issue + https://github.com/openjournals/joss-reviews/issues/6772 + + + + 10.21105/joss.06772 + https://joss.theoj.org/papers/10.21105/joss.06772 + + + https://joss.theoj.org/papers/10.21105/joss.06772.pdf + + + + + + K-wave: MATLAB toolbox for the simulation and +reconstruction of photoacoustic wave fields + Treeby + Journal of Biomedical Optics + 2 + 15 + 10.1117/1.3360308 + 1083-3668 + 2010 + Treeby, B. E., & Cox, B. T. +(2010). K-wave: MATLAB toolbox for the simulation and reconstruction of +photoacoustic wave fields. Journal of Biomedical Optics, 15(2), 021314. +https://doi.org/10.1117/1.3360308 + + + Make the most of MUST, an open-source matlab +UltraSound toolbox + Garcia + 2021 IEEE international ultrasonics symposium +(IUS) + 10.1109/IUS52206.2021.9593605 + 2021 + Garcia, D. (2021). Make the most of +MUST, an open-source matlab UltraSound toolbox. 2021 IEEE International +Ultrasonics Symposium (IUS), 1–4. +https://doi.org/10.1109/IUS52206.2021.9593605 + + + The UltraSound ToolBox + Rodriguez-Molares + 2017 IEEE international ultrasonics symposium +(IUS) + 10.1109/ULTSYM.2017.8092389 + 2017 + Rodriguez-Molares, A., Rindal, O. M. +H., Bernard, O., Nair, A., Lediju Bell, M. A., Liebgott, H., Austeng, +A., & L⊘vstakken, L. (2017). The UltraSound ToolBox. 2017 IEEE +International Ultrasonics Symposium (IUS), 1–4. +https://doi.org/10.1109/ULTSYM.2017.8092389 + + + MatCL: A new easy-to use OpenCL toolbox for +MathWorks Matlab + Heinisch + Proceedings of the international workshop on +OpenCL + 10.1145/3204919.3204927 + 2018 + Heinisch, P., & Ostaszewski, K. +(2018). MatCL: A new easy-to use OpenCL toolbox for MathWorks Matlab. +Proceedings of the International Workshop on OpenCL, 8:1–8:1. +https://doi.org/10.1145/3204919.3204927 + + + FIELD: A program for simulating ultrasound +systems + Jensen + Medical and Biological Engineering and +Computing + 34 + 1996 + Jensen, J. (1996). FIELD: A program +for simulating ultrasound systems. Medical and Biological Engineering +and Computing, 34, 351–352. + + + + + + diff --git a/joss.06772/10.21105.joss.06772.pdf b/joss.06772/10.21105.joss.06772.pdf new file mode 100644 index 0000000000..58506f1f23 Binary files /dev/null and b/joss.06772/10.21105.joss.06772.pdf differ diff --git a/joss.06772/paper.jats/10.21105.joss.06772.jats b/joss.06772/paper.jats/10.21105.joss.06772.jats new file mode 100644 index 0000000000..371dd7b03d --- /dev/null +++ b/joss.06772/paper.jats/10.21105.joss.06772.jats @@ -0,0 +1,374 @@ + + +
+ + + + +Journal of Open Source Software +JOSS + +2475-9066 + +Open Journals + + + +6772 +10.21105/joss.06772 + +QUPS: A MATLAB Toolbox for Rapid Prototyping of +Ultrasound Beamforming and Imaging Techniques + + + +https://orcid.org/0000-0002-0720-6955 + +Brevett +Thurston + + + + + +Stanford University + + + +9 +101 +6772 + +Authors of papers retain copyright and release the +work under a Creative Commons Attribution 4.0 International License (CC +BY 4.0) +2022 +The article authors + +Authors of papers retain copyright and release the work under +a Creative Commons Attribution 4.0 International License (CC BY +4.0) + + + +MATLAB +ultrasound +beamforming +imaging +prototyping +signal processing +CUDA +OpenCL + + + + + + Summary: +

Medical ultrasound encompasses a rapidly developing field of + research with many potential applications from diagnostics to + therapeutics. Public data initiatives and recent industry trends have + reduced the cost and complexity to engage in research via publicly + available data, on-board data acquisition functions, and commercial + off the shelf (COTS) imaging systems. However, terminology, data + formatting standards, and computing practices tend to be highly + fragmented throughout the ultrasound research field, leading to a high + barrier of entry that hinders communication, code reuse, and + shareability.

+

QUPS aims to facilitate ultrasound research + by offering a flexible, performant, modular, and intuitive toolbox + that can be used by experienced researchers as well as curious + students for data acquisition, generation, representation, and + processing. It pursues this goal by offering tools designed to reduce + the burden of common computational tasks involved in the scientific + process by standardizing data formats and offering hardware + accelerated functionality.

+
+ + Statement of need: +

The lack of data and terminology standardization in ultrasound + technology research is an easily overlooked impediment to developing + research, as it encourages reinventing the wheel and can easily lead + to misinterpretation. At its lowest level, QUPS + provides memory efficient definition classes capable of representing a + wide variety of common imaging systems and enforces standardized + units, coordinate systems, and nomenclature. All classes have data + visualization support, making it far easier to share and validate data + amongst collaborators and with the public.

+

QUPS provides a variety of compute and + memory optimized implementations of common signal processing methods + (e.g. beamforming, resampling, or convolution), which take advantage + of native parallelization tools within MATLAB or hardware acceleration + via CUDA or OpenCL when feasible by leveraging + MatCL + (Heinisch + & Ostaszewski, 2018). QUPS exploits + data parallelism primarily using a single program multiple data (SPMD) + approach, and optimistically dispatches to the most efficient + implementation available on a user’s computer. For access to cutting + edge research, it can also export or import to + USTB + (Rodriguez-Molares + et al., 2017), an ultrasound toolbox which contains a library + of advanced algorithms from the literature.

+

To facilitate data acquisition, QUPS + provides tools to import data from + Verasonics + Vantage ultrasound research scanners, which uses a flexible + yet highly complex data standard. Similarly, to facilitate data + generation, QUPS also interfaces with multiple + popular free ultrasound field simulators including + FieldII + (Jensen, + 1996), MUST + (Garcia, + 2021), and k-Wave + (Treeby + & Cox, 2010). Simulations can be batched on a compute + cluster via MATLAB’s parallel server toolbox.

+

Alternatively, when a coarse but fast approximation is preferable, + QUPS offers a hardware accelerated simulator + with minimal complexity. This method uses a green’s function to + simulate ideal isotropic point sources (transmitters), point + receivers, and point scatterers with radial propagation loss using the + equation

+

+ + xmn(t)=sv(tc01(||𝐩s𝐪m||+||𝐩s𝐫n||))||𝐩s𝐪m||||𝐩s𝐫n||

+

where + + t + is time, + + c0 + is the speed of sound, + + v() + is the transmit waveform, + + m, + + + n, + and + + s + are the transmit, receive, and scatterer indices, + + + 𝐪m + and + + 𝐫n + and + + 𝐩s + are the transmit elements, receive elements, and scatterer locations + in 3D Cartesian coordinates, and + + xmn() + is the received echo waveform as a function of time. This expression + is embarrassingly parallel over + + m + and + + n, + and can be further accelerated with a branch-and-bound approach used + to minimize unnecessary computation. Both of these aspects are + exploited in native MATLAB, as well as in CUDA and OpenCL kernels.

+

Broadcasting conventions are employed throughout to reduce the + memory footprint while offering significant flexibility. For example, + to implement delay-and-sum beamforming, one of the most common + operations in ultrasound imaging, QUPS provides + a GPU-enabled method employing the equation

+

+ + bijkf=mnαijknmxmnf(c01(||𝐩ijk𝐫n||+(1)s(𝐩ijk,𝐪m)||𝐩ijk𝐪m||)tm)

+

where + + m, + + + n, + and + + f + are the transmit, receive and (image) frame indices, + + + i, + + + j, + and + + k + are the voxel (or pixel) indices, + + xmnf() + is the voltage signal (trace) as a function of time, + + + tm + is the start time for transmit + + m, + + + 𝐩ijk + are the voxel positions in 3D cartesian coordinates, + + + 𝐪m + and + + 𝐫n + are the virtual transmit and receiver positions, and + + + s(,) + is a threshold function based on the relation between the virtual + transmit position and the imaging voxel position. Rather than require + the user to specify the full five dimensional tensor + + + αijknm, + any subset of these dimensions may be singular to efficiently form + e.g. a transmit by lateral weighting (apodization) scheme or a + receiver by depth weighting scheme. Permutations of the input data + e.g.  + + xnfm + or + + 𝐩kji + are handled via properties specifying the indices rather than by + enforcing a convention, which may lead to costly memory + operations.

+

Engaging in research often involves a plethora of small choices in + order to configure software to suit the needs of a particular + scientific inquiry. While exposing the user to these choices is + necessary for some fields of research, mandating a suitable input + forces all users to consider each aspect of the methodology. In most + cases, the vast majority of these choices are either ultimately + inconsequential or there exists a clear optimal or, at a minimum, a + clear acceptable choice. For example, for + finite-difference time-domain (FDTD) simulators, knowledge of a + transducer’s frequency bandwidth is sufficient to determine a + reasonably sized temporal sampling interval that satisfies the + Courant-Friedrichs-Lewy (CFL) stability criterion. For research + regarding the stability and accuracy of such simulators, the sampling + interval is a critical choice. In many other cases however, this + aspect is irrelevant as long as the sampling interval is + sufficiently small. Requiring a user to be + sufficiently well-versed with such minutia creates a barrier to entry + with little benefit.

+

Throughout the toolbox, QUPS provides + reasonable defaults that abstract and simplify the number and + complexity of such choices so that researchers can focus on the big + picture questions. When these choices do become critical as is the + case for researchers and experts, such users can engage with the + toolbox at a lower level, or simply use the available functionality as + a template to be modified to suit their needs.

+
+ + Acknowledgements +

This material is based upon work supported by the National + Institutes of Health under award number R01EB027100 and by the + National Science Foundation Graduate Research Fellowship under Grant + No. DGE-1656518. The content is solely the responsibility of the + authors and does not necessarily represent the official views of the + National Institutes of Health.

+
+ + + + + + + + TreebyBradley E. + CoxB. T. + + K-wave: MATLAB toolbox for the simulation and reconstruction of photoacoustic wave fields + Journal of Biomedical Optics + SPIE-Intl Soc Optical Eng + 2010 + 15 + 2 + 1083-3668 + http://dx.doi.org/10.1117/1.3360308 + 10.1117/1.3360308 + 021314 + + + + + + + GarciaDamien + + Make the most of MUST, an open-source matlab UltraSound toolbox + 2021 IEEE international ultrasonics symposium (IUS) + 2021 + + 10.1109/IUS52206.2021.9593605 + 1 + 4 + + + + + + Rodriguez-MolaresAlfonso + RindalOle Marius Hoel + BernardOlivier + NairArun + Lediju BellMuyinatu A. + LiebgottHervé + AustengAndreas + L⊘vstakkenLasse + + The UltraSound ToolBox + 2017 IEEE international ultrasonics symposium (IUS) + 2017 + + 10.1109/ULTSYM.2017.8092389 + 1 + 4 + + + + + + HeinischPhilip + OstaszewskiKatharina + + MatCL: A new easy-to use OpenCL toolbox for MathWorks Matlab + Proceedings of the international workshop on OpenCL + ACM + New York, NY, USA + 2018 + 10.1145/3204919.3204927 + 8:1 + 8:1 + + + + + + JensenJørgen + + FIELD: A program for simulating ultrasound systems + Medical and Biological Engineering and Computing + 199601 + 34 + 351 + 352 + + + + +