Python/QML engineering UI for OpenLIFU hardware testing, bring-up, and basic sonication workflows.
OpenLIFU Test App is an engineering-first interface with dedicated pages for:
- Full sonication setup and execution (
Controller) - Low-level console and transmitter bring-up (
Console,Transmitter) - Automated verification scripts (
Verification) - Device config and firmware updates (
Settings) - Fast diagnostics and PDF reporting (
Support)
- Python 3.10+
- Local checkout of
openlifu-sdkandOpenLIFU-python(or installed package equivalents)
From the Releases page, download the latest OpenLifu-TestApp*.zip asset, extract it, and run TestApp.exe or TestApp_console.exe (to view console output).
-
Clone this repository.
git clone https://github.com/OpenwaterHealth/OpenLIFU-TestAPP.git cd OpenLIFU-TestAPP -
Create and activate a virtual environment.
python -m venv .venv # Windows .venv\Scripts\activate # macOS/Linux source .venv/bin/activate
-
Install dependencies.
pip install -e . # Optional extras pip install -e .[dev] pip install -e .[test] pip install -e .[dev,test]
-
Install OpenLIFU Python.
git clone https://github.com/OpenwaterHealth/OpenLIFU-python.git cd OpenLIFU-python pip install -e . cd ..
-
Launch the app.
python main.py
| Guide | When to use it |
|---|---|
| Launch Options | Start the app in real, simulated, or HV test mode |
| Controller Page Guide | Build/load a sonication solution, configure, run, monitor progress |
| Transmitter Page Guide | Run per-module TX bring-up tests and trigger/TX quick configs |
| Console Page Guide | Exercise HV controller communication, rails, LEDs, and monitor channels |
| Verification Page Guide | Run long-form PRD verification scripts and inspect run logs |
| Settings Page Guide | Read/write user config JSON and update firmware on Console/TX |
| Support Page Guide | Run rapid diagnostics and export pass/fail PDF reports |
build.bat-
Install development dependencies.
pip install -e .[dev]
-
Run the build script.
python -m PyInstaller OpenLIFU-TestApp.spec
-
Find the packaged app.
- Folder:
dist/TestApp/ - Launcher:
dist/TestApp/TestApp.exe
The build step cleans previous outputs, packages QML/assets, and generates a one-folder Windows distribution.
