PIVlab是一款时间分辨(微)粒子图像测速(PIV)软件,定期更新软件修复和新功能。它不仅可以计算粒子图像对内的速度分布,还可以导出、显示和导出流型的多个参数。用户友好的图形用户界面(GUI)使PIV分析和数据后处理快速高效。
工具视频讲解:
https://www.youtube.com/watch?v=Sp3Ounq07Qc
例子分析和视频可以在PIVlab网站上找到:
http://PIVlab.blogspot.com
请在PIVlab论坛提问:
http://pivlab.blogspot.de/p/forum.html
安装方法:
下载“PIVlab”文件。Mltbx ',然后在你的电脑上运行它。它会自动在Matlab安装中添加PIVlab工具箱和应用程序。或者(我喜欢的方法,但也是唯一的方法,如果你的Matlab版本比R2015b[8.6]更早),从GitHub下载压缩文件,点击这里:https://github.com/Shrediquette/PIVlab/releases,点击最新版本的“源代码(zip)”,并将内容解压到Matlab工作目录的新文件夹中。然后运行PIVlab_GUI.m。
主要特点:
*完全基于GUI的PIV工具
*多通道,多网格窗口变形技术
集成相关,例如微型piv
*导入bmp/ tiff/ jpeg图像对/系列
*图像排序风格A-B, C-D,…或A-B, B-C,…
*单个图像掩蔽和感兴趣区域(ROI)选择
*图像预处理(对比度增强,高通,强度封顶)
*两个不同的亚像素估计器
*多种向量验证方法
*震级/涡度/散度/切变/…
*数据平滑,矢量场高通
*多个彩色地图
*流线
*广泛的数据提取工具/通过折线/圆/区域集成
*统计(直方图,散点图,平均值和stdev)
*精确的粒子图像对生成与用户定义的参数和几个流模拟(合成PIV图像生成器)
*数据导出(Matlab, ASCII,电影文件,图像,Paraview, Tecplot…)
*主要功能可通过命令行脚本访问
我们要感谢Uri Shavit, Roi Gurka和Alex Liberzon分享他们的3点高斯亚像素估计代码。感谢Nima Bigdely Shamlo允许我加入LIC函数。感谢Raffel et al.写的《粒子图像测速,实用指南》这本书,这是一个很好的帮助。
威廉·蒂利克(2021)。粒子图像测速(PIV)工具与GUIGitHub (https://github.com/Shrediquette/PIVlab/releases/tag/2.46)。检索.
蒂利克,威廉,埃泽·j·斯坦休伊斯。“PIVlab -在MATLAB中实现用户友好,负担得起和准确的数字粒子图像测速。”开放研究软件杂志,第2卷,Ubiquity出版社,2014年10月,doi:10.5334/jors.bl。
Thielicke,威廉。鸟类拍打飞行:分析与应用。博士论文,格罗宁根国立大学,2014,doi:10.13140/RG.2.2.18656.94728。
干得好!谢谢。
嗨,Shubham saini,文章中包含了许多PIV实验图片。
如果有人能分享一些PIV实验图片(只要10张)就可以了,我想学习这个软件。
真的很有用,谢谢你的工作!!
非常好的软件!
太好了!
好的,谢谢!
优秀的工作
你好,William博士,输出结果的时候能不能把矢量和云图分开显示,
1.在原图像上画一个矢量图(现在就可以做了);
2.在白色背景上绘制矢量地图;
3.只显示彩色云图,不显示矢量。
美好的信息。谢谢分享!https://openswffiles.com/
谢谢楼主的分享。一个非常值得推荐的软件,毫无疑问。https://filesextension.com
嗨,Shantanu,实际上没有更新,这个网站上的所有变化只是为了迁移到github。你看到的那条信息每年只在这个特定的日期出现……它是一段时间前实现的:)
我下载了最近的更新,现在当我启动PIVlab时,它显示“10月15日。从今天起,我爱莉娜15年了!”这是最近唯一的更新吗?:)
这就跟你问声好!威廉,非常强大的软件!谢谢你!
我有个要求。每张图片的位移数据可以添加到这个软件中吗?如果是这样,那就太好了!
这就跟你问声好!威廉,这是一个非常好的软件!
我有一个疑问,你能帮我澄清一下吗?
我计划将'result_conv'中的平面转换为归一化相关系数平面,并计算每个峰值的归一化相关系数。请问如何从'result_conv'参数或者' piv_FFTmulti'脚本中的其他参数计算互相相关系数?
非常感谢!
谢谢你!
你好!威廉,这是图像处理的一个很好的表现。我想知道我可以用这个程序通过图像处理来计算两种不同流体的混合指数吗?
如果可能的话,你能告诉我怎么做吗?
蒂雅
好东西,谢谢分享。
https://openjsonfiles.com/
优秀的程序与良好的文档和教程。
你好,威廉。我目前正在尝试使用PIVlab进行脑组织置换。如果变形后粒子不仅位移而且变形,这个程序是否有效?另外,简单应变率背后的物理意义是什么。如果你能告诉我用什么公式来计算这个式子就太棒了。我们也可以从这个应用程序得到位移地图。
谢谢。
伟大的项目!一直在我的研究中广泛使用。在建立我的模型时,我确实遇到了一个关于粒子图像密度的问题。如何确定屏幕上的粒子数量与激光薄片厚度的关系?我计算了PID为每个询问窗口15像素所需的粒子数量,但我的PIV图像中的粒子数量(逻辑上)取决于激光薄片的厚度。是否有一种方法可以用给定的激光片厚度和粒子数来确定被照射粒子的数量?
很棒的信息,我很欣赏你的工作。
http://openfiles.bravesites.com/
太好了,我正在找这个信息。谢谢分享!
https://opencrdownloadfile.co
你好,威廉
位移(修改数据→显示参数)
谢谢你!
您好,感谢您开发这样一个伟大的工具!如果有人能回答我的问题就太好了
在后期处理中,我使用了“interpolate missing data”选项,在数据缺失的地方填充一些橙色向量。有没有可能求出这些插值向量在每一帧中的百分比?
非常抱歉!没关系,这是我的错!
matlab2014b版本2.3.1工作时出现错误,无法显示颜色图(在修改plot外观中),建议使用更高版本的Matlab。
当2.3.1版本在matlab2014b中工作时出现了一个错误,颜色指示条(在修改情节外观中)不能显示,建议使用更高版本的Matlab。
matlab2014b版本2.3.1工作时出现错误,无法显示颜色图(在修改plot外观中),建议使用更高版本的Matlab。
当2.3.1版本在matlab2014b中工作时出现了一个错误,颜色指示条(在修改情节外观中)不能显示,建议使用更高版本的Matlab。
你好,威廉
谢谢你的软件。它对我的研究很有用。但是我无法保存每帧的matfile。它只保存一个名为“PIVlab”的帧
有用!
你好,威廉。感谢您的快速回复!我还有一个问题。是否有可能以某种方式从PIVlab中提取向量的数据,以便绘制它们的极点(即平面的极点)?我看到有一个“矢量方向(度)”的热图-是否有可能以数字格式提取这些数据?
太棒了
最好的工具PIV Matlab。
谢谢威廉。
问候https://openapkfile.co/
有没有提供立体声PIV
你好,我不太明白你的问题,但pivlab会给你一些审讯区域的建议。请使用论坛提问。
你好威廉,
是否有一种方法,我可以创建网格的审问光斑大小,看看在框架集内的粒子位移小于1/4的光斑大小?
谢谢,安吉尔,我会查清楚的。
你好。
我已经使用PIVlab有一段时间了,但我想指出的是,在windows中不可能调用共享网络目录,例如\\MySharedDirectory\Sub\ directory来本地化图像。这个问题有什么解决办法吗?
我知道在Linux中不存在这样的问题,因为共享位置被挂载到本地目录,但在Windows中即使我映射了共享文件夹,我也看不到解决方案。
嗨,雷吉娜,我一定要试一试!如果您使用Pivlab论坛来回答问题,我也可以尝试帮助您进行分析。
嗨。请问PIVlab是可以处理正畸,还是只能处理单张图片?我们通常以常规间隔捕获景观无人机图像,就像典型的SfM摄影测量模型一样,然后从中推导出正切线。我们在同一个位置上有多个时期的正畸-这就是我们想要开发运动向量的原因。PIVlab工具能处理如此大的数据集吗?如果是这样,是否有任何特定的相机参数,我应该知道(例如-70度万向节角vs最低点;某些高度限制;在不同时期保持一致的地面采样距离;等等)。如果它只能处理单个图像,我假设图像需要每次从相同的位置拍摄像素匹配工作(即相同的角度,距离等)? Thanks for your help, I'm excited to try out this tool!
如果不进行校准,则u和v直接以像素为单位表示x和y位移。
你好!
我正在使用PIVLab的背景导向纹影应用程序。关于将u和v矢量分量转换为x和y上的粒子位移,你能提供一些建议吗?
嗨,请使用论坛提问,也请提供更多关于您的问题的细节(您正在尝试做什么?)
嗨
我使用pivlab 2.1来分析不同的情况,问题是x数组每次都从不同的位置x{1,1}(1,1)开始,我沿着x轴比较特定的位置,所以我应该使用x{1,1}(1,1)作为我的参考点,并从该参考点减去另一个点吗?
@Deniel Weck:我不明白这个问题,对不起……
我在1.43上也有同样的错误。..文件可能已损坏。
我想这个错误是由于其他一些我需要弄清楚的事情。
关闭文件错误..
在这里:https://opendllfiles.com/open-dat-file/
@Shweta:
https://groups.google.com/d/msg/pivlab/GS30m95Ia1g/laAEU40LAgAJ
应变率和剪切率是如何计算在这个代码?
嗨,这是不可能的,因为这个功能是实验性的,我想防止人们不小心使用high-pass…但是你可以自己修改你的数据:只要低通你的图像,例如过滤,然后从原始数据中减去它。
你好,令人印象深刻的工具!我想知道选择Highpass vector field后如何保存矢量数据?
你好,我想知道是否可以测量粒子的位移。我还想知道结果的准确性是否可以改变,例如,结果可以被读取到0.001的因子。
是的,在文件选择对话框中,您可以选择排序样式。
非常好的工具!
只有一个问题:是否可以选择一个参数,使帧是[Image001-Image002], [Image002-Image003]等,而不是[Image001-Image002], [Image003-Image004]等?
欢呼,
你好,特里斯坦,谢谢你的捐赠和评论!
已经有人要了,我来看看。当我使用PIV的时候,Tif堆栈没有被使用。这些堆栈是从哪里来的,是特定的软件/相机吗?
很难决定哪些是主要功能……我将检查添加另一个工具栏是否有意义。我还可以让这个是可选的,这样用户就可以决定他是否想要看到它。
3:这在2.02版本是可能的
4:如果你保存你的设置为pivlab_settings_default,那么Pivlab将开始你的设置(至少我认为它应该…)
欢呼,
威廉
PS——我相信你总是会得到建议,我知道做出改变总是需要很多努力,但我有一些建议,而且我在软件构建方面相当有经验:
1)让人们可以读取TIF堆栈(而不是充满单个图像的笨重文件夹)
2)将主要操作(加载图像,设置蒙版,预处理和PIV设置,分析)作为前景按钮,而不是隐藏在菜单结构中
3)一旦一个蒙版已经绘制,有一个选项,以保存该蒙版到一个垫子文件,然后可以在后续的会话中重新加载
4)有可以保存的首选项文件,这样人们就可以按自己想要的方式设置程序,半永久地保存状态,然后*不*必须更改设置或加载设置文件,每次会话
谢谢!
最好的工具PIV + matlab(而且,它是免费的!)谢谢威廉。
嗨Omid,
改动如下:
https://pivlab.blogspot.com/2019/01/update-pivlab-201.html
你好威廉
谢谢你的更新。请问这次更新的功能是什么?
最好的
嗨,格雷厄姆,
这是这个网站的错…在我上传一个新版本后,总是需要1-2天来构建工具箱。等一天再试试吧。
由于新的更新程序将不会添加到我的文件。我用的是学校的电脑,每天都要下载应用程序。
你好。这么棒的工作。这是非常有用的。
但我有两个建议:
1.是否可以将PIV实验结果的所有帧导出到Tecplot中作为时间分辨的解决方案。目前,我将把一个一个的ASCI文本到Tecplot。
2.如果有可能将湍流强度和其他湍流属性添加到Tecplot导出。
我会很感激你以后的更新。
H. Birkan你能在PIVlab论坛上提供更多信息吗?也许包括重现错误的指令?
我刚刚完成了另一个重大更新,也许我可以在发布之前包含一个修复。
在1.43中也遇到了同样的错误,我猜这个错误是由于其他一些我需要解决的问题
使用save时出错..文件可能已损坏
关闭文件错误..
//www.tatmou.com/matlabcentral/answers/18098-error-using-save-error-closing-file
在版本1.43之后,我在保存会话时开始遇到以下错误:..文件可能已损坏
使用save时出错
关闭文件错误..
//www.tatmou.com/matlabcentral/answers/18098-error-using-save-error-closing-file
所以我已经开始使用旧版本,v1.43没有这个问题
嘿,威廉,
有没有可能用你的软件分析“最大”移动的点(最高速度的时间)?
我有大约1000个剪切实验的斑点图像,需要计算出我们正在工作的铝箔撕裂的时刻。
多谢。
你的软件看起来很棒。
如果能帮到我,我肯定会捐一些东西的。
愿一切都好!
菲利普
这是PIVlab论坛:
http://pivlab-time-resolved-digital-particle-image-velocimetry-tool-f.33690.n7.nabble.com/
我使用旧版本的Matlab 2009。
如何安装“PIVlab”。Mlappinstall ' in system?
你好,请问我如何接收PIVlab的速度数据,谢谢
谢谢你写这个工具,我用它来分析我的散斑图像,但效果很差,我想,也许我需要修复它。
请大家在PIVlab论坛提问!
大家好!
我有一个关于如何加载图像的问题吗?
当我想在PIVlab上加载图片(tif格式)时,我遇到了以下错误消息。
希望有人能帮帮我!!
非常感谢。
使用图像出错
Image CData必须是m × n × 3或m × n矩阵。
PIVlab_GUI>sliderdisp错误(第387行)
Image (currentimage, 'parent',gca, 'cdatamapping', 'scaled');
PIVlab_GUI>loadimgsbutton_Callback错误(第891行)
滑动条移动时显示原始图像
gui_mainfcn错误(第95行)
函数宏指令(变长度输入宗量{:});
PIVlab_GUI错误(第52行)
gui_mainfcn (gui_State变长度输入宗量{:});
错误
matlab.graphics.internal.figfile.FigFile /阅读> @ (hObject eventdata) PIVlab_GUI (loadimgsbutton_Callback, hObject、eventdata guidata (hObject))
计算UIControl回调时出错
大家好!
我有个小问题,非常感谢你的帮助。
我已经分析了一系列帧(压载粒子在特定频率下的运动),并且非常想获得我的粒子(或帧)的平均速度。第一个想法,用平均向量!这就是我的问题开始的地方。
我所分析的所有坐标系中的速度都明显(几乎x10²)高于平均向量坐标系中的速度。有人知道哪里出了问题吗?
我能问个问题吗?
如何使我的视频适用于PIV?示例图像是二进制的,看起来需要一些步骤来分析。
我正在分析衣服在烘干机中的移动轨迹。并且它不适用于PIVlab_GUI.m的原始视频帧
求你了,我请求你的帮助……
哇哦,PIVlab的Matlab网站现在可以直接显示视频了…很好,谢谢Mathworks!
我似乎无法在Matlab的2017b版本上正确安装这个。的帮助!
这与2017a版本兼容吗?
亲爱的所有,
我在FileExchange中贡献了一个并行版本的PIVlab。
//www.tatmou.com/matlabcentral/fileexchange/63358-parapivlab--pivlab-in-parallel
它是如此的好,我想问一下如何使用PIV工具箱,有什么教程吗?
你能跳过多于一张图片吗?
例如,我想关联图像A-D, B-E, C-F等…
可以加载的图像数量有限制吗?如果是,我可以增加吗?
我一直试图加载15000张图像,但图像加载器只加载10000张图像。
是否与Matlab R2016b兼容?
问候,
我写信想知道是否有可能在matlab中使用readimx包阅读im7(LaVision Davis)图像,并使用此代码?如果可以的话,那就太好了
美丽的工具!
谢谢你让我的硕士论文(再一次)很棒
在PIVlab_GUI的第155行中有一个多余的空间,这似乎阻止了在linux上正确读取默认设置(但在mac上没有)。
我怎么下载这个?
首先,感谢您编写和开发这个工具!我屏蔽了一些区域,得到了nan。当我平滑或插值向量场时,这些nan被替换为一些我无法将它们与我感兴趣的区域区分开来的数字。另一方面,如果我不使用插值,在原始区域中还有一些其他的nan。我想知道有没有办法使用插值或平滑排除蒙面区域或我做错了什么?!
请提供一个功能,生成用户定义的询问窗口的相互关联图。
最新版本的处理速度要快10到30倍。详见博客!
最新版本(PIVlab 1.4beta)与R2014b(及以上版本和以下版本)兼容。本网站将很快更新为v1.4。在那之前,下载一份@http://pivlab.blogspot.de
如果你正在使用Matlab R2014b,并考虑使用PIVlab,那么请看看这里的这篇文章:
http://pivlab.blogspot.de/2015/01/matlab-r2014b-compatibility.html
亲爱的Aahdi,正如我在邮件中提到的,请使用论坛提问,并提供更多细节,例如一幅画或例子。
论坛在这里:http://pivlab.blogspot.de/p/forum.html
我在piv实验室有一个疑问,请让我澄清一下,如果我们想从河流或任何渠道提到,校准中的参考距离是什么?
频率是如何描述的
hi@willaim
我是通过脸书发给你的。“ms”的实际含义是什么?它是图像的捕捉时间或相机规格。我的相机提供8帧。我的邮箱是ayyaure@gmail.com
谢谢
hi@willaim
我是通过脸书发给你的。我的邮箱是ayyaure@gmail.com
谢谢
@Aadhi:听起来你的校准可能是错误的。您是否注意到在校准过程中必须以“mm”输入距离,以“ms”输入时间步长?如果这不能解决你的问题,你可以发给我一些示例图像。
你好William
在我的分析之后,我得到u速度是0.00025米/秒,但是当我手动在通道中做的时候,我得到了大约0.205米/秒,在我的分析中,我使用了佳能EOS 7D相机。这里我得到的误差是1/1000,请给出一个确切的解释。
@Sidaard:我不知道你的“。dat”文件应该是什么文件格式,但你可以使用file -> save -> ASCII-file ->导出所有帧
你好!
我想知道如何为我所有的图像对获取单独的矢量文件。
我尝试使用DPIV软件,但我无法为每个图像对获得单独的.dat文件。我需要单独的矢量数据文件来计算雷诺应力。
任何有用的信息都将不胜感激。
谢谢
你好,
图形和速度图是如何保存的,当我保存在任何位置时,我会在打开ASCII图时遇到问题
@AADHI NARESH:抱歉,但我认为如果你先给出问题的细节,我会更有成效。
NARESH
你好,
我有一个问题的互相关过程,请详细说明
不,这是不可能的。PIVlab需要特定的会话文件,其中的数据以特定的方式组织。我建议在PIVlab中重做分析。
你好,
只要我已经有了速度场,是否可以只使用这个工具进行后处理?
@Kristine:在PIVlab GUI中不可能做到这一点(因为你想要减去的速度随时间而变化)。但是您可以将结果导出到工作区,测量(取区域的平均值)速度并从结果中减去它。我认为这可以自动完成。
——>评论nr. 100,耶耶!让我们在这上面喝一瓶冰咖啡吧!
你好,
我们的摄像机在录音的时候晃动了一下。我们知道在录制时图像的某些部分是固定的。是否有可能将这些“固定部件”设置为“零运动”?所以分析最终给出了运动粒子的真实运动而不抖动相机?
非常感谢!
Kristine
啊哈,谢谢。这应该能帮我解决问题。
干杯!
是的,y =向下为正,x =向右为正。0,0在输入图像的左上角。ROI的坐标(xstart, ystart, width, height)在ROI面板中给出。
所以y在向下的方向上是正的(就图像而言)?根据我自己的测试,我想是的,但我只是想检查一下。
同样,x=0 y=0是否设置在图像的左上角,或感兴趣的区域?
谢谢!
谢谢:-D。关于你的问题:它是左上角(这似乎是基于图像的数据的标准)。你只能通过从PIVlab导出数据,然后编写一个自定义脚本来改变这一点(但是不应该那么困难)。
PIVlab是迄今为止我使用过的最好的PIV软件,甚至比那些想要很多钱才能买到“完整”版本的专有软件还要好!
我有个问题:我要把笛卡尔坐标转换成极坐标。PIVlab把x=0 y=0放在哪里?在左下角?是否可以更改默认位置0,0?(因为这将使转换更容易。)
是的,这可能有用。但你必须选择“A-B, B-C,…”的排序风格,否则你可能会跳过每两张图片。
我在PIVlab_GUI中进行了更改。在第1631行中将“filepath{i}”改为“filepath{1}”。
我想这个就行了。
谢谢你的快速回答。
我想把很多图像与同一参考图像进行相互关联。
@Petra:是的,只要选择你的参考图像作为“图像A”的图像对。
你好,
有可能对一个固定的参考图像进行互相关吗?
非常感谢,
佩特拉
@Joe:你看到的是通道之间的向量验证。这并不会真正影响你的最终结果。最后一遍的所有向量都是“实向量”,它们不是插值的。
@Elizabeth:你需要在你想要追踪的媒介中添加纹理。作为一个经验法则:如果你的眼睛能在图像中看到一个运动,那么PIVlab也将能够进行相互关联。
@Edouard:我在我的博士项目中做过类似的事情,但你需要在Matlab中进行计算。我可以推荐Paraview来显示3D数据。
你好,
我有几个PIV图像在一个轴对称部分的不同横截面角度,并想在每个图像之间插值,以创建一个3D流场。PIV实验室有这个能力吗?
谢谢你!
爱德华。
你好,
我需要建造一个水槽实验来测量土壤侵蚀。这似乎是跟踪土壤运动的一个很好的工具。但我必须使用示踪剂来获得水面上的流线吗?
你好,
这是非常好的软件,尤其是免费的。我在大学的毕业设计中使用了这个。我看到它在运行时丢弃了向量。我想运行一段时间来得到向量的平均值但它总是删除看起来不错的向量。你能告诉我在哪里可以禁用这个功能,这样它就会转储所有原始数据而不丢弃任何向量吗?
谢谢,
乔
你好罗伊,
要导出2D矢量数据,转到文件-> save -> ASCII文件或MAT文件或Paraview二进制VTK(取决于您想要的格式)。
今年夏天,我的论文和(希望)期刊上都能找到相关文档。
威廉,
首先,请接受我对开发如此优秀的软件的感谢。在我的博士工作中,我发现这比商业上可用的PIV程序更可取(当然,在适当的时候会引用你的文章)。
我的问题是,我想导出完整的二维速度矢量分量(u,v)我已经看到我可以沿着“提取”菜单下的一条线导出u或v,但GUI中是否有一个函数可以在整个ROI上对完整的2D矢量场进行此操作?
最后,提到了关于算法准确性的文档等,可能会在2014年初发布,等待您的论文发表。你能否提供进一步信息?
非常感谢,
罗伊
嗨,约瑟芬,
它使用互相关来确定粒子位移。您可以选择“直接互相关”(在空间域中)或“离散傅里叶变换”(在频域)。
你好,我想知道PIVlab是用什么方法测定的(
相位相关,基于块的方法,微分方法(Lucas-Kanade方法,Horn-Schunck方法,Buxton Buxton方法,Black-Jepson方法))
一般变分方法,离散优化方法)。我写硕士论文,不能使用这个代码,如果我不知道它到底做什么。
先谢谢你,
约瑟芬
亲爱的拉姆,这是PIVlab评论页面,而不是PTVlab页面。虽然来自PTVlab的GUI来自我们的项目,但我无法帮助您解决PTVlab中的bug。
你好,
不错的代码,但我在运行过程中遇到问题。当我打开图像预处理,启用减法,点击预览当前帧,然后什么都没有发生。相反,程序变得无法/不活动。我必须关闭PTVLab。有人能帮帮我吗?
提前谢谢!!
内存
亲爱的佩特拉,
PIVlab使用uipickfiles。M加载图像数据的路径和文件名。您可以用从Matlab工作区加载矩阵的自定义函数替换此函数。请参阅uipickfiles的文档。M来理解它的数据结构。
你好威廉,
谢谢你的精彩节目。
我想知道的是:
是否可以直接从当前的matlab会话导入图像(矩阵),而不将它们保存到文件?
致以最亲切的问候
佩特拉
@Uli:谢谢,我会尽量不忘记把它包含在下一个版本中。
@Tobias:“区域平均流动方向”适用于完整的单元格:如果单元格的面积超过50%在您选择的区域内,则该单元格将包含在平均值中。
“面积平均值”使用的正是多边形中的面积。所以这个更精确。
嘿,威廉,
我喜欢你的节目。它真的很复杂,很容易使用。
然而,我想到了一件事。如果我从面积中提取速度大小,有两种可能,对吧?-通过“面积平均值”->“速度幅度”和通过“面积平均流向”。然而,结果却不尽相同。我不是一个matlab专业人员,所以我很难按照源代码找到确切的区别。也许你可以给我一个建议,我更“相信”哪种可能性;)
谢谢你所做的一切,
托比
亲爱的威廉,
谢谢你的好代码。
我刚试过了,效果很好。然而,我认为我发现了一个bug,当图像包含空白区域时可能会出现:
然后在piv_FFTmulti中得到一个错误(第122行)。
您可以在这一行中添加“~isempty(x) && ~isempty(y)”来解决这个问题。
你好威廉,
非常感谢您提供这个有用的工具。关于上一篇用户文章关于获得相关性峰值的一个快速后续问题。我们是否运行PIV_FFTmulti。m单独或它(相关峰值具体)可以从GUI运行?
谢谢
相关结果如下:
piv_FFTmulti.m
result_conv = result_conv / max (max (result_conv)) * 255;%normalize,峰值=总是255
亲爱的威廉,
如何绘制审问窗口的相关峰值?
非常感谢你宝贵的帮助。我会把一些照片发给你。
亲爱的新浪,
图像不是二值化的。然而,PIVlab只使用来自图像的强度信息。
在最后一关,至少应该有6个粒子对。讯问区域越大,个体带菌者越好。但是你当然会失去分辨率。
当一个区域没有粒子时,PIV就不起作用了……挑战通常是优化实验设置,但我猜这对你来说很难……请给我发一些图片,我可以看看。
亲爱的威廉,
感谢您创建的令人惊叹的PIV代码。我正在处理一系列在由许多颗粒组成的密集流化床中获得的图像。当我开始在您的PIV实验室工作时,出现了一些问题:
1.程序是否将所有图像二值化,一旦我做图像预处理?
2.有一些区域没有粒子但我看到有很多速度向量应该以某种方式避免。
3.我应该如何选择Pass1、pass2和pass3 ?这有什么标准吗?
我也很乐意给你发一些图片。
致以最亲切的问候
新浪
亲爱的伊恩,
PIVlab使用子图像的互相关联来寻找位移。请参阅Raffel等人:“粒子图像测速,一个实用指南”关于PIV的信息。这本书还概述了在高位移和多通算法的流动中询问区域的大小。
感谢您创建的优秀PIV算法。我现在已经使用了一些,在我看来,这似乎是最友好的。
谢谢你回复我之前的问题。我发现我之前分析的视频有明显的闪烁,这可能会引入人工制品。
比方说,如果我有粒子在流体中流动,PIVlab是在粒子跟踪的基础上生成矢量,还是更像一个纹理分析算法?
如果是粒子跟踪,我可能会在确定向量时遇到更多问题,因为我目前正在处理更小的ROI,因此如果我增加大流量速率,很快我将不得不将询问窗口大小增加到一些不合理的值,我可能会失去有价值的信息。
亲爱的伊恩,错误向量的数量取决于你的图像质量。图像噪声或压缩伪影确实会成为一个问题。您可以通过应用例如stdev过滤器、规范化中值测试或全局速度阈值来半自动地过滤错误向量。你也可以把你的一些图片发给我,我可以看看。
嗨,我想在一个封闭的流道中生成围绕结构流动的流线。为了帮助跟踪流体流动及其速度,我在流体中添加了微粒。我用这个图形用户界面来生成流线。
我的问题是,当我播放流体流动的视频时,我可以很容易地看到流动的净方向。但是当我用PIVlab分析它的几帧时,我得到了一些指向错误方向的错误向量。除了每次手动消除我分析的每一帧,还有什么我可以做的吗?
谢谢你考虑我的问题。
亲爱的Konstantinos,
1:命令行脚本不打算生成PIVlab会话文件。但是您可以在GUI中分析2-3张图像,然后保存会话并查看生成的.mat文件。变量"resultslist"包含x,y,u,v,类型向量信息。
2:使用exportfig函数导出图形。您可以在PIVlab_GUI中搜索“exportfig”。M,修改后保存。
在我的图像中应用强度封顶时,我得到了以下错误:
使用中值的错误(第28行)
第一个输入必须为单或双。
PIVlab_preproc错误(第24行)
up_lim_im_1 =值(in_roi (:)) + n * std2 (in_roi);的%上限
图1
PIVlab_GUI>preview_preprocess_Callback错误(第1502行)
out = PIVlab_preproc (img,roirect,clahe,
clahesize、highp highpsize,剪辑,clipthresh intenscap);
gui_mainfcn中的错误(第96行)
函数宏指令(变长度输入宗量{:});
PIVlab_GUI错误(第32行)
gui_mainfcn (gui_State变长度输入宗量{:});
错误
@ (hObject eventdata) PIVlab_GUI (preview_preprocess_Callback, hObject、eventdata guidata (hObject))
计算uicontrol回调时出错
如果将中值函数中的参数转换为双精度,问题就解决了。我不确定这是一个普通的错误或只是我的图像(8位Tiff)。
另外,如果你能帮我做几件事,我会很感激:
1.使用命令行脚本保存带有结果的mat文件,以便将其加载到GUI进行预处理的命令是什么?
2.我使用边缘检测算法来检测和屏蔽图像中的边界。我想在GUI中绘制边缘,并在导出图像或视频时将它们保存在图像上。你能告诉我保存的图像变量吗?这样我就可以添加检测到的边缘了。
亲爱的Konstantinos,你可以保存会话,然后使用Eileen不久前发给我的这段代码从保存的会话中提取掩码:
函数ReadSaveMasksFromSession(filename, outfile)
% filename是PIVlab会话文件的名称
% outfile是要保存的MATLAB文件的名称
此函数保存PIVlab中掩码的x坐标和y坐标
%先前保存到会话文件。它只做第一个图像切片,
%,但可以从PIVlab内复制到其他图像。
%如果用户希望在其他图像上使用相同的PIVlab
%定向,该程序的输出文件可以加载到PIVlab中。
Eileen M. McMahon,博士,2012年5月
Masks = load(filename, '-mat', 'maskiererx', 'maskierery');
Xmask = masks.maskiererx{1,1};
Ymask = masks.maskierery{1,1};
保存(输出文件,“xmask”,“ymask”);
返回;
出色的工作!
有没有办法保存在PIVlab中绘制的面具,以便在不同的会话中重用它们?
这真是太棒了。对于我第一次使用PIV,这段代码非常有用。我想知道当我把结果保存到.mat时,矩阵'typevector'代表什么。它是否显示哪些向量是原始的,哪些向量在向量验证后被替换?
@Emil:我正在使用Matlabs内置的流线功能。在我看来,它只会从这个点往一个方向画流线。我将为下一个版本寻找替代方案。
非常好。只是想知道是否有任何方法来显示流线,不仅“从点开始”,而且“在点结束”,或者是否有一种方法来显示通过给定点的“完整”流线。
我认为这个工具很棒!
这并不复杂,这是一个快速而肮脏的抛物线流:
[v, u] = meshgrid (1:800 300:299);
v = 0 (600800);
u = (1 u。^ 2 / max (max (u。^ 2)))* 5;
你好,
谢谢你的快速回复。我要试一试,尽管它看起来很复杂。
你好阿,
在PIVlab_GUI的第3636行。M,你可以找到生成均匀位移流的代码。你可以把你的抛物线流剖面放在这里,你只需要一个u和v位移矩阵在图像中的所有像素。
从我之前的问题中,有没有一种方法可以用抛物线方程来指定位移,并在PIVLab中生成粒子图像?
这是一个神奇的工具。在找到PIVLAb之前,我已经尝试了很多替代方案。好工作! !不过,我有一个疑问。我似乎不能生成简单抛物线流的图像,比如通道中的泊苏叶流。我遗漏了什么吗?谢谢
好工作。
@York:是的,只要在“Plot ->派生参数”中禁用“自动缩放地图”功能就可以了。
问个小问题,有没有一种方法可以修复整个图像序列的颜色条范围?
谢谢你!
你可以打开pivlab_gui。M,搜索“vectorcolor='g'”。把这个替换成e.g.。'r'代表红色,'k'代表黑色。
当您想要修改在显示导数(例如涡度或幅度等)期间绘制的矢量颜色时,请搜索vectorcolor='k'并将其替换为您选择的颜色。我将在下一个版本中添加改变矢量颜色的可能性。
@ALL:如果你错过了一些功能,请在这里添加你的评论/愿望:
http://pivlab.blogspot.com/2011/07/pivlab-12-windows-deformation.html
否则,我可能会忘记在下一个版本中添加所需的功能(我有很多项目,很难跟踪每件事..)。
非常好的节目。坚固,快速,易于使用。有一个问题,我有没有办法把箭头的颜色从绿色改为黑色或红色?我使用彩色图像进行演示。
吴@XP:
谢谢你的反馈。
1605-1607行我认为是正确的。它们设置复选框的值(value==1表示选中复选框,value==0表示未选中复选框)。变量pass2、pass3、pass4分别为0。这很好。
您的第二个更改非常有意义,我将在下一个版本中包含它。谢谢!
伟大的工作!
还有一些bug需要修复。
请看第1605到1607行:
设置(处理。“价值”,checkbox26 pass2);
设置(处理。“价值”,checkbox27 pass3);
设置(处理。“价值”,checkbox28 pass4);
因为复选框没有名为“value”的属性,所以这些代码应该如下所示:
%%{由XP wu修改
设置(处理。checkbox26, 'String','Pass 2:');
设置(处理。checkbox27, 'String','Pass 3:');
设置(处理。checkbox28, 'String','Pass 4:');
% % 2011-12-15}
PIVlab_GUI不需要从它的文件夹开始。只需要改变第105行:
read_settings (PIVlab_settings_default.mat, pwd);
可以如下:
%%{由XP Wu修改
% read_settings ('PIVlab_settings_default.mat',pwd);
psdfile =(“PIVlab_settings_default.mat”);
dindex = strfind (psdfile filesep);
read_settings (PIVlab_settings_default.mat, psdfile (1: (dindex(结束)1)));
% % 2011-12-15}
优秀的代码。非常友好和准确。
我所有的博士论文都在用它
这个代码有3D版本吗?
嗨thefourtheye,
如果某些区域完全是黑色的,我的工具将无法计算该区域的速度。所以这些区域的速度不是零,但它是“不可测量的”。这就是为什么该工具将“nan”放在这些区域。在向量验证中,所有缺失的数据(= nan)都被插入。我只是修改了文件piv_FFTmulti。m,使“0”放置在黑色区域,而不是“NaN”。如果你想让我把文件发给你,请写邮件给
P I lv b @ g mx。C o m
你好W Thielicke,你的工具太棒了。谢谢你的分享!我有一个关于向量验证的问题。我正在运行你的伤口愈合分析程序。在分析之前,我对我的图像应用二进制阈值以减少噪声。当我运行程序时,有细胞的矢量,细胞分裂的异常矢量,以及没有发生移动的裸露区域上的点。当我选择速度限制并将其应用于帧时,异常向量被较小的橙色向量所取代,但现在在帧之间应该没有移动的裸露区域也有较小的橙色向量。当我限制速度范围时,为什么没有运动的区域被指定向量?我注意在散点图上(0,0)处设置极限的中心(例如,我将选择(-1,1)和(1,-1)之间的区域)。
是的,我已经添加了一条将数据发送到工作区的语句,现在我可以访问数据了。谢谢!
直方图和其他统计图在PIVlab_GUI的3019行中完成。m。只需在这一行下面输入“keyboard”命令,就可以访问数据。你是这个意思吗?您还可以在这里添加assignin命令,以便始终将数据发送到您的工作空间。
嗨,这是一个很棒的工具,谢谢。但我有一个问题。我不仅想看到PIV实验室生成的直方图和图表,还想获得用于生成它们的数据。如果它使用x和y轴来生成直方图,我想要这些数据向量。这可能吗?
大家好,我有个好消息:前几天我编程了一个多通道窗口变形PIV算法。结果看起来很棒,噪音显著降低,峰值锁定减少,大梯度和非常小的询问区域都不是问题。看一看http://pivlab.blogspot.com第一个结果。我会做一些最后的测试,并很快上传更新。
PIV实验室是我用过的最高效的程序。用户友好的界面和操作说明是非常有用的快速处理。感谢这段高效的代码。真诚
我认为从外部程序加载分析将是不可能的。在你的分析中没有办法减少位移吗?如果您的流程或多或少是均匀的,您可以在分析之前尝试移动图像。你能给我寄一些录音样本吗?也许我会找一些时间再次使用多通道,然后我需要一些多通道具有优势的图像。
@W Thielicke:
谢谢你的快速回答。
我需要使用多通道的原因是由于我的流动条件(μ -PIV,速度超过15米/秒)。
我想知道我是否可以用我的商业软件做交叉相关,然后在PIVlab中加载数据。这是可能通过加载PIVlab会话?需要哪种格式和数据?
@K。赌注:
我之前做了一些初步的多重测试。第一次我做了一个正常的分析,得到了x和y的位移。在接下来的一次中,我用第一次的整数位移移动了第二幅图像的询问区域,并重新分析。两次传递后,分析结果没有任何变化。我认为原因是我使用了DCC方法进行分析,但我还不确定这一点。也许,如果我使用FFT方法,那么多通道分析的结果会更好。此外,如果我在第二遍中减小询问区域,结果可能不会变得更好,因为分析将基于更少的像素信息,这可能会增加噪声。
在最新的版本(尚未上传)中,我添加了一个在分析中绘制流线的功能。也许你们中的一些人会感兴趣。
我刚开始使用PIVlab,但我已经认为它比商业软件好得多!
是否有可能在减小窗口大小的情况下进行多通道查询?
很棒的工作! !你的软件在很多方面都比其他商业软件好。非常有用!
谢谢你!
若昂胸罩
F a n t a s t I c
非常感谢!这将有助于手动拒绝一些载体。
很棒的工作! !
我得到的结果与15,000美元的Davis软件(来自LaVision)给出的结果相同。荣誉!
你如何从结果中计算压力场?似乎OpenPIV团队已经开始研究它,但从未完成…求解N-S方程和泊松方程将为您提供一个对于某些应用来说足够好的球体
它在哪里趋近于0 ?当你在工具面板上点击一个矢量?这个面板中的速度显示只是为了提供信息,而不是测量什么。但是你可以在PIVlab_GUI.m中搜索这一行:
设置(处理。u_cp,“字符串”,[' u:“num2str(圆((u(信息(1,1)、信息(1、2))* retr (caluv) -retr (subtr_u)) * 1000) / 1000)));
并将“1000”替换为“10000”,以获得更精确的信息。
非常好用的工具!!
我只面临一个问题。当速度低于或接近0.002 m/s时,它给出的速度分量值为零。
是否有舍入误差导致了这个问题?我该怎么解决呢?
干得好!我希望你也能在统计和提取部分添加“应用到所有帧”的选项。当一个人试图提取数据使用折线,面积,面积积分级数等,它将是非常有用的,能够这样做,所有加载帧一次自动。谢谢你!
优秀的工具! !
非常友好的。
快。
所有有用的输出变量都可用。
所有有用的数据输出格式可用。
绝对是我见过的最好的文件交换工具之一。(为了发表这条评论,我觉得自己不得不注册一下。)
如果您在使用这个工具时遇到问题,请与我联系。我只有两台电脑(Win7)和一个MATLAB版本来测试它。到目前为止,软件变得相当复杂,所以我不可能预测所有可能的硬件/ OS / MATLAB发布组合上的潜在问题。
然而,我不能保证我总是有足够的空闲时间来立即解决你的问题。
很棒的工作!
Hi Shashi,我目前正在开发下一个版本,我将添加一个改变矢量厚度的可能性。
你好,
这真的很好,对我来说很管用。有没有办法修改矢量的厚度等等。
最好的
沙市
我有另一个问题,这是编译时间,我只是想在代码样本中绘制速度剖面,但它花费了太多时间,我只是把它切断了,同时我使用了一个新品牌的笔记本电脑和台式机,有什么想法吗?
嗨,我打算使用这个GUI来跟踪粒子,我成功地使用了它的第一次尝试,然后我遇到了一个错误,当我想再次运行它时,MATLAB命令行中的错误说:
*******************
???使用==> guihandles时出错
H必须是图形或图形后代的句柄。
错误在==> PIVlab_GUI>switchui在149
处理= guihandles (getappdata (0, ' hgui '));
错误在==> PIVlab_GUI>loadimgs_Callback在592
switchui(“multip01”)
错误在==> gui_mainfcn在75
函数宏指令(变长度输入宗量{:});
错误在==> PIVlab_GUI在25
gui_mainfcn (gui_State变长度输入宗量{:});
???计算uimenu Callback时出错。
保存上一个目录错误
********************
如果有人能帮我修复这个bug,那就太好了。
很好。我对这方面的研究不熟悉。我对“专业”软件感到沮丧。我尝试了其他一些Matlab piv工具箱,但这是最好的恕我直言。
再说一遍:非常好的工作!我有两个建议,我认为会有用。建议:1)使所有命令都可以在命令行或脚本中使用,并添加一个简短的文档。2)增加了计算图像时间序列的平均流场和湍流速度的可能性。