The PIVMat Toolbox for Matlab contains a set of command-line functions to import, post-process and analyse 2D vector fields from PIV (particle image velocimetry), DIC (digital image correlation) SS (synthetic schlieren) or BOS (background-oriented schlieren) applications.

It is compatible with several data formats, including DaVis (LaVision) (FlowMaster/StrainMaster packages).

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.

Version 2.12c - 8 Jan 2013.

Online help   -  What's new?

Alternate download site here

This toolbox is covered by the BSD License.
Copyright (c) 2012, Frédéric Moisy. All rights reserved.

Main Features

  • Import vector fields from PIV (Particle Image Velocimetry) or other related technics, such as DIC (Digital Image Correlation), SS and BOS (Synthetic Schlieren and Background-oriented Schlieren), from DaVis (LaVision), VidPIV (Oxford Laser), MatPIV 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.

What is DaVis?

DaVis is a commercial software for imaging applications developed by LaVision.

For PIV or Synthetic Schlieren applications, DaVis computes vector fields (velocity or displacement fields) from correlations of images of particles. These fields can be saved in a specific DaVis file format (VEC or VC7 files), which can be imported in Matlab using the ReadIMX Loader package provided by LaVision. Based on this package, the PIVMat Toolbox offers a number of command-line functions to further post-process and analyze those vector fields.


The PIVMat Toolbox works with MATLAB 7 or higher, on every operating system (Windows, Unix, Mac).

The PIVMat Toolbox reads all the files from DaVis (VEC, VC7, IMG, IMX, IM7, SET and EXP files, tested up to Davis 7.2.2), files from VidPIV (DAT files) and files from MatPIV (MAT files).

Note that the import of DaVis files requires to install first the READIMX package provided by LaVision: see the installation procedure below.

Some functions require the Image Processing Toolbox.

Installation procedure

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 (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, or select Toolboxes > PIVMat from the Start button.

Getting started

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 3 experimental series of PIV fields, is provided with the toolbox to test the following example. The examplegiven 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!

User Community

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.

Earlier versions (17 oct 2008). (28 aug 2009). (12 may 2010). (12 march 2011). (2 may 2012). (24 june 2012).


PIVMat page on the Matlab Central.

Author's home page.

Author's Matlab page.

This page is hosted by FAST
Last update: 8 Jan 2013.

Free counter and web stats