Project Page | Paper | Pre-Print | Data
Walter Simson,
Louise Zhuang,
Sergio Sanabria,
Neha Antil,
Jeremy Dahl,
Dongwoon Hyun
Stanford University
This is the official implementation of the paper "Differentiable Beamforming for Ultrasound Autofocusing."
- dbua.py - main experiment file. Adjust the global configuration parameters to run experiments.
- das.py - Delay-and-sum IQ data according to a given time delay profile.
- paths.py - Calculates the time-of-flight between two points according to a speed-of-sound map.
- losses.py - Contains the proposed phase-error and auxiliary loss functions.
This project requires ffmpeg to be installed to save mp4 files. If you have not already, install ffmpeg on Ubuntu by running:
sudo apt-get install ffmpeg
You can install the required Python dependencies like this:
micromamba env create -f environment.yml
micromamba activate dbua
Then, install JAX using the instructions for the pip GPU installation method found here.
The hyperparameters set in dbua can be used to reproduce the results from the paper. The data from the paper can be found in the release on GitHub, and the mat files should be placed in the data/
directory of this repository:
data
├── 1420.mat
├── 1465.mat
├── 1480.mat
├── 1510.mat
├── 1540.mat
├── 1555.mat
├── 1570.mat
├── checker2.mat
├── checker8.mat
├── four_layer.mat
├── inclusion_layer.mat
├── inclusion.mat
├── README.md
└── two_layer.mat
Run the program with this command:
python dbua.py
@inproceedings{simson2023dbua,
title={Differentiable Beamforming for Ultrasound Autofocusing},
author={Simson, Walter and Zhuang, Louise and Sanabria, Sergio J and Antil, Neha and Dahl, Jeremy J and Hyun, Dongwoon},
booktitle={International Conference on Medical Image Computing and Computer-Assisted Intervention},
pages={428--437},
year={2023},
organization={Springer}
}
- Q: What computer configuration was used to develop this program?
- A: This code was developed using the following configuration:
Attribute | Detail |
---|---|
OS | Ubuntu Linux |
RAM | 32GB |
GPU | NVIDIA RTX A6000 (48 GB VRAM) |
CUDA Version | 12.1 |