Thesis Details

Ultrasound Simulation in Python

Bachelor's Thesis Student: Černý David Academic Year: 2021/2022 Supervisor: Jaroš Jiří, doc. Ing., Ph.D.
Czech title
Ultrazvuková simulace v pythonu

k-Wave is a MATLAB toolbox for the simulation of sound wave propagation. The aim of this thesis is to re-implement a subset of k-Wave in Python while focusing on computational performance. The second goal is to develop a set of guidelines for transforming MATLAB source code to Python that could aid in further development. The thesis first summarises core features of the k-Wave toolbox, explores available technologies for high performance computing in Python, and highlights the most important aspects of transforming MATLAB source codes to Python. The second part of the thesis discusses architecture, testing and benchmarking of the Python implementation. The result of this thesis is a Python implementation of the three-dimensional sound propagation simulation compatible with k-Wave. The new implementation improves the structure of the original toolbox while providing performance comparable to the original k-Wave. In some instances, the performance of the new implementation surpasses the original implementation.


k-Wave, simulation, optimization, OOP, NumPy, Python, MATLAB

Degree Programme
defended, grade A
15 June 2022
Černocký Jan, prof. Dr. Ing. (DCGM FIT BUT), předseda
Bartík Vladimír, Ing., Ph.D. (DIFS FIT BUT), člen
Češka Milan, doc. RNDr., Ph.D. (DITS FIT BUT), člen
Jaroš Jiří, doc. Ing., Ph.D. (DCSY FIT BUT), člen
Orság Filip, Ing., Ph.D. (DITS FIT BUT), člen
ČERNÝ, David. Ultrasound Simulation in Python. Brno, 2022. Bachelor's Thesis. Brno University of Technology, Faculty of Information Technology. 2022-06-15. Supervised by Jaroš Jiří. Available from:
    author = "David \v{C}ern\'{y}",
    type = "Bachelor's thesis",
    title = "Ultrasound Simulation in Python",
    school = "Brno University of Technology, Faculty of Information Technology",
    year = 2022,
    location = "Brno, CZ",
    language = "english",
    url = ""
Back to top