SonoSK

SonoSK is a Python library for simulating medical ultrasound. A probe can be designed, placed in front of a numerical phantom and used to make a B-mode image, or to heat a target and map the temperature, the thermal dose and the lesion that remains. The same transducer, medium and phantom objects serve imaging and therapy, in 1, 2 and 3 dimensions.

Phantom label map, simulated B-mode image with a cyst, two lesions and wire targets, and image quality measures Peak temperature around a focused ultrasound exposure with the lesion outline, temperature at the focus and the treatment report

Contents of version 0.1.0

Part

What it does

Transducers

piston, focused bowl, annular, linear, phased, convex and endocavity, matrix and cylindrical line-focus sources; focusing, steering, apodization

Pressure fields

Rayleigh integral in an attenuating medium, angular spectrum method

Media and phantoms

materials, property maps, layers and inclusions, point scatterers

Imaging

pulse-echo signals, plane, diverging and focused transmits, delay-and-sum, compounding, B-mode

Therapy

heat source, Pennes bioheat equation, CEM43 dose, lesion and treatment report

Probe design

Mason model of a piezoelectric element with backing and matching layers

Acoustic output

derating, ISPPA, ISPTA, mechanical index, FDA limits

Image quality

resolution, contrast, CNR, gCNR, speckle SNR

How each solver was checked is on the Validation page. What comes next, with the version it is planned for, is on the Roadmap.

Getting started

pip install "sonosk[plot]"

Then follow Getting started. Every figure in this guide comes from a script in the Examples.

SonoSK is research software. It is not a medical device, and its results must not be used for clinical decisions.