Code covered by the BSD License  

Highlights from
PIVMat 3.02

4.55556

4.6 | 9 ratings Rate this file 116 Downloads (last 30 days) File Size: 8.78 MB File ID: #10902
image thumbnail

PIVMat 3.02

by

 

27 Apr 2006 (Updated )

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 2- and 3-components vector fields from PIV (particle image velocimetry), stereo-PIV, 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.

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).
 - Compatibale with files from DaVis (LaVision), DPIVSoft (Meunier & Leweke), 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.

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

Acknowledgements

Inpaint Nans and Inverse (Integrated) Gradient inspired this file.

This file inspired Rosin Rammler Diagram Plotting Tool.

MATLAB release MATLAB 7.11 (R2010b)
Other requirements ReadIMX package from LaVision (www.lavision.de)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (31)
08 Aug 2014 Daniel

Not sure if this is the best place to ask: Has anyone had success intalling ReadIMX for Matlab 2013b on Ubuntu 12.04LTS? I have having problems which feel like they should be an easy fix: I get this error
"Invalid MEX-file '/home/daniel/Documents/MATLAB/readimx/readimx_v2_linux/readimx.mexa64': BufferCompact.so: cannot open shared object file: No such file or directory"

Does this mean it cannot locate the library or that something is out of date?

08 Aug 2014 Daniel

Like some other have have previously commented here, I had the problem that I couldn't find the downloads>software link from lavision.de
The reason is that you have to register AND include the Davis software dongle number in your profile. This should automatically give you customer status and will have access to more services - if not automatically, all it takes is a message through lavision's contact form and they will upgrade your status (at the provision of a valid dongle key - which you can by the way find by opening your DaVis version Help>About: there you'll see the Donlge #).

05 Jun 2014 Marta  
19 Aug 2013 Carlos Reche

I have found a problem using readimx. I downloaded readimx.dll and readimx.m and installed it following the intructions. However, when I run loadvec I get an error which says:

??? Attempt to execute SCRIPT readimx as a function

I have seen that readimx.m has been not created as a function and it has only commented lines.
My versiĆ³n of Matlab is 2010b 64-bit, but I have used this version of readimx before with other versions of matlab without any problem.

Can anybody help me??

21 Feb 2013 Hannah

Hi Hassan,
I am not sure if you found it already but you need to login to the LaVision website and then go to downloads and the file is under software->DaVis add ons.

27 Dec 2012 Hassan

Hi,

I need ReadIMX / MatlabIMX from LaVision in order to import Davis files when using PIVMat. However, I can't find it on the LaVision website anywhere. It seems like they've taken it down, and I can't find it anywhere else. Can anyone point me in the right direction or provide a copy?

Thanks.

This was asked by Anthony on 12 Sep 2012 on the Questions/Answers section.

07 Jun 2012 Harish

I just read the previous comment about indexing difference between PIVMat and Matlab. I was wondering if you can try modify it for the next version. I was lucky to realize that the data point I had chosen was different.

07 Jun 2012 Harish  
06 Jun 2012 Frederic Moisy

Dear Maxwell,
This is because different matrix indexing conventions are used in Matlab and PIVMat.
This point is explained here:
http://www.fast.u-psud.fr/pivmat/html/pivmat_data.html
see the section "Matrix indexing"
I hope this helps,
F.

05 Jun 2012 Maxwell

I've noticed that when I import a .VC7 file and view the v.x and v.y fields, (in my case 1x100 and 1x75, respectively) their dimensions don't agree with the dimensions of v.vx and v.vy.

So, the vector field is 75x100 (#rows x #cols), as it should be, and I would expect the v.vx and v.vy to be the same. However, v.vx and v.vy turn out to be 100x75. It appears to be the transpose.

Does anyone agree with me?

On the online help, it says that v.x and v.y should be 1xM and 1xN respectively. It then says that v.vx and v.vy should both be MxN. The problem is, I find them to be NxM instead.

To fix the problem,I've just transposed them for my analyses, but I'm not completely confident now. Anyone have any ideas? Thx!

19 Mar 2012 Nicolas Gautier

Works wonders, very useful for handling davis file types.

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.

01 Jul 2011 Nitin  
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?

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?

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.

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

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

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.

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

17 Dec 2009 Rahul Mulinti

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

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

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?

23 Nov 2009 Isaac Mancero Mosquera

very good

16 Nov 2009 Hans Henrik Mortensen

Really nice work

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!

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

27 Jul 2007 F Moisy

Dear Claudia -- No, at that time PIVMat only supports 2D VC7 files. -- 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.

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.

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.

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.

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.

02 Jul 2012

Minor upgrade and bug fixes (see the release notes)

20 Aug 2012

v2.12: New documentation page; minor improvements

15 Mar 2013

version 3.00: stereo-PIV now supported

26 Jun 2013

v3.02: now accepts files from DPIVSoft

Contact us