PIVlab 1.31

New / modified features in PIVlab v1.31:
  • Included units (e.g. "m", "m/s", "1/s" or "px", "px/frame", "1/frame" etc.) wherever possible
  • Export image as *.eps
  • Modified "Export to Matlab Workspace" (all data availbable now)
  • Colorbar position adjustable
  • Image import: Browse folders button
  • Image import: Regular expression filter
  • Zoom and pan buttons
Now available for download: http://www.mathworks.com/matlabcentral/fileexchange/27659

Comments

  1. Hi William !
    I think your work is great. I wonder if it works also for PIV with smoke and not only with water seeded with particles ?
    thanx a lot !

    ReplyDelete
    Replies
    1. Hi, yes that works too. We're also using it in our wind tunnel with (relatively poor) DEHS seeding.

      Delete
  2. william hi. u have done a wonderful work. i want to use PIVLAB for analysis. but my prof. some research paper in which PIVlab is used as a proof thst PIVLAB works properly. have any link for such paper. if yes pls send me

    ReplyDelete
  3. Hi Intesaaf,
    I did a quite a lot of test of the precision of PIVlab, and it performs really good. But I didn't yet publish the results. However, here are two papers that use PIVlab and that also conclude that it performs very good:
    http://onlinelibrary.wiley.com/doi/10.1002/jez.725/pdf
    http://www.eurasip.org/Proceedings/Eusipco/Eusipco2011/papers/1569426567.pdf
    You can do a Monte-Carlo simulation yourself to proove the precision of PIVlab. PIVlab has a built-in PIV image generator, and you can use it to asses the peak-locking error and the overall precision and accuracy. A guide on how to do this is in "PIV a practical guide" by Raffel et al.

    ReplyDelete
  4. Hi William and Intesaaf,

    I have also done some testing of PIVlab. My conclusion is also that it performes quite well and that it outperforms (in sense of quality) an older version of Dantec's PIV software (DynamicStudio v. 2.10).

    Before a while, I have added a more detailed comment concerning these tests. After I have deleted it and posted a corrected version, it disappeared - perhaps was it marked as undesired? If possible to restore it, it would be great.

    I

    ReplyDelete
  5. Once more my valuable comment... (sorry for making mass :-)


    I have to confirm quality of William's software. I have tested three PIV software: DynamicStudio (software provided by Dantec for their PIV system - used version was 2.10, which is from 2008), William's PIVlab, and PIVsuite (our home-made Matlab software). For testing, I have used i) "artificial images" generated by PIVlab, ii) real images with a turbulent flow (and with important out-of-plane loss of particles). Settings were comparable (16x16 px interrogation area, 50% overlap, deformable windows).

    Results of comparison were quite surprising:
    - PIVlab ("FFT multipass" method) performs very well. In my tests with artificial images, the rms(error) was about 0.04 pixel (rms(error) is root-mean-square of the difference between indicated and “true” displacement). It performs quite wall also on my real images (4% of spurious vectors, result “looks well”). The only drawback is that it is unfortunately rather slow for treating large amount of images comfortably (59 s per image pair of my testing images on my (old) computer, running on a single core).
    - PIVsuite performs similarly. It has slightly higher noise (for artificial images, rms(error) = 0.05 px); this might be a consequence of different smoothing of the data (no smoothing after the final pass). Also, no image pre-processing was implemented. For real images, I get 1.2% and the result “looks well”. Lower number of spurious vectors is surely caused by tuned vector validation between passes, which was optimized for the specific case. It is somewhat faster (14 s per image pair on the same computer, running on a single core), but significant acceleration can be obtained if the image sequence is really time-resolved (5.5 s per image pair).
    - DynamicStudio 2.10 performance was disappointing . For artificial images (cases I and ii), rms(error) = 0.16 px. For real images (case ii), number of spurious vectors was 3.8%, but the velocity field “looks quite ugly”. I suspect that the subpixel interpolation of the cross-correlation peak is incorrect in DynamicStudio 2.10. Also, DynamicStudio seems to work better if one switches-off the option “use deforming windows” (which is the opposite of PIVsuite): perhaps, there is some problem with implementation of this option (I even suspect that to enable image deformation, one needs to uncheck “Use deforming window” option – then I have 2.2% of spurious vectors and the velocity field “looks well”). Advantage of DynamicStudio is that it is fast (about 1s per image pair, it runs all 4 cores of my computer).
    Finally, before writing my PIVsuite, I passed through the code of PIVlab (subroutine piv_FFTmulti.m). It uses standard PIV algorithms (as described in Raffell’s and Adrian’s books) and it is hence OK. Anyway, some improvements are possible (tuneable vector validation between passes, speed).

    Concluding, PIVlab can be safely used and it outperforms Dantec’s DynamicStudio (at least v. 2.10 – but note that much newer versions are available). With its user interface, it is also user-friendly (which is not at all the case of command-line PIVsuite). In my view, a major drawback is computational time in the case of large amount of images.

    ReplyDelete
    Replies
    1. Sorry, I just discovered that your messages were in the blogs spam folder (why...?), and I did not get any notification... NOw they are restored. Thanks for your comment!

      Delete
  6. Hello William,
    I noticed that the new version has the possibility of loading masks.
    But do they have to be built manually?
    I wonder if its possible to extract the masks from other pivlab files ( previously processed), and then load them on the new set of images..
    If so could you please explain me how to do it?
    Thank You,
    HL

    ReplyDelete
    Replies
    1. Dear HL, here's a piece of code that Eileen sent to me a while ago:
      function ReadSaveMasksFromSession(filename, outfile)
      % filename is the name of the PIVlab session file
      % outfile is the name for the MATLAB file to be saved
      % This function saves the x- and y- coordinates for a mask from PIVlab
      % previously saved to a session file. It only does the first image slice,
      % but that can be copied to the other images from within PIVlab.
      % If the user wishes to run PIVlab on other images with the same
      % orientation, the outfile from this program can be loaded into PIVlab.
      % Eileen M. McMahon, PhD, May, 2012
      masks = load(filename, '-mat', 'maskiererx', 'maskierery');
      xmask = masks.maskiererx{1,1};
      ymask = masks.maskierery{1,1};
      save(outfile,'xmask','ymask');
      return;

      Delete
    2. Thank You!!! it works just fine!
      HL

      Delete
  7. Great job on the new version of PIVlab.

    I have been somewhat frustrated trying to use the slider to select the frame I want when working with a lot of images. Is there any way to move forward or back one frame at a time?


    Thank you,
    Kevin

    ReplyDelete
  8. Hello,

    Great job on the latest release of PIVlab.

    I have been somewhat frustrated when trying to use the slider to select a frame when working with a lot of images. Is there any way to move forward and back one frame at a time?


    Thank you,
    Kevin

    ReplyDelete
    Replies
    1. Hmmm? Did you try to click on the arrows...? That does exactly go one frame forward or backward...

      Delete
    2. I am not seeing any arrows on my screen. The controls seem to be compressed on my screen, so maybe that's why they aren't showing up. Here is a screen shot: https://dl.dropbox.com/u/26422631/Screen%20Shot%202012-06-17%20at%202.00.33%20PM.pdf

      Delete
    3. I guess that is an apple computer? You could try to adjust your screen dpi settings. You can also do that temporary within Matlab.

      Delete
  9. I did a bit more research, and this seems to be an issue with Mac OS X Lion not with PIVlab.

    Thanks for your quick response. I will probably switch to running Matlab on Linux to get the arrows back.

    ReplyDelete
  10. Hello,

    thank you very much for providing this awesome PIV-tool.

    Unfortunately, I'm facing two problems:
    1) When loading a calibration image, I can choose an image, but then nothing happens. (everything stays the same and the external calibration image is not opened) Matlab writes in the command window:

    ??? Error using ==> iptcheckinput
    Function ADAPTHISTEQ expected its first input, I, to be two-dimensional.

    Error in ==> adapthisteq>parseInputs at 420
    iptcheckinput(I, {'uint8', 'uint16', 'double', 'int16', 'single'}, ...

    Error in ==> adapthisteq at 155
    [I, selectedRange, fullRange, numTiles, dimTile, clipLimit, numBins, ...

    Error in ==> PIVlab_GUI>load_ext_img_Callback at 2364
    caliimg=adapthisteq(imread(fullfile(pathname, filename)));

    Error in ==> gui_mainfcn at 96
    feval(varargin{:});

    Error in ==> PIVlab_GUI at 31
    gui_mainfcn(gui_State, varargin{:});

    ??? Error while evaluating uicontrol Callback


    2) Is there a way I can always choose the same ROI e.g. by overwriting some lines of the m-files?

    Thank you,
    KM

    ReplyDelete
    Replies
    1. Dear KM,
      concerning your first question: It appears that you use a color image as calibration target. At the moment PIVlab only supports grayscae images, I will fix this in the next release.
      Concerning your second question:
      Search for the line
      roirect = round(getrect(gca));
      and replace it with your coordinates in the format
      [xpos ypos width height]
      But you could also crop your images before doing the analyses.

      Delete
    2. p.s.: The line
      roirect = round(getrect(gca));
      is in the m file PIVlab_GUI.m

      Delete
  11. Hello,

    thanks a lot for providing this awesome PIV-tool.

    Unfortunately I'm facing two problems with PIVlab:

    1) When trying to load a calibration image, I can choose the image, click on okay, but then the image isn't loaded or anything. (everything looks like before using the button)
    Matlab writes in its command window:
    ??? Error using ==> iptcheckinput
    Function ADAPTHISTEQ expected its first input, I, to be two-dimensional.

    Error in ==> adapthisteq>parseInputs at 420
    iptcheckinput(I, {'uint8', 'uint16', 'double', 'int16', 'single'}, ...

    Error in ==> adapthisteq at 155
    [I, selectedRange, fullRange, numTiles, dimTile, clipLimit, numBins, ...

    Error in ==> PIVlab_GUI>load_ext_img_Callback at 2364
    caliimg=adapthisteq(imread(fullfile(pathname, filename)));

    Error in ==> gui_mainfcn at 96
    feval(varargin{:});

    Error in ==> PIVlab_GUI at 31
    gui_mainfcn(gui_State, varargin{:});

    ??? Error while evaluating uicontrol Callback

    2) Is there a way I can always select the same ROI e.g. by overwriting some lines of the m-files?

    Thank you,
    KM

    ReplyDelete
  12. hello William.
    I think your work is very great. I need your help to know what is the image evaluation technique of the PIVlab?I have an old text about 2003 year but I am not sure it be true. please send me your helpful text files if it is possible. I can send you my old text if you need.
    Thanks a lot of your infinity grace.
    sincerely
    Masoud
    (my email is mmolaei@aut.ac.ir)

    ReplyDelete
  13. Dear William,
    Thanks for your excellent work. I have to questions:
    1. in my photos the flow stream is right-to-left, therefore the PIVlab shows the velocities negative. what should I do? a solution is to rotate all images 180 degree, but doesn't this reduce their qualities?
    is there a way to correct this by changing the code you have written?

    2. after calculating the mean of all vector fields, when I want to obtain the vorticity field, the following error will be shown and I can't have the vorticity field:

    ??? Error using ==> image
    Error using ==> image
    Image CData can not be complex

    Error in ==> PIVlab_GUI>sliderdisp at 287
    image(rescale_maps(currentimage), 'parent',gca, 'cdatamapping',
    'scaled');

    Error in ==> PIVlab_GUI>apply_deriv_Callback at 2700
    sliderdisp

    Error in ==> gui_mainfcn at 96
    feval(varargin{:});

    Error in ==> PIVlab_GUI at 31
    gui_mainfcn(gui_State, varargin{:});

    ??? Error while evaluating uicontrol Callback


    can you help me about this? what should I do?
    thanks for your consideration & kindness.

    Best Regards,
    Iman Ataei

    ReplyDelete
    Replies
    1. Dear Iman,
      1: Flow velocities from right to left are negative by the definition in PIVlab. Why is this a problem?
      2: I will be on holidays right now, but you could send me your images, and I will check. you could try to edit the line
      image(rescale_maps(currentimage), 'parent',gca, 'cdatamapping',
      'scaled');
      to something like
      image(rescale_maps(real(currentimage)), 'parent',gca, 'cdatamapping',
      'scaled');
      But I don't know if this will work...

      Delete
  14. Dear William,
    I am tring to this program in geotechnique. In order to use it properly, i need detailed manual. Where can i get this manual? i used few times it performed well but i should understand the options in the program. please help me ?

    ReplyDelete
    Replies
    1. dear marat,
      there is no documentation yet. If you want to understand the program, you could have a look at the source code. Or if you have specific questions, write me an email.
      All the best,
      William

      Delete
  15. Dear William,

    I am tring to use this program in geotechnique. This program performed well but, İ need detailed manual of it in order to understand what options i have while using the program. Can you help me?

    ReplyDelete
  16. How can I use this to measure turbulence

    ReplyDelete
  17. $$$ GENUINE LOAN WITH 3% INTEREST RATE APPLY NOW$$$
    Do you need finance to start up your own business or expand your business, Do you need funds to pay off your debt? We give out loan to interested individuals and company's who are seeking loan with good faith. Are you seriously in need of an urgent loan contact us.
    Email:flourishloancredite@gmail.com
    LOAN APPLICATION DETAILS.
    First Name:
    Last Name:
    Date Of Birth:
    Address:
    Sex:
    Phone No:
    City:
    Zip Code:
    State:
    Country:
    Nationality:
    Occupation:
    Monthly Income:
    Loan Amount:
    Loan Duration:
    Purpose of the loan:
    Email:flourishloancredite@gmail.com

    ReplyDelete

Post a Comment

Popular posts from this blog

Forum added

PIVlab update 1.35