Images are recorded on a point-and-shoot sony digital camera, which produces MPEG movies at 640x480 and 30fps. This method, however, is applicable to a variety of movie formats.
Movies are first read into matlab using the mmread add-on. This add-on has been modified to carry out an analysis on each frame of the movie as it is read in, to save on system memory. A typical 1-3 hour movie has hundreds of thousands of frames, so memory management is crucial.
Images from these movies are backlit in a dark room, so that the ball bearings show up as dark circles and the background is light. The first step is to convert the RGB image into a binary image. The image is then processed to remove background objects and invert the pixels. Next, a euclidian distance map is applied to identify large objects (ie the ball bearings). This result is put through a threshold to remove small imperfections and bubbles (noise). Finally, the result is convolved with a gaussian to smooth and locate peaks at the centers of the beads. These peaks are the locations of the tracked particles.