Skip to main content

openLIFU-test-scripts

Utility and verification scripts for OpenLIFU hardware validation, burn-in, and data analysis.

Overview

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.

Repository Layout

  • verification/: Primary test package and production requirement test scripts
  • tools/: Helper utilities and support scripts
  • tutorials/: Example and tutorial content
  • logs/: Output logs produced by test runs
  • plots/: Generated plots and visualizations
  • legacy/: Older scripts retained for backwards reference
  • deprecated/: Retired scripts that should not be used for new runs
  • build/, dist/: Build artifacts

Requirements

  • 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

Setup

  1. Create and activate a virtual environment.

Windows PowerShell:

python -m venv .venv
.\.venv\Scripts\Activate.ps1
  1. Install the package in editable mode from repository root:
pip install -e .

Common Test Scripts

In verification/

  • 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

Running Tests

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-runthrough
python -m verification.prodreqs_tx_long_verification_test --frequency 400 --num-modules 2

Frequently Used CLI Options

Most 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
  • --verbose or --quiet
  • --skip-logfile

Logs and Outputs

  • 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.

Safety Notes

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

Troubleshooting

  • Import errors:

    • Ensure you run via python -m verification.<module> from repo root
    • Confirm pip install -e . completed successfully
  • Device connection failures:

    • Verify hardware is connected and powered
    • Confirm SDK/device drivers are installed
    • Re-run with --verbose for more detailed logs
  • No log file generated:

    • Check --skip-logfile was not set
    • Confirm write access to the selected log directory

Development Notes

  • Some files in legacy/ and deprecated/ 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

Release files for openlifu-verification 1.1.6

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openlifu-verification 1.1.6
File Size Uploaded
openlifu_verification-1.1.6.tar.gz 73.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for openlifu-verification 1.1.6
File Interpreter ABI Platform
openlifu_verification-1.1.6-py3-none-any.whl Python 3 none any Details

Total release size: 162.4 kB

Release files / openlifu_verification-1.1.6.tar.gz

Download URL openlifu_verification-1.1.6.tar.gz
Size 73.6 kB
Tags Source
SHA-256 checksum
How to use checksums
7c694cce3bdf0cae78e195edcc7386bc68d5c304668a6b6afaff1a0f88ec0aaa
BLAKE2b-256 checksum
How to use checksums
06f70e6cd4d61e16984172269e2349f8fc3f14098af585f6e60e792b110c94c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release files / openlifu_verification-1.1.6-py3-none-any.whl

Download URL openlifu_verification-1.1.6-py3-none-any.whl
Size 88.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dc855f4f723a1ec0261d8df861ed7aca41cd285319c960dd4e97b06d8af8bfb3
BLAKE2b-256 checksum
How to use checksums
b21ebd4b93e5d860f30a3d9a3fc763728816fb584d20468ee25cd407bdc9c210
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.10

Release history Release notifications | RSS feed

This release

1.1.6 This release

2 release files

1.1.5

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page