File Exchange

image thumbnail

PIVlab - particle image velocimetry (PIV) tool with GUI

version 2.53 (17.4 MB) by William Thielicke
Easy to use, GUI based tool to analyze, validate, postprocess, visualize and simulate (micro) PIV data. Parallel computing is supported.


Updated 10 Jun 2021

From GitHub

View license on GitHub

Editor's Note: Popular File 2018 2019 2020

This file was selected as MATLAB Central Pick of the Week

PIVlab is a GUI based particle image velocimetry (PIV) software. It does not only calculate the velocity distribution within particle image pairs, but can also be used to derive, display and export multiple parameters of the flow pattern. A user-friendly graphical user interface (GUI) with the ability to control a PIV camera and a laser makes PIV data acquisition and data post-processing fast and efficient.
Video Explanation of the tool:
Example analyses & videos can be found on the PIVlab website:
Please ask your questions in the PIVlab forum:
Download the file 'PIVlab.mltbx', and run it on your computer. It will automatically add the PIVlab toolbox and app in your Matlab installation. Alternatively (my preferred method, but also the only way if your Matlab release is older than R2015b [8.6]), download the zip file from GitHub by going here: , click 'Source code (zip)' of the latest release and extract the contents to a new folder in your Matlab work directory. Then run PIVlab_GUI.m.
Main features:
* completely GUI based PIV tool
* multi-pass, multi grid window deformation technique
* parallel processing supported when the parallel computing toolbox is installed
* ensemble correlation e.g. for micro-PIV
* import bmp/ tiff/ jpeg image pairs/ series
* acquire PIV images and control a camera and laser directly in PIVlab (additional hardware required)
* image sequencing styles A-B, C-D, ... or A-B, B-C, ...
* individual image masking and region of interest (ROI) selection
* image pre-processing (contrast enhancement, high-pass, intensity capping)
* two different sub-pixel estimators
* multiple vector validation methods
* magnitude/ vorticity/ divergence/ shear / ...
* data smoothing, vector field high-pass
* multiple color maps
* streamlines
* extensive data extraction tools/ integration via poly lines/ circles/ area
* statistics (histograms, scatter plot, mean & stdev)
* precise particle image pair generation with user-defined parameters and several flow simulations (synthetic PIV image generator)
* data export (Matlab, ASCII, movie file, image, Paraview, Tecplot...)
* main features accessible via command line scripting
We would like to acknowledge Uri Shavit, Roi Gurka & Alex Liberzon for sharing their code for 3-point Gaussian sub-pixel estimation. Thanks to Nima Bigdely Shamlo for allowing me to include the LIC function. Thanks to Raffel et al. for writing the book "Particle Image Velocimetry, A Practical Guide", which was a very good help.

Cite As

Thielicke, William, and René Sonntag. “Particle Image Velocimetry for MATLAB: Accuracy and Enhanced Algorithms in PIVlab.” Journal of Open Research Software, vol. 9, Ubiquity Press, Ltd., 2021, doi:10.5334/jors.334.

View more styles

Thielicke, William, and Eize J. Stamhuis. “PIVlab – Towards User-Friendly, Affordable and Accurate Digital Particle Image Velocimetry in MATLAB.” Journal of Open Research Software, vol. 2, Ubiquity Press, Ltd., Oct. 2014, doi:10.5334/

View more styles

Thielicke, W. (2014). The flapping flight of birds: Analysis and application. PhD Thesis, Rijksuniversiteit Groningen

MATLAB Release Compatibility
Created with R2019b
Compatible with R2014b and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.