本周文件交换选择

我们最好的用户反馈

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

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

内容

一个粒子测速工具套件!

多年前,我在美国国立卫生研究院(National Institutes of Health)做博士后时,和一位同事一起研究一个关于耳蜗(螺旋状)形状的问题。凭借我对图像处理工具箱的了解,我很快就计算出来了边缘在图像结构中,然后调用bwtraceboundary沿着边缘开辟一条路。

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

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

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

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

视频教程!

我喜欢威廉不厌其烦地录了一段12分钟的视频,让你开始使用他的工具。

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

一个建议

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

vid = videereader ('C:\Sample Data\ONH_PIV_10.avi');frame = readFrame(vid);Imgh = imshow(帧);指数= 1;while hasFrame(vid) imwrite(frame,['C:\Sample Data\ONHFramewise\','Frame_',sprintf('%03i',index),'.tif']);指数=指数+ 1;set(imgh,'cdata',frame) frame = readFrame(vid);drawnow结束

值得注意的是,威廉是文件交易所前100名下载最多的作者之一,这主要得益于PIVLab的力量。当前(最近一次更新是2019年1月);它有80条用户评论,平均在5/5星左右;已经被下载了数千次。这个文件早该获得“每周精选”奖了!威廉,我很感激你为创造这个好工具所付出的努力。我非常感谢你与MATLAB社区分享它!

一如既往,我欢迎你的想法和评论

发布与MATLAB®R2018b

|
  • 打印
  • 发送电子邮件

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。