本周文件交换精选

我们最好的用户提交

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

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

内容

一套粒子测速工具!

许多年前,作为美国国立卫生研究院的博士后,我与一位同事一起研究了一个关于耳蜗(螺旋)形状的问题。凭借我对图像处理工具箱的知识,我很快就计算出了这个问题边缘在一个图像的结构,然后调用bwtraceboundary沿边缘引导路径。

当我的同事告诉我我刚刚重新创建了她论文的一个重要部分时,她的眼睛变得呆滞了——这一部分花了她很长时间才实现。

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

使用PIVLab,我只需加载视频序列中的图像,设置一些参数,然后开始跟踪:

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

一个视频教程!

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

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

一个建议

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

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帐户或创建一个新帐户。