New tutorial notebook

Automatic builds - cannot express how happy I am

The shapshot

OpenPIV works on Windows 8.1 64bit

Roi Gurka group has revealed a bug in lib.pyx that fails the run of openpiv-python on 64bit Window machines. We’ve looked into it and fixed it in the latest 0.20.1 version, see on PyPi and Github.

Recommended installation procedure is given below.

Meanwhile, take a look at the most fresh Physical Review Letter on the aerodynamics of tandem flapping wings

We’re proud to notice that this interesting work has been performed using OpenPIV.

The instructions to use with Windows 8.1 64 bit machine with Anaconda 64 bit (Python 2.7).

  1. install Microsoft compiler for Python 2.7 a) following this page: Install Microsoft Visual C++ Compiler for Python just like before.

Launch MSVC for Python command prompt

(go to start menu > Microsoft Visual C++ Compiler Package for Python 2.7 > Visual C++ 2008 32-bit Command Prompt)

Enter the following commands:


  1. Download the updated package of openpiv
  2. unzip, e.g. to C:\openpiv, enter the folder and run the setup from the Anaconda shell: $$ python install

after that the tutorial should work without problem. The tutorial is inside the openpiv package:

$$ cd openpiv/tutoria-part1 
$$ python

OpenPIV packages include Background Oriented Schlieren

OpenPIV software has now a new add-on - the Background Oriented Schlieren (BOS) package from Tel Aviv University, written mainly by Lilly Verso. See the website here:

OpenPIV is now automatically tested on Travis-CI

OpenPIV is finally tested automatically and built using Travis-CI. Should solve a lot of questions. screenshot

New OpenPIV-Python tutorial

See the Github link to a new OpenPIV analysis.

New OpenPIV-Matlab version

Dear OpenPIV users

There is a new version of OpenPIV-Matlab. It finally aligns with the Python version (which is by far more advanced and better supported). In that, we have now two new parameters:

scale [m/pix]


dt [sec]

Default values are 0 - means no scaling and the result is in x,y [pix] and u,v [pix]

It is possible to set separately the dt and get [pix/s]

The second major change is the output files. Because we now have two options of the output data (pix or m/s) we need a header. The obvious choice is the VEC files with the same construction as Insight (TSI) VEC files, supported by our OpenPIV Spatialbox out of the box

Please, update the openpiv-matlab and openpiv-spatialbox to the newest versions, from Github


and read the tutorial (v 0.2)

OpenPIV in the news

OpenPIV got a new exciting transformation, into a bio-photonics field. we’re proud that researchers in a variety of fields, from soil mechanics to biophotonics find our work interesting and useful.

find out more from: Quantitative measurement of blood velocity in zebrafish with optical vector field tomography Luca Fieramonti et al.

R2014b is bad for Spatial Toolbox

Do not update to R2014b if you want to use Spatial Toolbox - GUI is completely broken by Matlab.

Update (30-Mar-15): some of the critical changes were fixed in a specific branch which is NOT backward-compatible with 2014a or 2013b

New user reveals an old bug in Matlab version

See the discussion on our forum!topic/openpiv-users/017seGOAGWM

the new user has accidentally revealed an (apparently) very old bug in openpiv-matlab. It’s a very rare event to have a completely black interrogation window (all zeros) in the image surrounded by non-zero interrogation windows, but as we see know it happens. When it happens, it corrupts the result by creating a non-rectangular matrix of data (x,y,u,v) and then the Spatial Toolbox fails.

See the pull request 4 in the openpiv-matlab repository and details in the forum. Update your version if you use the Matlab version.

OpenPIV has released the POD toolbox

POD (proper orthogonal decomposition) Toolbox is our most recent release. This is a special post-processing analysis method for PIV, PTV and numerical data. The toolbox was developed back in 2000 as an objective method to identify, extract and characterize the coherent structures in the turbulent boundary layers. It has been used since to reveal the underlying structure in jets, wakes, mixing layers, bird flight and fish swimming experiments. It has been successfully applied to the DNS and LES data. See the publications of Roi Gurka, Alex Liberzon and others for the references.

POD is another name for Principal Component Analysis (PCA), see Wikipedia for the details:

Publication that has to be cited:

OpenPIV runs in parallel on any platform

