NYU Logo

David Grier's Home Page

Department of Physics and Center for Soft Matter Research
New York University

Downloadable Software

Tracking

Particle Tracking Routines

Program Last Modified Purpose
bpass.pro
09/10/2010
Implements a real-space bandpass filter which suppress pixel noise and long-wavelength image variations while retaining information about features of a characteristic size.
fastfeature.pro
07/18/2012
Find the centroids of disk-like features in an image quickly.
feature.pro
06/10/2010
Finds and measures roughly circular 'features' within an image.
featuretool.pro
06/10/2010
Graphical interface for setting parameters for FEATURE.
track.pro
05/25/2012
Constructs n-dimensional trajectories from a scrambled list of particle coordinates determined at discrete times (e.g. in consecutive video frames).
circletransform.pro
07/16/2012
Performs a transform similar to a Hough transform for detecting circular features in an image.
ct_hitormiss.pro
07/18/2012
Identify pixels in an image that are transformed to a particular feature by circletransform
msd3.pro
07/27/2012
Computes time evolution of the mean-square displacement of a time series, including estimates of the variance.
trapcal.pro
06/10/2010
Determine the stiffness of an optical trap for a particular probe particle and also the particle's viscous drag coefficient from measurements of the particle's thermally driven trajectory.
tracking.tgzGzipped tar archive

HOT

Holographic Optical Trapping Routines

Program Last Modified Purpose
holo_init.pro
06/10/2010
Set up the HOLO_COMMON common block for HOT applications.
fastphase.pro
12/30/2010
Calculates the phase hologram encoding a desired trapping pattern by superposing fields as fast as possible.
dsphase.pro
06/10/2010
Calculates the phase hologram encoding a desired optical intensity pattern using superposition followed by direct search refinement.
vortex.pro
06/10/2010
Returns a phase hologram encoding a helical mode.
maketheta.pro
06/10/2010
Creates an array whose values are the angles in radians relative to the x-axis of each pixel in the array.
makerho.pro
06/10/2010
Creates an array whose values are the distances from the center of each pixel in the array.
hot.tgzGzipped tar archive

HVM

Holographic Video Microscopy Routines

These routines are useful for analyzing holographic video microscopy images of colloidal spheres. They fall into two broad categories. The first uses Rayleigh-Sommerfeld back-propagation to reconstruct the three-dimensional light field scattered by the sample. This is a general, but approximate, approach to hologram analysis. The second fits holographic snapshots to predictions based on the Lorenz-Mie theory of light scattering. This approach can extract extremely precise information from holographic snapshots, but requires an accurate model for light scattering by the object of interest. For colloidal spheres, fits to Lorenz-Mie theory yield each sphere's position in three dimensions, often with nanometer resolution, its radius with nanometer resolution, and its complex refractive index with part-per-thousand precision. See the tutorial to learn how to get started with SPHERETOOL, which is a graphical interactive front end to the entire software suite.

Program Last Modified Purpose
spheretool.pro
06/02/2012
Interactively find reasonable fitting parameters for digital holographic microscopy images of colloidal spheres.
dhmfeature.pro
07/18/2012
Identify, locate and characterize spheres in normalized holographic video microscopy images.
sphere_coefficients.pro
09/04/2011
Calculates the Mie scattering coefficients for a multilayered sphere illuminated by a coherent plane wave linearly polarized in the x direction.
refractiveindex.pro
03/01/2012
Returns the real part of the refractive index of water as a function of the wavelength of light and the temperature
fitspheredhm.pro
07/16/2012
Measure the radius, refractive index, and three-dimensional position of a colloidal sphere immersed in a dielectric medium by fitting its digital holographic microscopy (DHM) image to Mie scattering theory.
fitspheredhm1d.pro
07/15/2012
Measure the radius, refractive index, and axial position of a colloidal sphere immersed in a dielectric medium by fitting its azimuthally averaged digital holographic microscopy (DHM) image to Mie scattering theory.
spheredhm.pro
06/23/2012
Computes holographic microscopy image of a sphere immersed in a transparent medium.
dggdhmspheredhm__define.pro
06/18/2012
This object uses Lorenz-Mie theory to compute the hologram of a sphere as would be recorded with in-line digital video microscopy. The Lorenz-Mie calculation is accelerated using GPULib.
spheredhmprofile.pro
04/15/2008
Calculates the radial profile of the in-line hologram of a sphere, as obtained with digital holographic microscopy.
spherefield.pro
04/06/2011
Calculates the complex electric field scattered by a sphere illuminated by a plane wave linearly polarized in the x direction.
sphericalfield.pro
09/04/2011
Calculates the complex electric field defined by an array of scattering coefficients.
gpu_sphericalfield.pro
06/28/2011
Calculates the electric field in a light scattering pattern defined by a set of Lorenz-Mie scattering coefficients. Uses gpulib for hardware acceleration.
rayleighsommerfeld.pro
06/24/2012
Computes Rayleigh-Sommerfeld back-propagation of a normalized hologram of the type measured by digital video microscopy
rs1d.pro
07/16/2012
Computes Rayleigh-Sommerfeld back-propagation of a normalized hologram along a specified axial line.
gpu_rayleighsommerfeld.pro
11/18/2010
Computes Rayleigh-Sommerfeld back-propagation of a normalized hologram of the type measured by digital video microscopy. Uses GPUlib for hardware acceleration.
hvm.tgzGzipped tar archive

