AcousTools: A `Full-Stack', Python-Based, Acoustic Holography Library
Joshua Mukherjee, Giorgos Christopoulos, Zhouyang Shen, Sriram Subramanian, Ryuji Hirayama
TL;DR
Acoustic holography software lacks a unified full-stack solution that covers setup, propagation, phase retrieval, analysis, and hardware control, hindering interoperability and reproducibility. AcousTools is a Python-based library that implements a five-stage full-stack (Setup, Propagators, Solvers, Analysis, Hardware) with interchangeable components (piston model and Boundary Element Method for propagation; IB, GS-PAT, naive, WGS, implicit-gradient solvers; OpenMPD-driven hardware). It provides end-to-end development capabilities and demonstrates a dual-trap optimization by minimizing Gor'kov potential for a droplet while maximizing pressure for a solid particle, with real-world validation, illustrating open, benchmarkable interoperability. It aims to become an open-source standard for interoperable acoustic holography research, enabling reproducibility and rapid development of mid-air haptics, volumetric displays, and related applications.
Abstract
Acoustic Holography is an emerging field where mid-air ultrasound is controlled and manipulated for novel and exciting applications. These range from mid-air haptics, volumetric displays, contactless fabrication, and even chemical and biomedical applications such as drug delivery. To develop these applications, a software framework to predict acoustic behaviour and simulating resulting effects, such as applied forces or scattering patterns is desirable. There have been various software libraries and platforms that attempt to fill this role, but there is yet to be a single piece of software that acts as a 'full-stack' solution. We define this full-stack as the process from abstraction to physicalisation starting with setup, modelling acoustic propagation, transducer phase retrieval, sound field analysis, and control of the acoustic holographic hardware itself. Existing methods fail to fulfil one or more of these categories. To address this, we present AcousTools, a Python-based acoustic holography library, designed to support the full suite of acoustic holographic applications and we show AcousTools's ability to meet each step of the full-stack's requirements. AcousTools has the potential to become the standard code library for acoustic holography, with the uniquely complete suite of features wrapped in a language that is known to be easy to use, AcousTools will increase the ability for researchers to develop novel applications as well as accurately review other's work. The full-stack, aside from software, will also be useful for researchers - providing a way to view and compare methodologies by understanding where they fit into the stack.
