Code covered by the BSD License  

Highlights from
PIVMat 2.10

4.83333

4.8 | 6 ratings Rate this file 118 Downloads (last 30 days) File Size: 8.41 MB File ID: #10902
image thumbnail

PIVMat 2.10

by Frederic Moisy

 

27 Apr 2006 (Updated 07 May 2012)

A PIV Post-processing and data analysis toolbox

| Watch this File

File Information
Description

The PIVMat Toolbox for Matlab contains a set of command-line functions to import, post-process and analyse 2D vector fields from various file formats, including DaVis files from LaVision (PIV and Synthetic Schlieren applications).

It enables to handle and perform complex operations over large amount of vector fields, and to produce high-quality 2D and 3D outputs based on standard Matlab visualization tools.

The PIVMat Toolbox in itself does not perform any PIV computations.

DaVis (Data Acquisition and Visualization Software) is a general purpose commercial software developed by LaVision GmbH. Using the PIV technique (particule image velocimetry), Davis computes velocity fields of fluid flows from images of particles. These velocity fields can be saved in a specific Davis file format (VEC or VC7 files), which can be imported in Matlab with 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 analyse these velocity fields.

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 6 and 7, 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.

See http://www.fast.u-psud.fr/pivmat/ for the installation procedure.

MATLAB release MATLAB 7.11 (2010b)
Other requirements ReadIMX package from LaVision (www.lavision.de)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (21)
12 May 2006 Zac Nagel

I followed the directions clearly and the it gives me "out of memory" errors. My PC has plenty of memory and I'm not running any other programs.

22 May 2006 Frederic Moisy

The problem encountered by Zac Nagel originates from a buggy release of the LaVision's ReadIMX 1.4 package. If you have the March 2006 release of ReadIMX1.4, please upgrade it (see www.lavision.de, Download > Davis Tools > MatlabIMX1.4). It should work. --The author.

26 Jul 2007 Claudia Hofemann

Hi, I just started to use PIVMat and I am wondering if it is also posiible to work with 3D .VC7 files.

27 Jul 2007 F Moisy

Dear Claudia -- No, at that time PIVMat only supports 2D VC7 files. -- The author

30 Jul 2007 Claudia Hofemann

Dear Frederic Moisy,

every time I try to run V = LOADSET('set') I receive the error note "Undefined function or variable "vv".
Error in ==> loadset at 172 v=vv " . "set" is a folder with *.VC7 files. If I try load one of the files with loadvec - it works.

I would be very happy about a advice, how to get loadset running.

Thanks a lot

14 Feb 2008 Tom Clark

Great toolbox, this takes a big chunk of time out of my PhD... Maybe I can finish earlier; or procrastinate more!

16 Nov 2009 Hans Henrik Mortensen

Really nice work

23 Nov 2009 Isaac Mancero Mosquera

very good

17 Dec 2009 Rahul Mulinti

I am trying to use PIVMAT to extract just the intensity information from a raw .im7 file from DaVis. I want to plot the intensity histograms and pdfs. Is there any way to do it with PIVMAT?

17 Dec 2009 Frederic Moisy

Dear Rahul,
Yes, just do the following
im = loadvec('B00001.im7');
hist(im.w(:),N); % N is the number of bins.
I hope this helps,
Fred.

17 Dec 2009 Rahul Mulinti

Thanks for the input, worked great. Saved me lot of time.

21 Sep 2010 Thomas Clark

In addition to my last comment, the readIMX pacakge is now available for linux platforms too. So it might be worth commenting out the test for whether you're using a win32 platform, as it stops people using the linux version. Maybe put in a warning instead?

Cheers!

Tom Clark

06 Jan 2011 Jianan

Hi, I just downloaded this package. But it seems not working with the new version of ReadIMX which released in Dec 2010. Thanks.

03 Mar 2011 Mohamed Hatem

Hi,
I also just downloaded the latest version of readimx package
- readimx.dll released in March,3rd 2011
- readimx.mex and showimx.m released in Dec,15th 2011
- readimx.m released in Oct,10 2005
It does not work (obsolete version please upgrade)
Thanks for helping
Hatem

09 Mar 2011 Avanish

Hi Mohamed,

I think follwing is the reason of its problem and solution is also given below: (I wrote this email to Dr. Moisy)

I have downloaded the latest version of pivmat 2.0 and readimx file: Readimx for Matlab 7.4 (R2007a) to 7.11 (R2010b) under Windows 32 bits (XP, Vista, 7).

