本周文件交换精选

我们最好的用户提交

全面,易于使用的粒子图像测速工具

布雷特本周的选择是PIVLab,通过威廉Thielicke

内容

粒子测速套件的工具!

许多年前,我在美国国立卫生研究院(National Institutes of Health)做博士后时,和一位同事一起研究耳蜗(螺旋形)的特征。借助图像处理工具箱的知识,我很快地计算出了结果边缘在一个图像的结构,然后调用bwtraceboundary沿着边缘指引一条路

当我的同事告诉我我刚刚重现了她论文的重要部分——她花了很长时间才完成的部分时,她的目光变得呆滞了。

我的论文中,我从头开始实现了一种基于粒子图像测速(PIV)的方法,通过跟踪眼循环中的荧光粒子来测量视网膜血流。想出PIV算法是我努力的重要部分。今天,我感觉有点像我的同事,看着威廉的PIVLab!通过一个很好的实现,matlab构建的应用程序,William帮助我几乎完成了跟踪这些粒子所需的所有事情。但他的代码比我的好好几光年,速度也快。(这要追溯到25年前!)

使用PIVLab,我可以简单地在我的视频序列中加载图像,设置一些参数,并开始跟踪:

事实上,我还没有(还没有!)能够用PIVLab重现我论文的结果。但有一件事是肯定的——这将是一个非常有用的起点,它将节省我无数周的努力!(MATLAB代码的灵活性和可定制性——包括文件交换的灵活性——是它真正有用的地方。)

一个视频教程!

我很喜欢威廉煞费苦心地录制了一段12分钟的视频,让你开始使用他的工具。

该工具功能丰富,包括许多不同的可视化和处理功能,以查看粒子流:

一个建议

我必须将我的视频文件转换为图像序列,以使它们在PIVLab中工作。让你的应用程序支持视频文件并不困难——比如使用VideoReader !金宝app但从视频中创建图像序列也是一项小任务:

vid = VideoReader('C:\样本数据\ONH_PIV_10.avi');帧= readFrame (vid);imgh = imshow(框架);指数= 1;while hasFrame(vid) imwrite(frame,['C:\样本数据\ONHFramewise\','Frame_',sprintf('%03i',index),'.tif']);Index = Index + 1;set(imgh,'cdata',frame) frame = readFrame(vid);drawnow结束

值得注意的是,William是文件交换中下载次数最多的100位作者之一,这主要归功于PIVLab。它是当前的(最近一次更新是在2019年1月);它有80个用户评论,平均在5/5星左右;并被下载了数千次。这个文件早就该被评为最佳周奖了!威廉,我很感激你为创造这个工具所付出的努力。我非常感谢你与MATLAB社区分享它!

一如既往,我欢迎你的到来想法和意见

发布与MATLAB®R2018b

|
  • 打印
  • 发送电子邮件

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。