Skip to content

MATLAB library for the intercomparison of wave models for transcranial ultrasound benchmarks

License

Notifications You must be signed in to change notification settings

ucl-bug/transcranial-ultrasound-benchmarks

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Benchmark problems for transcranial ultrasound simulation: Intercomparison library

License: LGPL v3 DOI arXiv

Author

This library is written by Bradley Treeby, University College London. Contact: [email protected]

Overview

This repository provides the MATLAB functions and scripts used for comparing model results for the benchmarks outlined here.

Quick start guide

  1. Download the intercomparison data files from Zenodo and unzip.
  2. Clone or download this code repository.
  3. Open MATLAB, and navigate to the code repository folder.
  4. Run processAll to generate the paper figures and supplementary materials (this may take some time, particularly to run computeAllMetrics).
  5. Run compareTwo to compare two models for a specified benchmark and source. For example, to compare KWAVE and STRIDE for benchmark 7 for the bowl source, run:
metrics = compareTwo('KWAVE', 'STRIDE', 7, 1, 'C:\DATA', true);

Using the skull models

This repository also hosts the .stl files for the skull models used for benchmarks 7 to 9, along with the affine transforms to position the transducer in the coordinate system of the .stl file. To rasterize the .stl files to a regular Cartesian mesh with a paricular grid resolution, use rasterizeSkullMeshes. This function requires the iso2mesh toolbox. Note, for higher-resolution grids, this function requires significant computer memory. Pre-computed meshes are available in the SKULL-MAPS folder in the data repository stored in Zenodo (see above). Note, the rasterized meshes already incorporate the affine transforms to move the skull relative to the transducer.

Adding new model results

To add new model results:

  1. Decide on a name for the model, e.g., NEWMODEL and add this to the list intercomparison/getModelNames.
  2. Create a NEWMODEL folder in the downloaded results (see above). Add the model results to this folder following the naming convention, e.g., PH1-BM1-SC1-NEWMODEL.mat.
  3. To compare results for one benchmark, call compareTwo as outlined above.
  4. To re-generate the intercomparison results with the new model, run processAll.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this program. If not, see https://www.gnu.org/licenses/.

About

MATLAB library for the intercomparison of wave models for transcranial ultrasound benchmarks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages