The PIVMat Toolbox for Matlab contains a set of command-line
functions to import, post-process and analyse 2- and 3-components vector fields from
PIV (particle image velocimetry), stereo-PIV, DIC (digital image correlation)
SS (synthetic schlieren) or BOS (background-oriented schlieren) applications.
It is compatible with several data formats, including
The PIVMat Toolbox enables to handle and perform
complex operations over large amount of velocity fields, and to
produce high-quality vector/scalar outputs. This toolbox in
itself does not perform any PIV computations.
New: Stereo-PIV fields now supported
Version 3.02 - 25 Juin 2013.
- What's new?
Alternate download site here
This toolbox is covered by the BSD License.
Copyright (c) 2013, Frédéric Moisy. All rights reserved.
Import vector fields from PIV (Particle Image Velocimetry) or other related technics, such as stereo-PIV, DIC (Digital Image Correlation), SS and BOS (Synthetic Schlieren and Background-oriented Schlieren).
Compatibale with files from DaVis (LaVision GmbH),
DPIVSoft (Meunier & Leweke),
VidPIV (Oxford Laser), MatPIV (J. Kristian Sveen) and Optical Flow.
Standard vector field operations: interpolation, filtering (median, Butterworth...), averaging (temporal, spatial, azimuthal...), derivatives computation (vorticity, divergence, strain, Q-factor...)
Fully vectorized: all operations directly apply on arrays of fields (no for loops)
More than 60 functions with full on-line documentation; sample fields included.
High-quality vector and scalar output based on Matlab visualization tools: 2D and 3D fields (meshes, surfaces...), movies (AVI), contour plots...
Advanced statistics: Histograms, correlation functions, vector and scalar structure functions, power spectra, integral scales, joint probability density functions...
Support for FS-SS (Free-Surface Synthetic Schlieren) applications for surface wave reconstructions (including production of random dot patterns)
Full support of DaVis files (VEC, VC7, IMX, IM7, EXP, SET) and file attributes (Acquisition times, PIV parameters...)
Works on all platforms: Windows/Unix/Mac.
The PIVMat Toolbox works with MATLAB 7 or higher (tested up to R2013b,
Matlab 8.1), on every operating system
(Windows, UNIX, Mac).
PIVMat supports files from:
By default, PIVMat can import files from DPIVSoft, VidPIV and MatPIV.
In order to import files from DaVis (VC7 files), it is necessary to
install an additional package: ReadIMX (see below).
Some functions require the Image Processing Toolbox.
1. Download the PIVMat Toolbox and extract the ZIP file in a
folder, for example /My documents/Matlab/toolbox/pivmat (make sure the
subdirectories html, sample and private are
correctly unzipped as well). Do NOT install in the Matlab application
folder (typically /Program Files/Matlab/...). If you
upgrade from an older version, first empty the previous directory.
2. If you wish to import DaVis files, download also the
ReadIMX package from the 'Download' area
of the LaVision web site www.lavision.de
(menu Software, submenu DaVis Add-Ons), and extract the ZIP file in another
folder, for example /My documents/Matlab/toolbox/readimx.
Note that you need to sign up first and login to access to the LaVision download area. If you use a Windows plateform, you may also use one of the following shortcut:
For non-Windows systems, contact Lavision to get the correct version of Readimx.
3. From the menu 'File > Set Path', click on 'Add Folder' (NOT 'Add with Subfolders')
and select the directories pivmat and readimx. Click on 'Save' and 'Close'.
4. Restart MATLAB. To get started, type docpivmat.
The first step is to import some vector fields into a 'PIVMAT structure array'. The simplest way to import data is to double-click on a file on the Current Directory Browser. You can also import data using the function loadvec. Each element of this structure array contains the two matrices of the velocity components, the coordinate system, and some additional informations (units, axe names, PIV parameters...). See this page for further details about PIVMAT structure arrays.
Once imported, the velocity fields can be displayed using showf,
or converted into various scalar fields using vec2scal.
A sample directory, named sample, with 4 experimental series of
PIV fields, is provided with the toolbox to test the following example. The example given below is based on DaVis 7 files (format VC7), but can be followed for other formats.
v = loadvec('*.vc7'); % loads all the VC7 files
showf(v); % displays the vector field movie
showf(averf(v)); % displays the ensemble-average
plot(v(1).vy(:,20)); % plots a horizontal profile of vy
curl = vec2scal(filterf(v,2),'rot'); % computes the filtered vorticity
showf(curl); % displays the vorticity movie
movie2avi(showf(curl),'mymovie.avi');% saves it as an AVI movie
histscal_disp(curl); % displays the vorticity histogram
statf(v) % computes some statistics
specf(v) % displays the power spectra
See the Online help
and the FAQ
for more examples, or type docpivmat in Matlab.
How to acknowledge?
Go to the PIVMat page on the Matlab Central and offer a 5-stars rating!
This toolbox is used by several laboratories and universities worldwide. If you want to submit suggestions, comments, bug reports, or if
you wand to receive upgrade informations, please feel free to send an email to the author.
pivmat2.00.zip (12 may 2010).
pivmat2.01.zip (12 march 2011).
pivmat2.10.zip (2 may 2012).
pivmat2.11.zip (24 june 2012).
pivmat2.12c.zip (8 january 2013).
pivmat3.01.zip (26 april 2013).
PIVMat page on the Matlab Central.
Author's home page.
Author's Matlab page.
This page is hosted by FAST
Last update: 25 June 2013.