At Turbulence Structure Laboratory we create sometimes huge numbers of PIV realisations. The latest example is 1200 images (time resolved) PIV, 5 repetitions per frequency, 3 frequencies, 3 polymer concentrations and water reference case. In total 1200 x 5 x 3 x 4 = 72000 PIV maps to be analysed. The greatness of OpenPIV that runs on Python is not only the brilliance of the algorithms, not the clear and open code, but the fact that we are standing on the shoulders of (really) giants: NumPy, SciPy, Matplotlib, IPython and Cython. It allows us to use the C code for the speed and embarrassingly easy parallelisation using multitasking capabilities of Python and IPython. So, without changing the algorithm, we can share the hard drive over the local ethernet network and get few PCs running Linux or Windows or Mac OS X to run OpenPIV, each on multiple cores. See the screenshot of all the CPUs crunching in parallel the long set of PIV images (see on the left).

We can process sequences, pairs, triples, pairs with varying jums and dynamic time intervals, etc.

we need more hands on testing, documentation, future developments, see on

OpenPIV is now a package on PyPi

You’re welcome to use the new installation option via the distribution package of the source code listed on PyPi:

How to use regular expressions

How to load .txt files created by OpenPIV Matlab version for the OpenPIV Spatial Toolbox

The openpiv-matlab creates 3 sets of .txt files in teh folder .txt, _flt.txt and _noflt.txt

These are the final version (filtered + interpolated), only filtered (not interpolated) and not-filtered (raw) data.

For the use with openpiv-spatialbox it’s easy to choose only the .txt files using the regular expressions:

in the left top corner select *.txt and in the right to it field enter:


and you’ll get in the selection window only the .txt files.


Dynamic masking method for OpenPIV-Python is ready

It is a rather simple method using a sort of background illumination removal idea, with a bit of tweaking for the dynamic masking of the moving bodies.

See it in Ipython Notebook viewer. This method has not been included in the OpenPIV yet, since it has to be tested first.

Openpiv For Astrophysics

OpenPIV is also good for reproducible science, see the demo

OpenPIV-Python (or PyPIV) is now available for your instant try-before-downloading option.

No installation is required. Just use this link - open a new account on and you’ll have the tutorial in your browser using IPython notebook, based on Numpy/SciPy/Matplotlib/ and our OpenPIV library.

GUI from C++ to Pythoh using PySide

We slowly moving the GUI that was designed for the C++ version with Qt Designer to Python using PySide

See the commit to Alex repository:

two new pull requests, update your Matlab packages

Please review the new updates

Please review the two critical bug fixes for the Matlab packages, read the details on our mailing list:

Why the velocity matrix has been changed every time

Numpy view vs copy

OpenPIV is based on Numpy, Scipy and Matplotlib. Therefore, the most basic assumption that is important to remember is that the Numpy array assignment is ** most of the time a view ** into another array and not a copy of the array. This is to say that:

x = np.array([1,2,3,4])
y = x
z = x.copy()
x[0] = 5
print x
print y
print z

would output:


Thus y is just a view of x and it’s an assignment by reference, while z is a copy of x at the moment of creation and therefore it’s an assignment by value.

See how this affects your understanding of the results of OpenPIV:

Online Openpiv Python Without Installation

Try before downloading

OpenPIV-Python (or PyPIV) is now available for your instant try-before-downloading option.

No installation is required. Just use this link - open a new account on and you’ll have the tutorial in your browser using IPython notebook, based on Numpy/SciPy/Matplotlib/ and our OpenPIV library.

OpenPIV-python documentation is now on

ReadTheDocs updates the documentation instantly

Two new mailing lists

We have closed the old mailing lists we’ve used on and opened two new ones:

  1. for developers private use only
  2. for the public questions and open discussions

Please, send us your e-mail to if you want to join one or both of those.

New website design using Jekyll + Bootstrap

We have redesigned our website for clarity and user-friendly communication. The F.A.Q. are clear, the How-to section has been added (see the Navigation) and thanks to Bootstrap the website is mobile friendly.

Development plan is added to the faq.html

Please, see our frequently asked questions page - we added the development plan of transferring the C++ algorithms using Cython to the OpenPIV-Python. This page shall replace our wiki which does not seem to be useful.

Pressure from PIV released

We released our improved and documented version of OpenPIV-pressure package. It was used in 1999 in the (probably the first open source, to the best of our knowledge) paper on extracting pressure from the PIV data, using Poisson equation. See the Github page: for details.

We presented our work on PIV 2013 symposium

We just presented our work on PIV’13 symposium at Delft, NL,

You can find the full PDF on the symposium website, the abstract is here:

Economical Piv Based On Openpiv

Economical PIV means very reasonable price for very reasonable quality

  1. Download OpenPIV
  2. Follow the instructions on
  3. Send us your feedback

new OpenPIV website project

Welcome to the new website for the OpenPIV project . I’ve revamped the site to bring it up-to-date with what we’re working on. I’ve also migrated the site over to Jekyll (my fork), which I highly recommend for the organization sites.