Tracking

Utility Routines

Program Last Modified Purpose
read_gdf.pro
03/17/2010
Read in data files created by WRITE_GDF.
write_gdf.pro
03/17/2010
Writes IDL-style data to disk in a format which can be read back in easily.
deinterlace.pro
07/18/2012
Deinterlaces an (interlaced) image.
aziavg.pro
07/17/2012
Average a two dimensional data set over angles about its center.
azistd.pro
01/27/2009
Calcuate the standard deviation from the mean of a two dimensional data set, averaged over angles, as a function of radius from the center.
iqr.pro
09/18/2010
Compute the inter-quartile range of a one-dimensional data set
kde.pro
10/18/2011
Estimate the probability density underlying a set of discrete samples (measurements) using the kernel density estimator method.
akde.pro
10/27/2011
Estimate the probability density underlying a set of discrete samples (measurements) using the adaptive kernel density estimator method.
utility.tgzGzipped tar archive

Video

IDLvideo NG

IDLvideo NG is an effort to provide IDL with video input capabilities based on open-source software without requiring shared-object libraries. It is based on the MPlayer multimedia player, which it calls through IDL's SPAWN mechanism.

All video-reading capability is provided through the DGGgrMPlayer object.

This interface has been tested on GNU/Linux and Mac OS X systems, where it can acquire frame-accurate video in real time. It may well work under cygwin. A native Windows port may be more challenging.

Program Last Modified Purpose
dgggrmplayer__define.pro
09/24/2012
Uses mplayer and mencoder to read frames from a video file.
mplayer.pro
07/05/2012
Simple resizable GUI movie player that demonstrates the capabilities of the DGGgrMPlayer object.
mp_ripper.pro
07/06/2012
Rips a video file into individual image files, one for each frame.
video.tgzGzipped tar archive

Video

IDLvideo

IDLvideo is a suite of routines for transferring video data directly into IDL from video cameras or multimedia files. It is based on the OpenCV library of Open Source Computer Vision routines, which it calls through IDL's CALL_EXTERNAL mechanism.

Sources for the IDLvideo library are available here. The library has to be built and installed before the IDL routines will work.

This interface has been tested on Ubuntu linux and MacOS systems, where it can acquire frame-accurate video in real time. In principle, it can be ported to Windows. This is alpha-quality software, and the installation procedure is particularly bare-bones.

Program Last Modified Purpose
open_videofile.pro
01/01/2011
Opens a video file for subsequent frame-by-frame reading.
open_videocamera.pro
01/01/2011
Opens an OpenCV-compatible video camera for subsequent frame acquisition.
close_video.pro
01/01/2011
Close a video stream that was opened with OPEN_VIDEOFILE. or OPEN_VIDEOCAMERA
is_videostream.pro
06/10/2010
Check whether a variable is a video stream returned by OPEN_VIDEOFILE.
available_videoframe.pro
01/01/2011
Determine whether a video frame is available on the video stream opened with OPEN_VIDEOFILE.
read_videoframe.pro
01/01/2011
Read the next available video frame from a video stream opened with OPEN_VIDEOFILE.
idlsnap.pro
12/29/2010
Grab one grayscale image from a a video file or from a frame grabber using the IDLvideo interface
playvideo.pro
08/17/2010
Frame-by-frame renderings of a video file using IDL graphics
idlvideo.tgzGzipped tar archive


Contact Information

David G. Grier             Department of Physics
                           Center for Soft Matter Research
(212) 998-3713 (voice)     New York University
(212) 995-4016 (FAX)       4 Washington Place
david.grier@nyu.edu        New York, NY 10003

Last Modified: Mon Sep 24 22:25:32 EDT 2012