Skip to content

Forest-Neurotech/mach

Repository files navigation

mach

PyPI Python License Actions status

An ultrafast CUDA-accelerated ultrasound beamformer for Python users. Developed at Forest Neurotech.

Benchmark Results

Benchmark: Beamforming PyMUST's rotating-disk Doppler dataset at 1.1 trillion points per second (6.5x the speed of sound).

⚠️ Alpha Release

This library is currently under active development and is released as an alpha version. The primary goal of this release is to collect community feedback.

Highlights

  • Ultra-fast beamforming: ~10x faster than prior state-of-the-art
  • 🚀 GPU-accelerated: Leverages CUDA for maximum performance on NVIDIA GPUs
  • 🎯 Optimized for research: Designed for functional ultrasound imaging (fUSI) and other ultrafast, high-channel-count, or volumetric-ensemble imaging
  • 🐍 Python bindings: Zero-copy integration with CuPy, and JAX arrays via nanobind. NumPy support included.
  • 🔬 Validated: Matches vbeam and PyMUST outputs

Installation

Install from PyPI (recommended):

pip install mach-beamform

Or: to include all optional dependencies, including to run the examples:

pip install mach-beamform[all]

Wheel prerequisites:

Build from source

make compile

Build prerequisites:

  • Linux
  • make
  • uv >= 0.6.10
  • gcc >= 8
  • nvcc >= 11.0

Examples

Try our examples:

If you don't have a CUDA-enabled GPU, you can download the notebook from the docs and open in Google Colab (select a GPU instance).

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

Roadmap

Alpha release (v0.0.Z)

  • ✅ Single-wave transmissions (plane wave, focused, diverging)
  • ✅ Linear interpolation beamforming
  • ✅ Allow NumPy/CuPy/JAX/PyTorch inputs through Array API
  • ✅ Comprehensive error handling
  • ✅ PyPI packaging and distribution
  • ✅ Interpolation options: nearest, linear, and quadratic

Numerically validated, but looking for feedback on API

  • ✅ Coherent compounding

Tentative Future Plans

  • Additional apodization windows

See the project page for our up-to-date roadmap. We welcome feature requests!

Acknowledgments

mach builds upon the excellent work of the ultrasound imaging community:

  • vbeam - For educational examples and validation benchmarks
  • PyMUST / PICMUS - For standardized evaluation datasets
  • Community contributors - Gev and Qi for CUDA optimization guidance

This package was developed by the Forest Neurotech team, a Focused Research Organization supported by Convergent Research and generous philanthropic funders.

Citation

If you use mach in your research, please cite:

@software{mach,
  title={mach: Beamforming One Trillion Points Per Second on a Consumer GPU},
  author={Guan, Charles and Rockhill, Alex and Pinton, Gianmarco},
  organization={Forest Neurotech},
  year={2025},
  url={https://github.com/Forest-Neurotech/mach}
}

About

CUDA-accelerated delay-and-sum kernel with Python bindings

Resources

License

Stars

Watchers

Forks