PIVTOOLs - Particle Image Velocimetry Tools with CLI and GUI
Project description
PIVTOOLs
Particle Image Velocimetry Tools - A comprehensive toolkit for PIV analysis with both command-line and GUI interfaces.
We present PIVTOOLS, an open-source Python framework built for community expansion with a React-based GUI, which integrates planar, stereoscopic, and ensemble PIV pipelines into a single end-to-end environment. Computationally intensive routines are implemented in optimised C and parallelised with Dask, enabling datasets of large scale datasets to be processed efficiently on both workstations and distributed HPC clusters.
The framework provides a complete pipeline from raw image import to image preprocessing, parallel vector computation, calibration, and interactive visualisation. Ensemble extensions allow direct estimation of Reynolds stresses from correlation maps, offering statistical fidelity beyond what is achievable with instantaneous methods. Validation against synthetic channel flow demonstrates mean velocity profiles accurate to within 1% of DNS reference down to ( y^+ \approx 40-50 ) with instantaneous PIV, and to ( y^+ \approx 5 ) with ensemble methods.
Features
- Planar, stereoscopic, and ensemble PIV pipelines
- React-based GUI for interactive analysis
- Optimized C extensions for performance
- Parallel processing with Dask
- Support for terabyte-scale datasets
- Complete pipeline from image import to visualization
Installation
Install PIVTOOLs with a single command:
pip install pivtools
This installs the complete toolkit including:
- Core utilities for image handling and vector processing
- Command-line interface (
pivtools-cli) for automated workflows - React-based GUI (
pivtools-gui) for interactive analysis
The package includes pre-compiled C extensions for optimal performance on Windows, macOS, and Linux.
Quick Start
Initialize a new PIVTOOLs workspace
pivtools-cli init
This creates a default config.yaml file in your current directory that you can edit to configure your PIV analysis.
Run PIV analysis (command-line)
pivtools-cli run
This runs the PIV analysis using the config.yaml in your current directory.
Launch the GUI
pivtools-gui
This starts the React-based GUI where you can interactively configure and run PIV analysis.
Configuration
Both pivtools-cli and pivtools-gui applications use config.yaml in the current working directory.
When you run either pivtools-cli init or start pivtools-gui for the first time, if no config.yaml exists in the current directory, it automatically copies the default config from the package to config.yaml in your current working directory.
For detailed configuration options, see piv.tools/manual.
Requirements
- Python 3.12+
License
BSD 3-Clause License - See LICENSE for details.
Note: Pre-built binaries link against GPL-licensed libraries (FFTW3, GSL). Binary distributions must comply with GPL terms unless these dependencies are replaced with alternatively-licensed implementations. See the LICENSE and NOTICE files for complete details.
Contributing
Contributions welcome! Please see the GitHub repository for issues and pull requests.
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 Distributions
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 pivtools-0.4.8.tar.gz.
File metadata
- Download URL: pivtools-0.4.8.tar.gz
- Upload date:
- Size: 6.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2d58c11c50aa7318f663bcd1ee2c5ec113e530805936b48ccbe436a214264e4a
|
|
| MD5 |
02ab242b7ce5032ef2a190aa8ec154ba
|
|
| BLAKE2b-256 |
3a6f681a2fe9193814f11c423521a065fe8f37a9836b0dabcdb1b276948f9601
|
File details
Details for the file pivtools-0.4.8-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: pivtools-0.4.8-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 2.6 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
23c76b4b0ed9e3508222fe40694745bca42b98380be3911c7e6b9a6b8fc1fd1b
|
|
| MD5 |
2e02c0f6daa3436442cbcdf7ab46be0f
|
|
| BLAKE2b-256 |
ab0eb4cd627df48e1b2f29fad5f23857016e573dbc5854015594e7a954bfcf5e
|
File details
Details for the file pivtools-0.4.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: pivtools-0.4.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26457fa7b6aad2bc6933ef95e0aa3f5dc81b83d5a60d22b74d1aac6ec9be1323
|
|
| MD5 |
b1cfbb03695df7ea0a00f0f69a49ef06
|
|
| BLAKE2b-256 |
eac2b5922fef3ef7765bafa1e6a4a6802675ffea977441aaeda225f7f054f800
|
File details
Details for the file pivtools-0.4.8-cp314-cp314-macosx_15_0_arm64.whl.
File metadata
- Download URL: pivtools-0.4.8-cp314-cp314-macosx_15_0_arm64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.14, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d8f60a51588c6d2bf5387c67162c23754af37cc27bb11e3adc57ab9118bbee85
|
|
| MD5 |
686eefe459d833c1b4f32887557c1afa
|
|
| BLAKE2b-256 |
cdbd296d4043323b3fd9641e76c05046cb4076219e6048316d6ffc2b9280bc47
|
File details
Details for the file pivtools-0.4.8-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: pivtools-0.4.8-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6bc6542e285453880c30a3dbdf003057c0313fbb5681ea22809957d88b89b80d
|
|
| MD5 |
77f7fa16eebd999c8e4518cd1f4bb639
|
|
| BLAKE2b-256 |
e648b772e5dc5b7cfd9a3f15be2402e234dc020e6bf02dd6b38b61dd9296d206
|
File details
Details for the file pivtools-0.4.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: pivtools-0.4.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b7c211c688a2223f177419cccdc785d72384298ae2cac84a42eee24e61a20955
|
|
| MD5 |
a08fdf6d44fcc31b0cfedb40daa65fad
|
|
| BLAKE2b-256 |
f5ba32a0ccc46e92db4d8ea37ac277c77f0c932fbe5440caa176f80591f0e5d8
|
File details
Details for the file pivtools-0.4.8-cp313-cp313-macosx_15_0_arm64.whl.
File metadata
- Download URL: pivtools-0.4.8-cp313-cp313-macosx_15_0_arm64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.13, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
438ebdb0ce0c7ceb6b0cf418a56108f2474f91157a00eb827df1e171862acd9d
|
|
| MD5 |
6e2fb326fa4522c8fbcaeb332a375048
|
|
| BLAKE2b-256 |
44c18187e61ac2f2816f811f70f68f4219835ab79f1b1d646dc7446f18fdb4a8
|
File details
Details for the file pivtools-0.4.8-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: pivtools-0.4.8-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 2.5 MB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bffffeff9a34b0920cf8e2e55027e6814b333f59f2bdcf949ace21e3fa0743c0
|
|
| MD5 |
15cdf952e83a464a62d70b13378446c3
|
|
| BLAKE2b-256 |
9f03df193add1d9c8b3b6d3f62d3e7e8afedb14f8aa00df26d2b7d35963751b7
|
File details
Details for the file pivtools-0.4.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: pivtools-0.4.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 3.2 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2c0276f42efe454539c47f1ea52005951e6ae806edb3bf4e835f2e5cb3a0675
|
|
| MD5 |
cf2eaee5e83eebffd7faffc984ac2213
|
|
| BLAKE2b-256 |
c5c0df5972081700a445f5b0a1a439ef8ff2def278a06a474051b44c989fb744
|
File details
Details for the file pivtools-0.4.8-cp312-cp312-macosx_15_0_arm64.whl.
File metadata
- Download URL: pivtools-0.4.8-cp312-cp312-macosx_15_0_arm64.whl
- Upload date:
- Size: 2.7 MB
- Tags: CPython 3.12, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5028797cbe11b6220ca187f913a0b5060d7c1323f1d96434905ea85de838b263
|
|
| MD5 |
14722f816c8c555f964a36f7711375e5
|
|
| BLAKE2b-256 |
050b5e9211cc1a3f2b073bcecced360a734800a46a5b998e794339c2d5ab4d48
|