Skip to main content

Openwater LIFU Verification Tests

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openlifu_test_scripts-1.1.0.tar.gz (7.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

openlifu_test_scripts-1.1.0-py3-none-any.whl (95.4 kB view details)

Uploaded Python 3

File details

Details for the file openlifu_test_scripts-1.1.0.tar.gz.

File metadata

  • Download URL: openlifu_test_scripts-1.1.0.tar.gz
  • Upload date:
  • Size: 7.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for openlifu_test_scripts-1.1.0.tar.gz
Algorithm Hash digest
SHA256 8b31cd8565407c10114692f3ba18cb45705716440f4b08558a0c26408ca567d5
MD5 0b977acac003d1bdf98de1e28304ae9c
BLAKE2b-256 d5d6991327bfa0358eb8fef07e3c018422fae64cf063d1e7fd348de1eee442aa

See more details on using hashes here.

File details

Details for the file openlifu_test_scripts-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for openlifu_test_scripts-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 345b7f472223eabfde314a42c9223998b59f7a07c0ddbe1c52fbe827865dcf7a
MD5 b69b4aa8e2a7ffdbda35db090c72d69c
BLAKE2b-256 c6dba520cb286e8cbabab11200e6dd412a0861a4cec06a38438c0e9a67161a48

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page