However, when we put everything together and issue loadvec command it says: Obsolete version of ReadIMX - Please upgrade.
See the step 1 of the Installation Instructions.

 For a new user like me it is very confusing. I then did a little bit of research in your code of loadvec and I found that error happens due to this piece of code (repeated twice) in loadvec function:

                    a=readimx(filename{i});
                    if ~checkreadimxversion(a,7)
                    disp('Obsolete version of ReadIMX - Please upgrade.');
                    disp('See the step 1 of the <a href="matlab:docpivmat pivmat_install">Installation Instructions</a>.');
                    clear v
                    return
                    end

Now checkreadimxversion determines the version of current readimx code by operating on the string:

a.DLLVersion

ans =

$Version: 1.5$ $Date: 15.12.2010$ $Revision: 2 $

Now problem with the code of checkreadimxversion is that it extracts numeric value after 'Revision:' but fails to take in to account the numerical value after Version. New readimx code says version 1.5 and revision 2. But the code picks up only revision 2 and compares it with your specified value 7, hence it gives error message. It worked fine with earlier package of redimx (for example: readimx4matlab_v1.4) because their output was:

a.DLLVersion

ans =

$Version: 1.0$ $Date: 8/06/07 16:38 $ $Revision: 6 $

I hope now you see the bug in code. Quick fix solution will be to change arugument of checkreadimxversion in loadvec.m file to checkreadimxversion(a,1). This is needed to be changed at two lines in loadvec.m file: line number 292 and 423.

Better solution will be to modify the function of checkreadimxversion in such a way that it also inlcudes version, not only the revision number.

Dr. Moisy is the best person to comment on this. but it seems to me the reason for error message.

Hope it will help you, Avanish

17 Mar 2011 Frederic Moisy

Dear Avanish, Jianan, Mohamed,
Thank you for your comments. I have posted a new version (PIVMat 2.01), which now fixes this issue. Now PIVMat is now compatible with the latest release of the ReadIMX package.
Frederic.

05 Apr 2011 Laura

Please ignore my previous comment; here is the corrected version: I would like to use the renumberfile feature, but with variable input, for example, renumberfile('B[1:1:n].im7','B'), where n is determined by input. When I do this, I get an error message. Any ideas?

05 Apr 2011 Laura

I would like to use the renumberfile feature, but with variable input, for example, renumberfile('B[1:1:n].im7','B'), where n is determined by input. When I do this, I get an error message. Any ideas?

01 Jul 2011 Nitin Kumar  
23 Feb 2012 W. Ethan Eagle

I have updated a version of this code to work with 3D vc7 files. Not all functions are currently supported.

However,loadvec averf vec2scal extractf filterf subaverf and interpf are, among others.

The code is designed to remain compatible across 1-D,2-D and 3-D vectors, by using the 'isfeild' function to search for Vc7.vz to a bool entitled 'Dim3'

With the author's permission I am happy to share.

19 Mar 2012 Nicolas Gautier

Works wonders, very useful for handling davis file types.

Please login to add a comment or rating.
Updates
27 Jul 2006

New Version 1.50:
See the "release notes" section
for a full description of the changes.

08 Sep 2006

New version 1.51: bugs fixed

08 Sep 2006

v1.51: bugs fixed

12 Sep 2006

new version 1.51 (see release notes)

13 Sep 2006

new screenshot

17 Apr 2008

Version 1.70: Bugs fixes and new functions available. See the "Release Notes" page for details.

17 Oct 2008

New version 1.80.
See the release notes for details

02 Sep 2009

Version 1.90. See the Release Notes.

06 May 2010

New functions, bug fixes, more documentation. See the release notes.

16 Mar 2011

Version 2.01: now compatible with latest version of the ReadIMX package (dec. 2010).

07 May 2012

New functions and bug fixes. See the release notes page for more info.

Tag Activity for this File
Tag Applied By Date/Time
data import Frederic Moisy 22 Oct 2008 08:23:33
data export Frederic Moisy 22 Oct 2008 08:23:33
piv Frederic Moisy 22 Oct 2008 08:23:33
velocimetry Frederic Moisy 22 Oct 2008 08:23:33
davis Frederic Moisy 22 Oct 2008 08:23:33
lavision Frederic Moisy 22 Oct 2008 08:23:33
import Frederic Moisy 22 Oct 2008 08:23:33
export Frederic Moisy 22 Oct 2008 08:23:33
davis Jianan 06 Jan 2011 16:35:06
davis Verena 12 Dec 2011 07:42:03
data import Verena 12 Dec 2011 07:42:07
measurement Frederic Moisy 07 May 2012 10:57:26
statistics Frederic Moisy 07 May 2012 10:57:26
image processing Frederic Moisy 07 May 2012 10:57:26

Contact us at files@mathworks.com