Openwater Focused Ultrasound Toolkit
Project description
openlifu is a toolbox for planning and controlling focused ultrasound treatments. It generally replicates the functionality developed in the MATLAB open-TFUS toolbox.
Installation
Requirements
Python 3.9 or later on Windows or Linux.
Create Virtual Environment
Windows:
C:\Users\<uname>\AppData\Local\Programs\Python\Python311\python.exe -m venv env
.\env\Scripts\activate
Linux:
python3.11 -m venv env
Install project (editable)
With this repo as the working directory:
Basic mode
pip install -e .
Dev mode
pip install -e '.[dev]'
Installing Meshroom
If you are using openlifu.nav.photoscan to reconstruct meshes from photo collections, then you will need to set up Meshroom.
Ubuntu
Download and Extract
Download Meshroom for Linux from https://alicevision.org/#meshroom.
Extract the downloaded archive:
tar -xvf Meshroom-2023.3.0.tar.gz
Add Meshroom to PATH
Temporary (Current Session) Run:
export PATH="<path-to-meshroom>/Meshroom-2023.3.0:$PATH"
Replace <path-to-meshroom> with the actual path where Meshroom was extracted.
Permanent (Persistent Across Sessions) For Bash users:
echo 'export PATH="<path-to-meshroom>/Meshroom-2023.3.0:$PATH"' >> ~/.bashrc
source ~/.bashrc
Windows
Download and Extract
Download Meshroom for Windows from https://alicevision.org/#meshroom.
Extract the downloaded archive to a directory of your choice.
Add Meshroom to PATH
Open Edit environment variables for your account from the Start menu.
In the Environment Variables window, under User variables, select Path and click Edit.
Click New, and add the path to the folder containing Meshroom.exe.
Click OK to save the changes.
Enable GPU Acceleration
To ensure Meshroom uses your NVIDIA GPU:
Open NVIDIA Control Panel.
In the left sidebar under 3D Settings, click Manage 3D settings.
Go to the Program Settings tab.
Click Add, then browse to and select Meshroom.exe from the folder where you extracted Meshroom.
Under Select the preferred graphics processor for this program, choose High-performance NVIDIA processor.
Click Apply.
Version control of database using DVC (Data Version Control)
Data Version Control (DVC) is a data management tool that is meant to be run alongside Git.
In this project, DVC is used to link changes in the code to specific versions of a sample database containing example project files.
DVC can be used when this project is installed in Dev mode. You can read more about DVC and how to use it here.
Note: Remote access to the sample database stored on google drive is currently restricted. Access requires a gdrive_client_secret
for user access authentication to be shared by developers.
DVC usage
To download the sample database:
git pull
dvc remote modify --local shared_gdrive gdrive_client_secret <client_secret_here> # Contact developers for grive_client_secret
dvc pull # Requires access to remote storage
This will download a directory ‘db_dvc’ in the repo directory that contains the corresponding version of example database files.
To commit updates to the sample database:
dvc add db_dvc
git commit -m "Describe updates to database"
git push
dvc push #Requires access to remote storage
Disclaimer
CAUTION - Investigational device. Limited by Federal (or United States) law to investigational use. The system described here has not been evaluated by the FDA and is not designed for the treatment or diagnosis of any disease. It is provided AS-IS, with no warranties. User assumes all liability and responsibility for identifying and mitigating risks associated with using this software.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file openlifu-0.2.0.tar.gz.
File metadata
- Download URL: openlifu-0.2.0.tar.gz
- Upload date:
- Size: 174.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
969d873fe1065eadb1e2d24f23d0a5ab0a38d079e2c8ee56193299d2ce033bfe
|
|
| MD5 |
544b7ab95818748b2fe8f852c6262831
|
|
| BLAKE2b-256 |
196ed6bdc8e1d7f16e58c574c2b1058c8e5fdc7bacac1b2fffa419ae2a648dcf
|
Provenance
The following attestation bundles were made for openlifu-0.2.0.tar.gz:
Publisher:
cd.yml on OpenwaterHealth/OpenLIFU-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openlifu-0.2.0.tar.gz -
Subject digest:
969d873fe1065eadb1e2d24f23d0a5ab0a38d079e2c8ee56193299d2ce033bfe - Sigstore transparency entry: 199406032
- Sigstore integration time:
-
Permalink:
OpenwaterHealth/OpenLIFU-python@37a2f438dab424a0ec4a80c99c8a3687c17631d2 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/OpenwaterHealth
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@37a2f438dab424a0ec4a80c99c8a3687c17631d2 -
Trigger Event:
release
-
Statement type:
File details
Details for the file openlifu-0.2.0-py3-none-any.whl.
File metadata
- Download URL: openlifu-0.2.0-py3-none-any.whl
- Upload date:
- Size: 141.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ed3c036f8f0bfaef29c8bb185254a21b7b373fbe485ac35bd45627e70ec31c77
|
|
| MD5 |
bc42f7ba91bffe779aae5ff9f67171a7
|
|
| BLAKE2b-256 |
72f66e2cc9e6be39138c25b8ae2327a0514d481e10bfe944fd99422c0993a43f
|
Provenance
The following attestation bundles were made for openlifu-0.2.0-py3-none-any.whl:
Publisher:
cd.yml on OpenwaterHealth/OpenLIFU-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
openlifu-0.2.0-py3-none-any.whl -
Subject digest:
ed3c036f8f0bfaef29c8bb185254a21b7b373fbe485ac35bd45627e70ec31c77 - Sigstore transparency entry: 199406034
- Sigstore integration time:
-
Permalink:
OpenwaterHealth/OpenLIFU-python@37a2f438dab424a0ec4a80c99c8a3687c17631d2 -
Branch / Tag:
refs/tags/v0.2.0 - Owner: https://github.com/OpenwaterHealth
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
cd.yml@37a2f438dab424a0ec4a80c99c8a3687c17631d2 -
Trigger Event:
release
-
Statement type: