Utility and verification scripts for OpenLIFU hardware validation, burn-in, and data analysis.
This repository contains:
- Thermal and burn-in verification scripts for transmitter and console behavior
- Self-test and hardware sanity scripts
- Data processing helpers for logs and report generation
- Historical and legacy test content kept for reference
The main active package is verification, which contains most test runners and shared test logic.
verification/: Primary test package and production requirement test scriptstools/: Helper utilities and support scriptstutorials/: Example and tutorial contentlogs/: Output logs produced by test runsplots/: Generated plots and visualizationslegacy/: Older scripts retained for backwards referencedeprecated/: Retired scripts that should not be used for new runsbuild/,dist/: Build artifacts
- Python 3.10 to 3.12
- OpenLIFU SDK installed and accessible
- Device access permissions for serial/USB interfaces when running against hardware
From pyproject.toml:
- Package name:
verification - Runtime dependency:
openlifu-sdk
- Create and activate a virtual environment.
Windows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1- Install the package in editable mode from repository root:
pip install -e .-
prodreqs_tx_short_verification_test.py- Short transmitter verification path
- Useful for communication and functional checks
-
prodreqs_tx_long_verification_test.py- Long-duration heating/burn-in workflow scaffold
-
prodreqs_base_class.py- Shared base class, telemetry monitoring, limits, and CLI argument parser
Because several scripts use package-relative imports, run them from the repository root with module syntax.
Examples:
python -m verification.prodreqs_tx_short_verification_test --frequency 400 --num-modules 2 --test-runthroughpython -m verification.prodreqs_tx_long_verification_test --frequency 400 --num-modules 2Most production requirement scripts consume argument parsing from verification/prodreqs_base_class.py.
Useful options include:
--frequency KHZ--num-modules N--test-case N--test-runthrough--simulate--external-power--console-shutoff-temp C--tx-shutoff-temp C--ambient-shutoff-temp C--temperature-check-interval S--temperature-log-interval S--log-dir DIR--verboseor--quiet--skip-logfile
- Runtime logs are typically written under
logs/ - Additional outputs may be created in:
plots/verification/*.csv- project root files like
combined_logs.xlsx
Use --log-dir to direct log output to a custom path.
When running against physical hardware:
- Ensure emergency stop and power cutoff procedures are known before starting
- Confirm shutoff temperatures and monitoring intervals are appropriate
- Prefer running with conservative thresholds during initial validation
-
Import errors:
- Ensure you run via
python -m verification.<module>from repo root - Confirm
pip install -e .completed successfully
- Ensure you run via
-
Device connection failures:
- Verify hardware is connected and powered
- Confirm SDK/device drivers are installed
- Re-run with
--verbosefor more detailed logs
-
No log file generated:
- Check
--skip-logfilewas not set - Confirm write access to the selected log directory
- Check
- Some files in
legacy/anddeprecated/are intentionally preserved and may not reflect current behavior - Keep new work in
verification/unless intentionally adding migration content - Maintain script compatibility with Python 3.10-3.12