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的zip文件:https://github.com/shrediquette/pivlab/release.,单击最新版本的“源代码(zip)”并将内容提取到MATLAB工作目录中的新文件夹。然后运行pivlab_gui.m。
主要特点:
*完全基于GUI的PIV工具
*多遍,多格窗变形技术
*合奏相关例如对于微PIV
*进口BMP / TIFF / JPEG图像对/系列
*图像测序样式A-B,C-D,...或A-B,B-C,...
*个人图像掩蔽和兴趣区域(ROI)选择
*图像预处理(对比度增强,高通,强度帽)
*两个不同的子像素估计
*多个矢量验证方法
*量级/涡度/散度/切变/…
*数据平滑,矢量场高通
*多种颜色图
*简化
*通过多条线/圆/区域进行广泛的数据提取工具/集成
*统计数据(直方图,散点图,均值和标准差)
*具有用户定义参数和多个流模拟的精确粒子图像对(合成PIV图像发生器)
*数据导出(MATLAB,ASCII,电影文件,图像,段,Tecplot ...)
*主要功能可通过命令行脚本
我们要感谢Uri Shavit, Roi Gurka和Alex Liberzon分享了他们的3点高斯亚像素估计代码。感谢Nima Bigdely Shamlo允许我包含LIC功能。感谢Raffel等人写的书“粒子图像测速,实用指南”,这是一个非常好的帮助。
威廉·蒂埃克(2020年)。粒子图像测速(PIV)工具与GUI(https://github.com/shrediquett/pivlab/releases/tag/2.37),github。检索到。
Thielicke, William和Eize J. Stamhuis。“PIVlab -面向用户友好,负担得起和准确的数字粒子图像测速在MATLAB。”开放研究软件学报,第2卷,Ubiquity出版社,2014年10月,doi:10.5334/jors.bl。
Thielicke,威廉。鸟类拍动飞行:分析与应用。博士论文,格罗宁根国立大学,2014,doi:10.13140/RG.2.2.18656.94728。
优秀,谢谢!
优秀的工作
您好,威廉博士,可以在输出结果时单独显示向量和云图像,
1.在原始图像上绘制矢量图(现在可以做);
2.在白色背景上画矢量地图;
3.仅显示颜色云图像,不是向量。
美好的信息。谢谢分享。https://openswffiles.com/
谢谢你的伟大分享。毫无疑问,一个软件非常推荐。https://filesextension.com
嗨Shantanu,实际上没有更新,这个网站的所有变化都只是迁移到GitHub。只有在这个特定的日期,您看到的消息只会出现......它是在途中实现的:)
我下载了最近的更新,现在当我推出Pivlab时,它说“这是10月15日。自今天15年以来爱Lena!”。是最近唯一的更新?:)
这就跟你问声好!威廉非常强大的软件!谢谢你!
我有一个请求。可以将每张图片的位移数据添加到此软件中吗?如果是这样,那会很棒!
这就跟你问声好!威廉,这是一个非常好的软件!
我怀疑,你能帮我澄清吗?
我计划将'result_conv'中的平面转换为归一化相关系数平面,并计算每个峰的归一化相关系数。请问如何用参数'result_conv'或者脚本' piv_FFTmulti'中的其他参数来计算互相关系数?
非常感谢!
谢谢你!
你好!威廉,这是图像处理的优异代表。我想知道我可以用这个程序通过图像处理计算两个不同流体的混合指数吗?
如果可能的话,那么你能告诉我我该怎么办?
TIA.
好东西,谢谢分享。
https://openjsonfiles.com/
具有良好文档和教程的优秀计划。
嗨威廉。我目前正在尝试使用PIVLAB用于脑组织中的位移。如果在变形之后,该程序是否有效地工作,粒子不仅流离失所,而且扭曲形状。此外,简单应变率背后的物理意义是什么。如果您让我知道它用于计算此操作的公式,那就太棒了。我们还可以从此应用程序获取DisplaceMnet地图。
谢谢。
伟大的计划!广泛使用它为我的研究已。当设置我的模式我没有关于粒子图像密度遇到了问题。如何与相对于激光片厚度来确定屏幕上的颗粒的量?余计算必要的每询问窗口15个像素的PID颗粒的量,但颗粒在我的PIV图像的量取决于(逻辑上)上的激光板厚。有确定与一个给定的激光片厚度及粒子个数illuminted颗粒的量的方法吗?
令人敬畏的信息,我很感激你的工作。
http://openfiles.bravesites.com/
太好了,我正在寻找这些信息。谢谢分享。
https://opencrdownloadfile.co
嗨威廉
是否可以在显示中添加一个变量:位移(修改数据→显示参数)
谢谢
嗨,谢谢你开发这样一个伟大的工具!如果有人能回答我的问题,这将是非常好的:
在后期处理中,我使用了“插值丢失的数据”选项,在数据丢失的地方填充了一些橙色的向量。有可能找出这些插值向量在每一帧中的百分比吗?
非常抱歉!没问题,这是我的错!
在MATLAB2014B中的WEVERST2.3.1工作时出现了错误,颜色映射(在修改绘图外观中)不能出现,因此建议使用更高版本的MATLAB。
当2.3.1版本在matlab2014b中工作时出现了一个错误,颜色指示条(在修改情节外观中)不能显示,建议使用更高版本的Matlab。
在MATLAB2014B中的WEVERST2.3.1工作时出现了错误,颜色映射(在修改绘图外观中)不能出现,因此建议使用更高版本的MATLAB。
当2.3.1版本在matlab2014b中工作时出现了一个错误,颜色指示条(在修改情节外观中)不能显示,建议使用更高版本的Matlab。
嗨威廉
谢谢你的软件。它对我的研究很有用。但是我无法保存每一帧的matfile。它只保存了一个名为PIVlab的帧
有用!
嗨再次威廉。谢谢你的快速反应!我还有一个问题。是否有可能以某种方式提取的矢量数据出来PIVlab,以绘制它们的磁极(即极的平面)?我看到有关于“向量方向(度)”热图 - 是能够提取该数据列于数字格式的任何机会?
棒味
最好的工具是PIV Matlab。
谢谢威廉。
问候https://openapkfile.co/
有立体PIV的供应吗
嗨,我没有完全得到这个问题,但Pivlab将为您提供审讯区域的建议。请使用论坛提问。
你好威廉,
是否有一种方法,我可以创建审问点大小的网格,看看粒子的位移在框架集小于1/4的点大小?
谢谢天使,我会检查出来。
你好。
我现在一直在使用Pivlab,但我想指出,在Windows中无法调用共享网络目录,例如,\\ myshearedDirectory \ sub \目录要本地化图像。这个问题有没有修复?
我知道在Linux中有没有这样的一个问题,因为共享位置安装到本地目录,但我看不到在Windows的解决方案,即使我映射的共享文件夹。
嗨Regine,我肯定会试一试!如果您使用Pivlab论坛的问题,我也可以尝试帮助您分析。
嗨。请问PIVlab是可以处理正位图,还是只能处理单幅图?我们通常会像典型的SfM摄影测量模型一样,按一定的间隔间隔捕捉景观无人机图像,然后从中得出正投影。我们在同一地点有多个正骨时代,这就是我们想要发展的运动矢量。PIVlab工具能处理这么大的数据集吗?如果是这样,是否有任何特定的相机参数,我应该知道(例如-70度万向节角度vs最低点;某些高度限制;在不同时期保持一致的地面样本距离;等等)。如果它只能处理单个图像,我假设图像需要从相同的位置每次匹配像素(即相同的角度,距离等)? Thanks for your help, I'm excited to try out this tool!
如果不进行校准,然后u和v直接代表在像素x和y位移。
你好!
我使用PIVLab为导向的背景条纹的应用程序。你能提供在X和Y转换U和V矢量分量颗粒位移什么建议吗?
嗨,请使用论坛提问,也请给出你的问题的更多细节(你想做什么?)
嗨
我正在使用PIVLAB 2.1来分析不同的情况,问题是每次开始形成不同位置X {1,1}(1,1)的x阵列,我在沿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
在本程序中如何计算应变率和剪切率?
嗨,这是不可能的,因为这个功能是实验性的,我想防止人们不小心使用高通......但是你可以自己修改你的数据:只需用例如equal向您的图像进行低桥。IMFilter然后从原始数据中减去它。
你好,令人印象深刻的工具我想知道如何在选中高通矢量后保存矢量数据?
您好,我想知道是否有可能测量粒子的位移。我还想知道可以改变结果的准确性,从而可以读取结果为0.001的因子。
是的,在文件选择对话框中你可以选择排序样式。
非常好的工具!
只有一个问题:可以选择一个参数,使得帧是[image001-image002],而不是[image001-image002],[image003-image004]等吗?
欢呼,
你好,特里斯坦,感谢你的捐赠和评论!
1:有些人要求这个,所以我会看看。当我与之合作时,人们不使用堆栈而不是使用PIV。这些堆栈来自哪里是特定的软件/相机?
很难决定哪些是主要功能……我将检查添加另一个工具栏是否有意义。我还可以让这个选项为可选的,这样用户就可以决定他是否想要看到它。
这在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.如果可以在Tecplot中导出所有的PIV实验结果帧作为时间解析的解决方案。目前,我将把一个接一个的ASCI文本放到Tecplot。
2.如果可能的话,可以在Tecplot输出中添加湍流强度和其他湍流特性。
我将感谢你未来的更新。
H. Birkan你能在Pivlab论坛上提供更多信息吗?也许包括再现错误的指令?
我刚刚完成了另一个重大更新,也许我可以在发布之前包含一个修复程序。
在1.43的时候也经历了同样的错误,我猜这个错误是由于其他一些我需要弄清楚的东西
错误使用保存
..文件可能已损坏
//www.tatmou.com/matlabcentral/answers/18098-error-using-save-error-closing-file
在1.43版本之后,我开始在保存会话时遇到以下错误:
..文件可能已损坏
错误使用保存
//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”?
您好,请问我如何通过PIVlab接收速度数据,谢谢
谢谢你写这个工具,我用它来分析我的斑点图像,但效果很差,我想,也许我需要修复它。
大家请在Pivlab论坛上询问您的问题!
大家好,
我可以对如何加载图像进行疑问吗?
当我想要在PIVLAB上加载图像(TIF格式)时,我会遇到以下错误消息。
希望有人可以帮助我!
非常感谢。
错误使用图像
Image CData必须是一个m × n × 3或m × n矩阵。
pivlab_gui> sliderdisp(387行)错误
图像(currentimage, 'parent',gca, 'cdatamapping', 'scaled');
PIVlab_GUI> loadmgsbutton_callback错误(行891)
SliderDisp%在滑块移动时显示原始图像
gui_mainfcn(第95行)错误
feval(varargin {:});
pivlab_gui中的错误(第52行)
gui_mainfcn(gui_State,varargin {:});
错误
matlab.graphics.internal.figfile.FigFile /读> @(hObject,EVENTDATA)PIVlab_GUI( 'loadimgsbutton_Callback',hObject,EVENTDATA,guidata(hObject))
评估UIControl回调时出错
你好可爱的人!
我有一个小问题,真的很感激你的帮助。
我已经分析了一系列的帧(压舱物粒子在特定频率下的运动),并且很想得到我的粒子(或帧)的平均速度。所以-第一个想法-使用均值向量!这就是我的问题开始的地方。
在所有我的分析的帧的速度显著是(几乎x10²)中比在我的平均矢量帧中示出的速度更高。有没有人有一个想法是什么可能出了错?
我可以有一个问题吗?
如何让我的视频适用于PIV?示例图像是二进制的,看起来需要一些步骤要分析。
我正在分析烘干机里衣服的运动轨迹。对于PIVlab_GUI.m的原始视频帧不适用
我求求你了……
哇哦,Matlab的网站现在PIVlab直接显示视频......那好,谢谢Mathworks公司!
我似乎无法基于Matlab的2017b版本正确安装此。帮忙!
这与2017a版本兼容吗?
亲爱的,
我在FileExchange中贡献了PIVlab的一个并行版本。
//www.tatmou.com/matlabcentral/fileexchange/63358-parapivlab--pivlab-in-parelall
真是太好了,我想问一下PIV工具箱是怎么使用的,有什么教程吗?
你可以跳过比1倍的图像吗?
例如,我想关联图像A-D,B-E,C-F等...
加载图片的数量有限制吗?如果是,我能增加吗?
我一直在尝试加载15000张图像,但图像加载器只加载10000张图像。
它是否与Matlab R2016b兼容?
问候,
我写信知道是否可以使用Matlab中的Readimx包读取IM7(LAVISION DAVIS)图像,并与此代码一起使用?如果可能的话,它会很大
美丽的工具!
谢谢你让我的女主人伟大(再次)
Pivlab_Gui的第155行中有一个多余的空间,似乎可以防止在Linux上正确读取的默认设置(但不是在Mac上)。
我该如何下载这个?
首先,感谢您的写作和开发此工具!我掩盖了一些给我拿nans的地区。当我平滑或插入矢量字段时,这些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 Lab中得到了一个疑问,让我澄清,如果我们想从河流或任何频道提及校准,则是什么参考距离。
频率是如何描述的
嗨@ willaim.
我通过Facebook发送给你。什么是“毫秒”的实际意义是图像或摄像头指定的捕获时间。我的相机给8FPS。我的邮件ID是Ayyaure@gmail.com
谢谢
嗨@ willaim.
我通过Facebook发送给你。我的邮件ID是Ayyaure@gmail.com
谢谢
@aadhi:听起来像你的校准可能是错误的。您注意到您必须在校准期间输入“mm”的距离和“MS”中的时间步骤?如果这没有解决问题,您可以发送一些示例图像。
嗨@ william
在我的分析之后,我得到了U速度为0.00025 m / s,但是当我手动在频道中进行时,我在0.205 m / s左右,在我的分析中,我使用了佳能EOS 7D相机。在这里,我收到了1/1000的错误,请给出任何精确的解释。
@Sidaard:我不知道你的“。dat”文件应该是什么格式,但你可以通过使用file -> save -> ASCII-file -> export all frames导出到单独的文本文件
你好!
我想知道如何为我所有的图像对获取单个矢量文件。
我尝试使用DP-IV软件,但我不能让个别.dat文件我的每个图像对。我需要单独的矢量数据文件来计算雷诺应力。
任何有用的信息将非常感谢。
谢谢
你好,
如何保存图形和速度映射,我将在任何位置保存时打开ASCII图表时出现问题
抱歉,但我想如果你能先给出问题的细节,我会更有成效。
NARESH
嗨,
我有一个问题与交叉相关过程,请详细说明
@Dimitris:不,这是不可能的。PIVlab需要以特定方式组织数据的特定会话文件。我建议在PIVlab中重新做分析。
嗨,
如果我已经有了速度场,是否可以只将这个工具用于后期处理?
@Kristine:没有可能在Pivlab GUI中执行此操作(因为您要减去的速度随时间而变化)。但是您可以将结果导出到工作区,测量(从区域的平均值)速度并从结果中减去它。这可以是自动的,我想。
——>第100号评论,耶!让我们用这个来喝一瓶冰凉的咖啡吧!
嗨,
我们的相机在其中一个录音期间颤抖。我们知道图像的某些部分在录制时固定。是否有可能将这些“固定零件”设置为“零运动”?因此,分析终于给出了移动颗粒的真正运动而不会摇动相机?
非常感谢!
克里斯汀
@William:啊,谢谢。这应该帮助我解决我的问题。
欢呼!
@Adam:是的,Y =向下方向正向,x正向右侧。0,0位于输入图像的左上角。ROI(XSTART,YSTART,宽度,高度)的坐标在ROI面板中给出。
@William:所以y在向下方向上是积极的(在图像方面)?从我自己的测试来看,我认为是,但我只是想检查。
同样,x=0 y=0是设置在图像的左上角,还是感兴趣的区域?
DankeSchön!
@adam:谢谢:-d。关于您的问题:它是左上角(这似乎是基于图像数据的标准)。只有通过从PIVLAB导出数据然后编写自定义脚本(不应该这么困难),才能更改它。
PIVlab是迄今为止我使用过的最好的PIV软件,甚至比想要很多钱的“完整”版本的专有东西更好!
我有一个问题,我想把笛卡尔坐标转换成极坐标。PIVlab让x=0 y=0在哪?在左下角?是否有可能改变默认位置0,0?(因为这将使转换更容易。)
@Petra:是的,这可能会奏效。但是,那么你就必须选择“A-B,B-C,...”测序的风格,否则你可能会跳过每2图像。
我在PIVlab_GUI中进行了更改。在第1631行将“filepath{i}”转换为“filepath{1}”。
我想这个就行了。
谢谢你的快速回答。
我想对很多图像做相互关,对相同的参考图像。
是的,选择你的参考图像作为“图像A”作为图像对。
嗨,
有可能对一个固定的参考图像进行互相关吗?
非常感谢,
佩特拉
@joe:你所看到的是传递之间的矢量验证。这并没有真正影响您的最终结果。最终通行证的所有载体都是“真正的矢量”,它们没有内容。
@Elizabeth:你需要纹理,你要跟踪的媒体。作为一个经验法则:如果你的眼睛可以在图像看到运动,然后PIVlab也将能够做的互相关。
@edouard:我在我的博士项目中做了类似的东西,但你需要在Matlab中进行计算。我可以推荐用于显示3D数据的Paraview。
嗨,
我在轴对称部分的不同横截面角处具有几个PIV图像,并且希望在每个图像之间插入以形成3D流场。PIV实验室是否有这种能力?
谢谢
爱德华。
嗨,
我需要构建一种水槽实验测量土壤侵蚀。看起来这是一个伟大的工具来追踪土壤移动。但我必须使用示踪剂以获得关于水的流线?
嗨,
这是非常好的软件。我在大学里使用这一点。我看到它正在运行它丢弃矢量。我想运行它一段时间以获得一个很好的平均矢量,但它让它保持删除似乎很好的矢量。你能告诉我我可以禁用这个功能的地方,以便在不丢弃任何向量的情况下丢弃所有原始数据吗?
谢谢,
乔
嗨罗伊,
要导出2D矢量数据,请转到文件 - >“保存 - > ASCII文件或MAT文件”或PARAVIEW二进制VTK(取决于您想要的格式)。
该文件将于今年夏天在我的论文中提供,(希望)也在杂志中......
威廉,
首先,请接受我感谢您开发此类优秀软件。我在寻找商业上可获得的PIV程序,为我的博士学位工作(当然,您将在适当的情况下引用)。
我的问题 - 我想导出完整的2D速度矢量组件(U,V)。我已经看到我可以在哪里可以在“提取”菜单下的一行中导出U或v,但GUI中有一个功能在整个ROI上为完整的2D矢量字段执行此操作吗?
最后,在您的论文发表之前,关于算法准确性等的文档可能会在2014年初提供。你是否有进一步的消息?
非常感谢,
獐
嗨约瑟芬,
它采用的是互相关,以确定paticle位移。可以选择“直接互相关”(在空间域)或“离散傅立叶变换”(在频域中)。
您好,我想知道使用什么方法使用PIVLAB(
相位相关,基于块的方法,差分方法(卢卡斯 - 卡纳德方法,喇叭-Schunck方法,巴克斯顿巴克斯顿方法,黑杰普森方法))
一般变分方法,离散优化方法)。我写了一个师父的论文,如果我不知道它的确实做了什么,不能使用这个代码。
先谢谢你,
约瑟芬
亲爱的RAM,这是PTVLAB页面的PIVLAB评论页面。虽然来自PTVLAB的GUI来自我们的项目,但我无法帮助您在PTVLAB中的错误。
嗨,
很好的代码,但我在运行期间面临问题。当我打开每次prcossing的图像并启用减法方式并单击预览当前帧,然后没有发生任何情况。而是程序变为无法/无效。我必须关闭ptvlab。任何人都可以帮助我吗?
提前致谢!!!
内存
亲爱的佩特拉,
Pivlab使用UipickFiles.m加载图像数据的路径和文件名。您可以使用从MATLAB工作区加载矩阵的自定义函数替换此函数。请参阅UipickFiles.M的文档以了解它的数据结构。
威廉,
感谢您的伟大PROGRAMM。
我想知道的是什么:
是否有可能直接导入从目前的Matlab的会议图像(矩阵),而不保存到文件?
致以最亲切的问候
佩特拉
@Uli:谢谢,我会尽量不要忘记在下一个版本中包含它。
@Tobias:“区域平均流动方向”适用于完整细胞:如果其中超过50%的区域在您选择的区域内,则包含一个单元格。
“区域平均值”使用多边形中的区域。所以这更精确。
嘿威廉,
我喜欢你的节目。它真的很复杂,也很容易操作。
有一两件事,我似乎,但是。如果我从一个区域提取速度的大小,我有两个选择,不是吗?- 通过“区域平均值” - >“速度的大小”,并通过“区域平均流动方向”。不过,结果是不同的。我不是一个matlab亲,所以很难对我来说,跟随源代码的确切差别在哪里。也许你可以给我一个建议,其可能性我可以“信任”更多;)
谢谢你的一切,
托比
亲爱的威廉,
谢谢你的好代码。
我刚刚尝试过它,它有效。但是,我想我发现了一个错误,当图像包含空白区域时可能会出现:
然后我在piv_fftmulti(第122行)中获得错误。
在那条线上,你可能会添加“〜isempty(x)&&〜是isempty(y)”来解决这个问题。
威廉,
非常感谢您提供此用工具。关于获取相关峰的最后一个用户发布的一个快速后续问题。我们是否单独运行piv_fftmulti.m或者可以(相关峰值具体)从GUI运行?
谢谢
相关结果在这里:
piv_FFTmulti.m
result_conv = result_conv /最大值(MAX(result_conv))* 255;%归一化,峰= 255总是
亲爱的威廉,
我如何绘制询问窗口的相关峰值?
非常感谢你的宝贵帮助。我会给你寄一些快照。
亲爱的新浪,
图像不二值化。然而PIVlab只使用从图像亮度信息。
在最后一次通过,应该在6个粒子对周围左右。询问区域越大,各个向量越好。但是当然你输了解决。
当一个区域没有粒子时,PIV就不起作用了……挑战通常是优化实验设置,但我想这对你来说会很难……请发给我一些图片,我可以看一下。
亲爱的威廉,
感谢您创建的惊人的PIV代码。我正在使用在由许多颗粒制成的致密流化床中获得的一系列图像。我开始与PIV实验室合作时出现的一些问题是:
1.程序是否在我进行图像预处理后二值为所有图像?
2.有些区域没有粒子,但我看到有很多速度矢量,应该避免。
3.我应该如何选择Pass1,2和3?那是一定的标准吗?
我很乐意向你发送一些图像。
致以最亲切的问候
新浪
亲爱的伊恩,
PIVLAB使用子图像的互相关来找到位移。有关PIV的信息,请参阅Raffel等人。:“粒子图像速度,实用指南”。这本书还概述了具有高位移和多通算法的流动中的询问区域的大小。
感谢您创建的优秀PIV算法。我现在使用过一些,这似乎是我看来最友好的。
感谢您回复我以前的问题。我发现我之前分析的视频有明显的闪烁,这会引入人工制品。
假设我有流体中流动的颗粒,Pivlab是否基于粒子跟踪产生载体或更像纹理分析算法?
如果它是粒子跟踪,我可能有更多的问题确定向量,因为我目前与较小的ROI的工作,因此,如果我增加体积流率,很快我将不得不增加询问窗口大小到一些不合理的值,我可能会失去有价值的信息。
亲爱的伊恩,射击量的数量取决于您的图像质量。图像噪音或压缩伪影真的可以成为一个问题。您可以通过应用例如自动过滤错误的向量。STDEV滤波器,归一化中值测试或全局速度阈值。你也可以发给我一些你的图像,所以我可以看看。
你好,我想在一个封闭的流道中,在一个结构周围产生流体流动的流线。为了帮助跟踪流体流动及其速度,我在流体中添加了微颗粒。所以我用这个GUI来为我生成流线。
我的问题是,当我发挥的流体流动的视频,我可以很容易地看到流量净额方向。但是,当我使用PIVlab分析这几帧,我得到了在错误的方向指向一个公平一些杂乱无章的载体。除了手动此删除每次对每一个我分析框架,有没有别的东西我可以做什么?
谢谢你考虑我的问题。
亲爱的Konstantinos,
1:CommandLine脚本不旨在生成PIVLAB会话文件。但是您可以在GUI中分析2-3个图像,然后保存会话并查看生成的.mat文件。变量“结果列表”包含x,y,u,v,类型的信息。
2:我正在使用ExportFig函数来导出数字。您可以在PIVLAB_GUI.M中搜索“Exportfig”并在保存之前修改图形。
当我在我的图像中应用强度封顶时,我得到了以下错误:
使用中间误差(第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, rodirect, clhe,
Clahesize,HighP,Highpsize,Clip,Cliptresh,Intenscap);
误差在gui_mainfcn(线96)
feval(varargin {:});
pivlab_gui(第32行)错误
gui_mainfcn(gui_State,varargin {:});
错误
@(fhealdata)pivlab_gui('preview_preprocess_callback',frem,eventdata,guidata(fremate))
评估UIControl回调时出错
如果将中值函数的实参转换为double,问题就解决了。我不确定这是一个普通的错误或只是我的图像(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,Phd,2012年5月
masks = load(filename,'-mat','maskiererx','maskierery');
xmask = masks.maskiererx {1,1};
Ymask = masks.maskierery {1,1};
保存(OUTFILE, 'xmask', 'ymask');
返回;
出色的工作!
有没有办法将绘制在PIVLAB中的掩码,以便在不同的会话中重用它们?
这太棒了。对于我第一次使用PIV,这段代码非常有帮助。我想知道当我将结果保存到。mat时,矩阵'typevector'代表什么。它是否显示哪些向量是原始的,哪些向量在向量验证后被替换?
@Emil:我使用的是内置流线型功能的Matlabs。据我所知,它从这一点只会在一个方向上画出流线。我将寻找下一个版本的替代方案。
这是非常好的。只是想知道是否有一种方法来显示流线不仅“从点开始”而且“在点结束”,或者是否有一种方法来显示通过给定点的“完整”流线。
我认为这个工具很棒!
这并不复杂,这是一种快速而肮脏的抛物线流程:
[v, u] = meshgrid (1:800 300:299);
v =零(600,800);
U =(1-U. ^ 2 / max(max(^ 2))* 5;
嗨,
谢谢你的快速回复。我会把它放在镜头,虽然它看起来很复杂。
嗨Alok,
在PIVlab_GUI的第3636行。M,你可以找到生成均匀位移流的代码。你可以把你的抛物线流动轮廓放在这里,你只需要一个u和v的位移矩阵在图像中的所有像素。
从我刚才的问题拿起,有没有我可以在PIVLab指定一个抛物线方程方面的位移和产生的粒子图像出来的一种方式?
这是一个惊人的工具。在找到PIVLAB之前,我尝试了很多替代品。好工作!!但是,我有一个查询。我似乎不能够为频道中的Poiseuille流程生成简单抛物线流的图像。我错过了什么?谢谢
好工作。
是的,只要在“Plot ->派生参数”中禁用“自动缩放地图”功能。
快速的问题,是有办法,我可以修复的彩条的范围图像的整个序列?
谢谢。
你可以打开pivlab_gui。M,并搜索“vectorcolor='g'”。用…代替…r代表红色,k代表黑色。
当你想要修改在显示导数时绘制的矢量颜色(例如涡度或幅度等),搜索vectorcolor='k'并将其替换为你选择的颜色。我将在下一个版本中增加改变矢量颜色的可能性。
如果你错过了一些功能,请在这里添加你的评论/愿望:
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行:
set(handles.checkbox26,'值',pass2);
set(handles.checkbox27,'值',pass3);
设置(处理。“价值”,checkbox28 pass4);
因为checkbox没有名为'value'的属性,所以这些代码应该如下所示:
%% {XP WU修改
设置(处理。checkbox26,“字符串”,“通过2:”);
设置(处理。checkbox27,“字符串”,“通过3:”);
set(handles.checkbox28,'string','pass 4:');
%% 2011-12-15}
pivlab_gui不需要从它的文件夹开始.just更改第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(end)-1))));
%% 2011-12-15}
优秀的代码。非常友好和准确。
我在所有博士工作中使用它
是否有此代码的任何3D版?
嗨thefourtheye,
如果一些地区是完全的黑,我的工具将无法在该领域的计算速度。所以速度是在这些领域不为零,但它是“无法衡量的”。这是在这些领域为何工具看跌期权“的NaN”。在载体中验证,所有丢失的数据(= NaN的)进行内插。我刚修改过的文件piv_FFTmulti.m,这样一个“0”被放在黑色区域,而不是一个“南”。如果你要我给你发送的文件,请写电子邮件到
pi vi ab @ g m x。c o m
你好,W Thielicke,你的工具很棒。谢谢发帖!我有一个关于向量验证的问题。我在运行你的伤口愈合分析程序。在分析之前,我对我的图像应用一个二值阈值以减少噪声。当我运行程序时,有细胞的向量,细胞分裂的异常向量,以及没有发生移动的裸露区域上的点。当我选择速度限制并将其应用到帧上时,异常向量被更小的橙色向量所取代,但现在应该没有帧间移动的裸露区域也有小的橙色向量。为什么当我限制速度范围时,没有移动的区域被分配为向量?我注意将散点图上的限制集中在(0,0)上(例如,我将选择(-1,1)和(1,-1)之间的区域)。
是的,我在一份声明中已经添加到发送数据到工作区,现在我可以访问数据。谢谢!
@Gareth:柱状图和其他统计图在PIVlab_GUI的第3019行中完成。m。只要在这行下面输入“键盘”命令,就可以访问数据。你是这个意思吗?您还可以在这里添加assignin命令,以便始终将数据发送到您的工作空间。
嗨,这是一个很棒的工具,谢谢。我有一个问题。我不仅要查看PIV Lab生成的直方图和图形,还希望获得它用于生成它们的数据。因此,如果它使用轴x和y来生成直方图,我希望这些数据向量。这可能吗?
在那里,我有好消息:最后几天我编写了一种多通窗变形PIV算法。结果看起来很棒,噪音显着降低,峰值锁定减少,大梯度和非常小的询问区域的问题较少。看看http://pivlab.blogspot.com.第一次结果。我会尽快做一些最终测试并很快上传更新。
PIV Lab是我曾经使用过的最有效的程序。用户友好的界面和操作说明对于快速进程非常有用。谢谢你的高效代码。真诚的
我想从外部程序加载的分析将是不可能的。请问有没有办法降低您的分析位移?如果你的流量是多还是少同质化,你可以尝试将图像分析之前转移。你能不能给我一些记录例子吗?也许我会找一些时间来再次玩弄多遍,然后我需要一些图片,其中多道具有优势。
@w thielicke:
感谢您的快速答复。
我需要使用multipass的原因是由于我的流动条件(µ-PIV,速度超过15米/秒)。
我想知道如果我能在PIVlab做交叉相关与我的商业软件和加载数据之后。这是可能通过负载PIVlab会议?哪种格式和数据需要?
@K。赌注:
我不久前做过一些初步的多通测试。我对第一次通过进行正常分析,并在X和Y中获得了位移。在下一个通过中,我使用第一次通过的整数位移和rediD分析来转换第二个图像的询问区域。在两次通过后,分析的结果并没有改变。我认为原因是我正在使用DCC方法进行分析,但我还不确定这一点。也许,如果我使用FFT方法,那么多数分析结果会更好。此外,如果我在第二次通过中减少询问区域,结果可能不会变得更好,因为分析将基于更少的像素信息,这可能会增加噪声。
在最新的版本中(还没有上传),我添加了一个特性来在分析中绘制流线。也许你们中的一些人会对此感兴趣。
我刚刚开始与PIVLAB合作,但我已经认为它比商业软件更好!
是否有可能通过减少窗口大小进行多级疑问?
梦幻般的工作!!您的软件,工作方式比其他商业软件更好。非常有用!
谢谢
JoãoBrás.
f a n t a s t i c
非常感谢!!这将有助于手动拒绝某些载体。
很棒的工作! !
我得到的结果和价值1.5万美元的Davis软件(来自LaVision)得到的结果一样。荣誉!
你将如何计算从结果压力场?这似乎是OpenPIV组开始工作,但从来没有完成...解决N-S和泊松方程会给你一个棒球场,可以是够用了一些应用
它在哪里绕到零?在您单击向量的工具面板中?此面板中的速度显示似乎是为了信息,而不是测量某些东西。但是您可以在Pivlab_gui.M中搜索这一行:
set(handles.u_cp,'string',['u:'num2str(rower(u(1,1),信息(1,2))* retr('caluv') - retr('subtr_u'))* 1000)/ 1000)]);
并用“10000”替换“1000”以获得更精确的信息。
非常好的工具工作!!
只有一个问题我面临着。当速度低于或约0.002米/秒时,它为速度分量为零的值。
有这是造成这个问题的任何舍入误差?我应该如何解决呢?
干得好!我希望你也可以在统计和提取部分添加“适用于所有帧”的选项。当一个人试图使用折线,面积,面积积分序列等提取数据,它将是非常有用的,能够这样做所有加载帧一次自动。谢谢。
优秀的工具!
非常用户友好。
快。
所有有用的输出变量是可行的。
所有有用的数据输出格式。
我已经在文件交换见过的最好的工具当然之一。(我感到不得不注册自己,只是为了把这个评论。)
如果您在使用这个工具时遇到问题,请与我联系。我只有两台计算机(Win7)和一个MATLAB版本来测试它。到目前为止,软件变得相当复杂,所以我不可能预测所有可能的硬件/ OS / MATLAB发行组合上的潜在问题。
尽管如此,我无法保证,我将永远有足够的空闲时间立即解决您的问题。
梦幻般的工作!
Hi Shashi,我目前正在开发下一个版本,我将添加一个改变矢量厚度的可能性。
嗨,
这是非常好的,工作对我非常好。有没有一种方法,我可以修改的向量等的厚度
最好,
Shashi.
我有另外一个问题,这是在编译的时候,我只是想绘制的代码示例的速度曲线,但它需要太多的时间,我只是把它割下来,同时我使用了一个新的品牌的笔记本电脑和台式机,任何想法?
嗨,我将使用这个GUI来跟踪粒子,我成功地使用它来第一次尝试,然后我遇到错误时,我想再次运行它,Matlab命令行的错误表示:
*******************
???使用==> guhandles时出错
^ h必须处理一个数字或人物的后代。
==> pivlab_gui> switchui在149时出错
处理= guiHandles(getAppData(0,'Hgui'));
错误在==> PIVlab_GUI>loadimgs_Callback在592
switchui('multip01')
误差==>在75 gui_mainfcn
feval(varargin {:});
错误在==> PIVlab_GUI在25
gui_mainfcn(gui_State,varargin {:});
???在计算uimenu回调时出错。
保存最后一个目录错误
********************
如果有人能帮我解决这个问题,那就太好了。
很好。我对这方面的研究是新手。“专业”软件让我很沮丧。我尝试了一些其他的Matlab piv工具箱,但这个是最好的imho。
再次:非常好的工作!我有两个我认为有用的建议。建议:1)使所有命令可用于命令行或脚本,并添加一个简短的文档。2)添加可能性来计算图像数量的平均流场和湍流速度。