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.
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:
libgpiv
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
./configure
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.
C.S.
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:
- Improved solvers to obtain a higher accuracy and spatial
resolution. Currently we are implementing image deformation techniques
by means of B-spline interpolation.
- Improved processing speed. A start has already been made by
parallelization the interrogation tool gpiv_rr from the Gpiv-tools
package with MPI.
- Extension for stereoscopic (three-dimensional) PIV.
- Extension with Particle Tracking Velocimetry (PTV) and,
eventually, hybrid PIV-PTV for increasing spatial resolution.
- Extension with data acquisition. This means connecting the
software with (CCD) cameras and controlling electronics (sequencer)
that triggers a light source (mostly a Nd-YAG laser) with the camera. A
start has been made with this feature, as can be seen in the
news.
- Extension with other image analyzing techniques for fluid
mechanics, like Light Induced Fluorescence (LIF) in order to obtain
concentrations of chemical substances.
- Keeping up to date with the libraries the Gpiv c.s. is a
continuous source of work. Most important are the FFT
and Graphic libraries. Gpiv is currently being ported to the Gtk/Gnome-2
libraries. The program works, but still needs a lot of adaptions.
Support
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:
- Feedback: send comments, bug reports (and patches!), report
if Gpiv c.s. does work, or not, on a different platform (as long
as it is Unix-like), and with different cameras and lasers. Or,
even better, report how it has been modified to make it work.
-
Participate in developing the software, the building system,
translating the GUI to your language, maintaining web-pages.
-
Acknowledge the software project in reports and publications if it
has considerably contributed to your research project and let me
know it. If you'd like to, a reference will be given from here.
-
Let us be your partner: we are here to assist if you'd like to
have support for Gpiv c.s.: extending the software for your needs,
developing and installation of hard- and software, applying the
technique for your research project.
News
Version 0.2.1
- The software has been extended with Data
Acquision (DAC), i.e. the triggering of lasers with a camera
and the recording of PIV images from an experiment.
- Adaptive grid if zero offsetting and adaptive dimensions of
the Interrogation Area's (I.A) are used. The initial grid of an
iterative interrogation uses the dimensions of the largest I.A.'s,
as defined by the process parameter, while the area's have an
overlap of 50 %. After each iteration sweep (which includes the
interrogation of the entire Area of Interest within the image on a
rectangular grid), the sizes and adjacent shifts of I.A.'s are
halved. Estimators at the new, finer, grid are calculated by
(bi)-linear interpolation. This process continues until the final
(minimum) dimensions and shifts have been reached.
Links
There are many web-pages concerning PIV, I will give a few (the
most important) ones:
Open source projects or free-ware:
- MatPiv. Probably
the oldest open source software on PIV. It uses Matlab.
- OSIF. Includes
different interrogation techniques.
- Urapiv. An other
PIV code, builded for Matlab.
- CIV.
PIV projects that are related to the research on accuracy, speed and
applications of the PIV technology can be found at:
Sponser
The project is sponsered by the
The Kramers Laboratorium voor Fysische Technologie
at Delft University of Technology, the Netherlands.
Contact
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.
References
[1] Okamoto, K., Nishio, S., Saga, T. and Kobayashi, T., 2000, "Standard images
for particle-image velocimetry," Meas. Sci. Technol., 11, 685-691.
vsj.or.jp/piv/
Gerber van der Graaf
email: gerber_graaf AT users DOT sourceforge DOT net
Last modified: Wed Mar 14 09:54:22 CET 2007