Skip to main content

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


Download files

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

Source Distribution

pivtools-0.4.8.tar.gz (6.1 MB view details)

Uploaded Source

Built Distributions

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

pivtools-0.4.8-cp314-cp314-win_amd64.whl (2.6 MB view details)

Uploaded CPython 3.14Windows x86-64

pivtools-0.4.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

pivtools-0.4.8-cp314-cp314-macosx_15_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.14macOS 15.0+ ARM64

pivtools-0.4.8-cp313-cp313-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.13Windows x86-64

pivtools-0.4.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

pivtools-0.4.8-cp313-cp313-macosx_15_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 15.0+ ARM64

pivtools-0.4.8-cp312-cp312-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows x86-64

pivtools-0.4.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

pivtools-0.4.8-cp312-cp312-macosx_15_0_arm64.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 15.0+ ARM64

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

Hashes for pivtools-0.4.8.tar.gz
Algorithm Hash digest
SHA256 2d58c11c50aa7318f663bcd1ee2c5ec113e530805936b48ccbe436a214264e4a
MD5 02ab242b7ce5032ef2a190aa8ec154ba
BLAKE2b-256 3a6f681a2fe9193814f11c423521a065fe8f37a9836b0dabcdb1b276948f9601

See more details on using hashes here.

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

Hashes for pivtools-0.4.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 23c76b4b0ed9e3508222fe40694745bca42b98380be3911c7e6b9a6b8fc1fd1b
MD5 2e02c0f6daa3436442cbcdf7ab46be0f
BLAKE2b-256 ab0eb4cd627df48e1b2f29fad5f23857016e573dbc5854015594e7a954bfcf5e

See more details on using hashes here.

File details

Details for the file pivtools-0.4.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pivtools-0.4.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 26457fa7b6aad2bc6933ef95e0aa3f5dc81b83d5a60d22b74d1aac6ec9be1323
MD5 b1cfbb03695df7ea0a00f0f69a49ef06
BLAKE2b-256 eac2b5922fef3ef7765bafa1e6a4a6802675ffea977441aaeda225f7f054f800

See more details on using hashes here.

File details

Details for the file pivtools-0.4.8-cp314-cp314-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pivtools-0.4.8-cp314-cp314-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 d8f60a51588c6d2bf5387c67162c23754af37cc27bb11e3adc57ab9118bbee85
MD5 686eefe459d833c1b4f32887557c1afa
BLAKE2b-256 cdbd296d4043323b3fd9641e76c05046cb4076219e6048316d6ffc2b9280bc47

See more details on using hashes here.

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

Hashes for pivtools-0.4.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6bc6542e285453880c30a3dbdf003057c0313fbb5681ea22809957d88b89b80d
MD5 77f7fa16eebd999c8e4518cd1f4bb639
BLAKE2b-256 e648b772e5dc5b7cfd9a3f15be2402e234dc020e6bf02dd6b38b61dd9296d206

See more details on using hashes here.

File details

Details for the file pivtools-0.4.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pivtools-0.4.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b7c211c688a2223f177419cccdc785d72384298ae2cac84a42eee24e61a20955
MD5 a08fdf6d44fcc31b0cfedb40daa65fad
BLAKE2b-256 f5ba32a0ccc46e92db4d8ea37ac277c77f0c932fbe5440caa176f80591f0e5d8

See more details on using hashes here.

File details

Details for the file pivtools-0.4.8-cp313-cp313-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pivtools-0.4.8-cp313-cp313-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 438ebdb0ce0c7ceb6b0cf418a56108f2474f91157a00eb827df1e171862acd9d
MD5 6e2fb326fa4522c8fbcaeb332a375048
BLAKE2b-256 44c18187e61ac2f2816f811f70f68f4219835ab79f1b1d646dc7446f18fdb4a8

See more details on using hashes here.

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

Hashes for pivtools-0.4.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bffffeff9a34b0920cf8e2e55027e6814b333f59f2bdcf949ace21e3fa0743c0
MD5 15cdf952e83a464a62d70b13378446c3
BLAKE2b-256 9f03df193add1d9c8b3b6d3f62d3e7e8afedb14f8aa00df26d2b7d35963751b7

See more details on using hashes here.

File details

Details for the file pivtools-0.4.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for pivtools-0.4.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 b2c0276f42efe454539c47f1ea52005951e6ae806edb3bf4e835f2e5cb3a0675
MD5 cf2eaee5e83eebffd7faffc984ac2213
BLAKE2b-256 c5c0df5972081700a445f5b0a1a439ef8ff2def278a06a474051b44c989fb744

See more details on using hashes here.

File details

Details for the file pivtools-0.4.8-cp312-cp312-macosx_15_0_arm64.whl.

File metadata

File hashes

Hashes for pivtools-0.4.8-cp312-cp312-macosx_15_0_arm64.whl
Algorithm Hash digest
SHA256 5028797cbe11b6220ca187f913a0b5060d7c1323f1d96434905ea85de838b263
MD5 14722f816c8c555f964a36f7711375e5
BLAKE2b-256 050b5e9211cc1a3f2b073bcecced360a734800a46a5b998e794339c2d5ab4d48

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