ianheimbuch / tusx

An open-source toolbox to perform acoustic simulations using medical images for transcranial ultrasound experiments
BSD 3-Clause "New" or "Revised" License
12 stars 0 forks source link

TUSX Logo

TUSX

A toolbox for acoustic simulations of transcranial ultrasound

TUSX (Transcranial Ultrasound Simulation Toolbox) is an open-source MATLAB toolbox to perform acoustic simulations using subject-specific medical images for transcranial ultrasound experiments. TUSX consists of an integrated processing pipeline that takes in structural MRI (magnetic resonance) or CT (computed tomography) head images, processes them for accurate simulation, and runs the simulations using k-Wave, an existing open-source acoustics toolbox for MATLAB and C++.

Example Output

Installing

TUSX written in MATLAB. As such, download TUSX and add TUSX to your MATLAB seach path.

If you have Git, download TUSX by cloning TUSX:

git clone https://github.com/ianheimbuch/tusx.git

Alternatively, a ZIP of the current version of TUSX can be downloaded via GitHub on a web browser.

Code -> Download ZIP

k-Wave

k-Wave is a powerful open-source toolbox to perform computationally efficient acoustic simulations in MATLAB and C++ developed by Bradley Treeby and Ben Cox (University College London) and Jiri Jaros (Brno University of Technology). TUSX uses k-Wave to run acoustic simulations, so one must install k-Wave and add it to the MATLAB search path to use TUSX. k-Wave can be downloaded for free on their website. Please cite k-Wave if you perform acoustic simulations with the help of TUSX.

Getting started

Preparing simulation from NIfTI volume

The central function in TUSX is tusx_sim_setup:

[kgrid, medium, source, sensor, input_args] = tusx_sim_setup(skullMask_filename, scVox, cxVox, scale, alphaPower)

Parameters:

Options:

There are a host of optional name-value pairs that may be input into tusx_sim_setup. See the help section within tusx_sim_setup for details.

Suggested options:

Executing simulation with k-Wave

The outputs of tusx_sim_setup can then be directly input into k-Wave's function:

kspaceFirstOrder3D(kgrid, medium, source, sensor, input_args{:})

Requirements

Tutorials

Tutorial documentaion available here.

Citing TUSX

If you use TUSX, please cite both TUSX and k-Wave:

TUSX

k-Wave

Links

Credits

TUSX was created by Ian Heimbuch (@ianheimbuch) at the University of California, Los Angeles

The TUSX logo was created by Vaughan Greer

Miscellaneous

License

The code in this project is licensed under the BSD-3-Clause open source license.