G P I V Home Page

What is Gpiv?

Gpiv is a graphic user interface program for recording and analyzing images obtained from a fluid flow that has been seeded with tracer particles by the so-called Particle Image Velocimetry technique (PIV). The program allows to have a quick overview of the parameter settings of all processes, easily changing them, executing the processes and visualizing their results in an interactive way (Figure 1). Gpiv has been built with the Gtk/Gnome libraries and includes many interesting features.

screenshot Gpiv
Figure 1 Screenshot of Gpiv with PIV estimators (vectors) from an artificial, computer generated, image pair [1] and the derived vorticity field (background color)

Unpacking and compilation

You can download the Gpiv package here. For this package you will need:

libgtk and related packages.
libgnome and related packages.

Generally, unpacking, compilation and installation is quite straightforward with:

gzip -d gpiv-0.2.tar.gz
tar -xvf gpiv-0.2.tar
make (to build the library and tools)
make install
make uninstall (removes installed files and directories that have been created)

There are also pre-compiled (.deb) packages available that eases the installation.

Use of Gpiv

In order to understand how Gpiv works, just type the program name with -h option. There is a man page of Gpiv in the package and documentation, that can be displayed from the help menu or on-line . In case Gpiv will trigger a camera and lasers, it uses a kernel module gpivtrig_rtl from the gpivtrig package that depends on the Real Time Application Interface (RTAI) and RealtimeLinux. These modules will have to be loaded manually or Gpiv will have to be started with: "gpiv_control "gpiv key1 ..."". Gpiv_control has to be run with root privileges.


There is also set of command-line driven programs with similar functionalities. These may be used for non-interactive purposes, used in scripts for batch processing etc. and can be found in the Gpiv-tools package. The core functions for processing, in-and output and utility functions are written in the Libgpiv library in order to share the resources of Gpiv and Gpiv-tools.

All software has been written in ANSI-C. It has been issued under the GNU General Public License and only uses libraries that are under this or other Open Source license. The objective of this project is to provide a maximum flexibility for extending and adapting the code by the main developer as well as by third parties, like its users. So it may be developed and applied for different applications with highest accuracies and spatial/time resolutions.
As with most of the open source projects, it is unfinished and its here to grow. Some ideas that might be worth to consider for extension are:


It is evident that the development and maintenance of such a project like this involves a large amount of work that cannot be performed by a single, voluntary, developer. Therefore, I would like to stress that support for this project is of fundamental importance. We are convinced that the continuity of it will definitely be advantageous for you as (aspirant) PIV user, developer and researcher. By issuing the software under the GNU General Public License it is intended as a community product that will be developed by its users, as well. The software is yours; you may freely use it and adapt it to your own needs, as long as the license conditions are respected. By sharing the experiences and knowledge as expressed in the software, everybody will profit of it; there may be a continuous increase in quality of the code due to peer review, less additional coding to implement new features, interrogation algorithms, porting to other Computer architectures and Operating Systems, etc. Just a thought. To mention a few suggestions for supporting the Gpiv c.s. projects:


Version 0.2.1


There are many web-pages concerning PIV, I will give a few (the most important) ones:

Open source projects or free-ware:

PIV projects that are related to the research on accuracy, speed and applications of the PIV technology can be found at:


The project is sponsered by the The Kramers Laboratorium voor Fysische Technologie at Delft University of Technology, the Netherlands.


I hope that Gpiv will work fine and that you'll enjoy it. If you would like to know more about PIV, wants to extend the code for your purposes or need some help, do not hesitate to drop me a line.


[1] Okamoto, K., Nishio, S., Saga, T. and Kobayashi, T., 2000, "Standard images for particle-image velocimetry," Meas. Sci. Technol., 11, 685-691.
Gerber van der Graaf
email: gerber_graaf AT users DOT sourceforge DOT net

Last modified: Wed Mar 14 09:54:22 CET 2007