|
Two tracking algorithms are available here. Note that tracking precision and accuracy may vary with the optical configuration, detection system, and tracking method, so you may wish to verify these are satisfactory for your application.
| Advantages | Disadvantages |
| Easy to use. | No morphology data. |
| Theoretically validated for the case of rigid, fluorescent particles. | No movie output to visually check results. |
| Experimental record for tracking cells (reference articles by Chris Paschall and Tony Ham). | Algorithm can become confused when tracked object closely approaches another object. |
| Comments |
| Note that the program output is in terms of frame number and pixel location. The data table generated must be copied to Matlab or Excel for further processing. |
| Getting Started |
| 1. | Download the zip file including the tracking algorithm, sample parameter file, and the sample movie. |
| 2. | Place all 3 in your Matlab root directory. |
| 3. | Type: CMorph03('Parsampleflowgrav050901b1'). |
| 4. | Adjust the parameter file for your own movies. |
| Reference |
| Schmidt, B.J., C.D. Paschall, W.H. Guilford, and M.B. Lawrence, "High-Resolution Optical Tracking to Identify Adhesive Events in Vitro."
Conference Proceedings of the Asilomar Conference on Signals, Systems, and Computers, Pacific Grove, CA, November 4-7, 2007. p. 1856-1860. |
| Advantages | Disadvantages |
| Provides morphology data. | Requires manual input to the parameter file for an initial position guess. |
| Easy to directly verify the quality and accuracy of the tracking run by viewing the generated overlay file. | Not as simple to use as the ImageJ plugin. |
| Built-in deconvolution option. | Doesn't work as well when there is not much overlap between object in subsequent images (ideal for high acquisition rates). |
| Comments |
|
We welcome you to try this algorithm for your particular application. We have spent time to characterize the precision and to improve the accuracy and execution speed, and you are welcome to use this for your application. Please cite the conference paper if this proves useful for your research and you publish the work.
No user documentation is provided, but the code is commented. Refer to the Matlab file comments for information on the data in the columns of the generated *.mat file.
The algorithm uses the gradient of the image to define the edge of the object. In addition to highlighting the detected object in color and recording an equivalent radius of the object's image area, the program tracks the centroid of the object and visually reports the rounded pixel approximation it in white. The numerical results are output as a matrix in *.mat file format, and an overlay of the original movie with the tracked area is also generated. The parameter file can be used to adjust the method of edge identification (gradient or intensity) and has several optional filtering capabilities integrated to try to reduce the effects of noise. The algorithm is not constrained to circular objects, and sub-pixel positional resolution is achieved due to the centroid calculation.
|
| Previous, Well Tested Releases |
| GradTrack14.m | v14 parameter file |
| Getting Started |
| 1. | Download the zip file including the tracking algorithm, sample parameter file, and the sample movie. |
| 2. | Place all 3 in your Matlab root directory. |
| 3. | Type: MCShape03('Partwobeads'). |
| 4. | Adjust the parameter file for your own movies. |
| Advantages | Disadvantages |
| Provides morphology data. | Slower time to process frames than the single-particle algorithms. |
| Easy to directly verify the quality and accuracy of the tracking run by viewing the generated overlay file. | Not as simple to use as the ImageJ plugin. |
| Built-in deconvolution option. | |
| Comments |
|
This is a multiparticle version of the CMorph algorithm. MCShape can also handle some compressed video formats provided MATLAB is properly configured. We hope this will help you in your research. Please note it if you use it to generate data for a publication. Reference Brian's dissertation, soon to be uploaded, for some work that has been done with it.
|
Technical Resources for Configuration & Analysis
Excel sheet with resolution factors and point spread functions from the lab.
A protocol to configure the Nikon Eclipse TE 300 microscope for optimal optical properties can be found at the protocol page.
A great reference for the basic practical aspects of light microscopy can be found in chapter 2 of Video Microscopy: The Fundamentals by Inuoé and Spring.
Tracking Video Acquired from Analog NTSC Cameras
Images are really captured at 29.97*2 fps. Odd-numbered (1, 3, 5...) and even-numbered (2, 4, 6...) scan lines alternate in acquisition. Subsequent acquisitions are then interlaced to form a single frame at 29.97 fps.
Problems
1. The interlacing makes the motion easier for the brain to interpret but makes the object fuzzy, which is bad for tracking.
2. The integration time ("exposure period") of the camera elements is usually the entire ~1/60 s frame interval, which can result in asymmetry and blurring for accelerating and fast-moving objects.
3. The movie can easily be deinterlaced, but the scan line offset results in noise in the vertical position of the object.
4. One safe way to deal with the data is to deinterlace and then throw away every other frame. This avoids noise due to the offset scan lines, but it reduces the effective data acquisition rate from ~60 Hz to ~30 Hz. This still doesn't address motion blurring due to long exposure periods (slow shutter speeds).
Resource
Simple deinterlacing script for Matlab. To run, type "formatconvert('filename',deinterlace,decimate)," where deinterlace is true or false and decimate is what factor you would like to reduce the resulting data by. Enter 1 for no reduction. The script requires an add-in (see next section).
Large Video Files
Avi file operations in Matlab can only handle files < 2 GB. The deinterlacing script was written to process very large, uncompressed files. It requires installing the Direct-X avi (dxAvi) function pack available for free download at Matlab Central (3rd party author Ashwin Thangali).
Virtual Dub is a useful, free program for performing basic editing tasks on large files directly from your hard drive.
Xoomer is a free tool to get position information on the cursor. It is a nice tool to combine with Virtual Dub to estimate coordinates. Be sure to note the image magnification and aspect ratio in Virtual Dub!
MPEG-Compressed Video Files
Unfortunately, ImageJ and Matlab don't come equipped with the codecs required to read in and write out MPEG-compressed video.
The brute force approach is to decompress the file, then work with the decompressed format. Unfortunately, this is costly in terms of time and storage space, and doesn't recover the image quality if the compression was lossy. If anyone has functions to do MPEG decompression and/or compression right in Matlab, please let us know!
VirtualDub MPEG2 can read MPEG2-compressed files, such as *.VOB, and save to other formats.
|