"Red Tweezers": Fast, customisable hologram generation for optical tweezers

"Red Tweezers": Fast, customisable hologram generation for optical tweezers
复制标题

DOI:
10.1016/j.cpc.2013.08.008
复制
发表时间:
2014-01-01
影响因子:
6.3
通讯作者:
Padgett, Miles J.
Padgett, Miles J.
中科院分区:
物理与天体物理2区
文献类型:
--
作者:
Bowman, Richard W.;Gibson, Graham M.;Padgett, Miles J.

文献摘要

被引文献

相似文献

全息光镊(HOT)是一种在3D中操纵微观粒子的通用方法。然而,它们的易用性受到计算全息图的计算负荷的阻碍,导致系统响应迟钝。我们提出了一个程序,用于生成这些全息图的消费图形处理单元(GPU),耦合到一个易于使用的界面,在LabVIEW(美国国家仪器公司)。这使得HOT系统可以在不编写任何额外代码的情况下建立,并提供了一个平台,可以快速生成其他全息图。GPU引擎计算全息图的速度比在四核CPU上运行的相同算法快300倍以上。全息图算法可以在不重新编译程序的情况下进行动态更改,允许它用于在任何情况下控制空间光调制器,其中全息图可以在单次通过中计算。界面也被重写,以利用LabVIEW 2010中的新功能。它被设计成易于修改和扩展,以便与我们自己的硬件以外的硬件集成。程序概要程序标题:红镊子。目录标识符:AEQH_v1_0。程序概要URL:http://cpc.cs.qub.ac.uk/summaries/AEQH_v1_0.html.Program可从CPC程序库获得,皇后大学,贝尔法斯特,N。爱尔兰。许可条款:GNU通用公共许可证。分布式程序中的行数,包括测试数据等:79147.分布式程序字节数,包括测试数据等:11130332.分发格式:tar.gz.编程语言:LabVIEW 2010,C++,OpenGL Shader Language.计算机:基于Intel的个人计算机,支持OpenGL 2.4的nVidia或AMD显卡.操作系统:Microsoft Windows XP或更高版本.代码是否已矢量化或并行化?:专为GPU设计。RAM:2 Gb(高度依赖于摄像机)。分类:18.外部例程:OpenGL,National Instruments Vision Development Module。问题性质:该程序控制全息光镊仪器,包括GPU加速的全息图渲染,监控视频馈送并呈现用户友好的界面来操纵粒子。解决方法:实现可扩展的LabVIEW用户界面,包括插件架构,以提供用户友好的控制。该程序还包含一个组件,通过使用OpenGL着色器渲染图案来加速必要的数字全息步骤。限制:渲染引擎是单通道的,即迭代傅里叶变换算法不能在显卡上加速。附加注释:渲染引擎是通过UDP控制的单独编译的可执行文件,可以用于其他目的。它允许使用简单的OpenGL着色器来渲染函数,而不需要编写样板代码。运行时间:该仪器控制程序的运行时间与实验所需的时间一样长,如果需要,可以超过几天。它可以重新启动,而不会丢失其大部分状态信息。(C)2013爱思唯尔有限公司版权所有。
Holographic Optical Tweezers (HOT) are a versatile way of manipulating microscopic particles in 3D. However, their ease of use has been hampered by the computational load of calculating the holograms, resulting in an unresponsive system. We present a program for generating these holograms on a consumer Graphics Processing Unit (GPU), coupled to an easy-to-use interface in LabVIEW (National Instruments). This enables a HOT system to be set up without writing any additional code, as well as providing a platform enabling the fast generation of other holograms. The GPU engine calculates holograms over 300 times faster than the same algorithm running on a quad core CPU. The hologram algorithm can be altered on-the-fly without recompiling the program, allowing it to be used to control Spatial Light Modulators in any situation where the hologram can be calculated in a single pass. The interface has also been rewritten to take advantage of new features in LabVIEW 2010. It is designed to be easily modified and extended to integrate with hardware other than our own.Program summaryProgram title: Red Tweezers.Catalogue identifier: AEQH_v1_0.Program summary URL: http://cpc.cs.qub.ac.uk/summaries/AEQH_v1_0.html.Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland.Licensing provisions: GNU General Public License.No. of lines in distributed program, including test data, etc.: 79147.No. of bytes in distributed program, including test data, etc.: 11130332.Distribution format: tar.gz.Programming language: LabVIEW 2010, C++, OpenGL Shader Language.Computer: Intel-based personal computer, nVidia or AMD graphics card supporting OpenGL 2.4.Operating system: Microsoft Windows XP or later.Has the code been vectorised or parallelised?: Designed for GPUs.RAM: 2 Gb (highly dependent on video camera).Classification: 18.External routines: OpenGL, National Instruments Vision Development Module.Nature of problem:This program controls a holographic optical tweezers instrument, including GPU-accelerated rendering of holograms, monitoring the video feed and presenting a user-friendly interface to manipulate particles.Solution method:An extendable LabVIEW user interface, including a plugin architecture, is implemented to provide user-friendly control. The program also contains a component that accelerates the necessary digital holography step by rendering patterns using OpenGL shaders.Restrictions:The rendering engine is single-pass, i.e. iterative Fourier transform algorithms are not accelerated on the graphics card.Additional comments:The rendering engine is a separately-compiled executable controlled via UDP and can be used for other purposes. It allows simple OpenGL shaders to be used to render functions, without writing boilerplate code.Running time:This instrument control program is intended to run for as long as the experiment requires, over days if necessary. It can be re-started without losing most of its state information. (C) 2013 Elsevier B.V. All rights reserved.