Worm Analysis System

From FarsightWiki
Revision as of 22:10, 16 February 2010 by Yuwang (Talk | contribs)
Jump to: navigation, search

There is a compelling need for improved software systems for delineating the C.elegans worms in time-lapse image sequences and tracking their movements. Segmentation and tracking provide the basis for making quantitative measurements of worm morphology, and various aspects of their dynamic behaviors. To facilitate the quantitative studies of worm behaviors, we developed a automated worm analysis system which is open-source and could be adopted by all researchers in the c.elegans community.

Contents

News

  • 2010-02-14: Wiki Page for Worm Analysis System Created.

System Overview

Figure 1: Main Window of the System

Main Window

Figure1 shows a screenshot of the main window of the system.

  • Menu: the menu provides operations like file operations and [Editing Operations] which allow user to edit (reverse, delete and correct)selected worms in the tracking window.
  • Toolbar: the toolbr provides three buttons (figure2: pause tracking, start/resume tracking, start tracking from a saved point) for controlling the tracking process. Users can pause tracking at any timepoint and do some observation or interactive editing when necessary. The thrid button make it possible for the user to start tracking from any saved tracking result which stores worm shapes, features and identities. Thus the user don't need to start over the tracking if the program was closed normally or abnormally.
Figure 2: Toolbar
  • Input and Output: the input and output section allows users to specify the directory of image sequence and the directory for storing tracking result. For each frame, the tracking result of it includes a txt file storing the worm structure(centerline and contour points), a excel file storing extracted features(motion state, shape and motion features, events, etc.) and a png image saved from the tracking window. The results could be explored at anytime during or after the tracking [Explore Results].
  • Settings: the settings section allows users to specify settings for core processing algorithms. Please refer to [Settings] for detailed information about these settings.
  • Tracking Window: the tracking window includes the "tracking view" and "foreground view". The tracking view displays the centerline and contour of tracked worms, and also their identity and motion states(F=Forward, R=Reversal, P=Pausing, O=Omega Bend, C=Physical Contact). The foreground view shows the label image for foreground objects obtained by background subtraction method, it could help the user choose the right binarization parameters.
  • Log Window: the log window displays the log of the tracking process. More detailed information about the tracking process is displayed in another terminal window.

Multiple Linked Views

Worm Analysis System provides a linked-view architecture where worm objects can be visualized in different views like image, table and scatter plot. Worm objects selected in one view are immediately highlighted in all the views(figure3).

Figure 3: Multiple Linked Views
Figure 4: Foreground Views

Algorithms

  • Background Subtraction: the system provides two background subtraction methods to handle images with different backgrounds.
    • Background Subtraction Method I: A background image is computed first based on all available images, incoming image is subtracted with the background image and the subtraction result is fed to a Graph-Cut algorithm to output a smoothed binary image. This method applies for static background.
    • Background Subtraction Method II: Motion-based and intensity-based models are used to detect moving foreground objects, the obtained foreground confidence map is fed to a Spatio-Temporal Graph-Cut algorithm to output a spatially and temporally smoothed binary foreground image.
  • Tracking: the system incorporates our latest worm tracking algorithm[1], which could track multiple and overlapping worms and recognize worm locomotion states (Forward, Reversal, Pausing and Omega Bend) simultaneously. The tracker is initialized by the first two image frames on which worm detection is performed and head and tail are automatically determined(we assume worms are moving forward at the first two frames. If worm's head is not correctly identified, users need to manually reverse the worm).
  • Feature Computation: the system computes a subset of worm features in real-time during tracking. More features could be computed from the saved worm structures(centerline and contour points). For a complete list of our worm features, please refer to [Worm Features and Events].

System Features

Edit

To edit the worms when necessary, user can pause the tracking process and then use operations provided in the "Edit" menu(figure4). The worms also could be edited directly in the "tracking view". A worm can be deleted with double right-click or reversed with double left-click. When the worm is not in physical contact or doing omega bend, it could be corrected by "Ctrl+C" in case the tracking is not correct.

Figure 5: Editing Worm: selected worms could be corrected by detection(if the tracking is not correct, and worm is not doing omega bend or in physical contact), reversed or deleted

Settings

  • General Settings:
    • frame sampling rate: process only one frame from every N frames.
    • shrink factor: shrink image N times.
    • explore result: if checked, the user could explore the result by sliding the "Frame Number" slider.
  • Binarization Settings:
    • Method I
    • alpha: the binary foreground image will be oversmoothed with small alpha value. The default value is 1.00.
    • threshold: thresholding value for image after subtraction with the background image. Intensity value below this value will be set to 0. The default value is 40.
    • Method II
    • alpha: smoothing parameter in the graph-cut algorithm. Small alpha value can eliminate noise in the background and holes in the foreground objects, but also can result in oversmoothed binary image. The default value is 1.00.
    • threshold: the default value is 1.00. Large threshold value can eliminate most noise, but also will exclude some parts of foreground objects.
    • min sigma: the default value is 0. It is set to 10 in Demo2 and Demo3, since the sigma of background distribution is very small.
    • init frame: the default value is 10, which means the motion-based model used in this background method is initialized by the first 10 frames. Usually this parameter doesn't need to be changed.
  • Detection Settings:
    • min area and max area: foreground objects with size smaller than "min area" or larger than "max area" will be excluded in the binarized image.
    • min LW ration and max LW ratio: these two values are used to identify and exclude worms with abnormal Length/Width ratio.
      1. center points: number of centerline points in the worm model. Suggested value is 31 or 21.
  • Tracking Settings:
    • sigma_PROG: parameter of worm progression movement.
    • sigma_RH: parameter of worm head displacement.
    • sigma_RT: parameter of worm tail displacement.
      1. particles: number of particles or hypothesis for each worm. Suggested value is 50 or 100.
      2. adjustment: times of centerline adjustment.
    • correction: when the percentage of centerline points with value 1 is below specified value, the worm will be automatically corrected.
    • varying #worms: if checked, the tracker will detect and add the worms entering the field.
    • tracking overlapping: if checked, the tracker will track the contour of overlapping worms, if unchecked, the tracker simply track overlapping worms with a bounding box(figure6 and figure7).
    • speed tracking: when worms are not in physical contact or doing omega bend, the processing could be sped up by using detection(different from the detector used for initializing tracker, detector here also guarantee that worm identities are correctly maintained) instead of tracking.
Figure 6: Contour tracking for worms in physical contact
Figure 7: Bounding Box tracking for worms in physical contact

Explore Results

If the directory for saving tracking results is provided, users could explore the result after tracking, or during the tracking process simply by pausing the tracking first, checking the "explore result" box and sliding the "frame number" slider. The "explore result" box needs to be unchecked before resume the tracking.

Figure 8: Explore the results

Keyboard and Mouse Shortcuts

 Ctrl+O: Open Settings
 Ctrl+S: Save Settings
 Ctrl+Q: Quit the program
 Ctrl+C: Correct selected worms
 Ctrl+R: Reverse selected worms
 Ctrl+D: Delete selected worms
 Ctrl+M: Output Summary of motion labels
 
 Left Click on anyviews: select the clicked worm object
 Ctrl+Left Click on anyviews: toggle the selection of the clicked worm object
 Double Left-Click on the tracking view: reverse selected worm
 Double Right-Click on the tracking view: delete selected worm

Download Worm System

Worm System's source code is contained in a subversion repository that has been configured to allow anonymous read-only access. You can check out a copy from the following location:

svn://www.openworld.rpi.edu/repos/farsight/branches/NewWormSystem

Installable versions of the system could be downloaded from:


Contributors to the New Worm System:

  • Yu Wang
  • Isaac Abbott

For information of our old worm project, please refer to [Old Worm Project].

References

  • [1] Yu Wang, Roysam Badrinath, “Joint Tracking and Locomotion State Recognition of C.elegans from Time-Lapse Image Sequences,” IEEE International Symposium on Biomedical Imaging (ISBI) 2010 (oral presentation).
  • [2] Roussel Nicolas, Morton Christine A, Finger Fern P, Roysam Badrinath, “A computational model for C. elegans locomotory behavior : Application to multiworm tracking,” IEEE transactions on biomedical engineering, pp. 1786-1797, 2007.
  • [3] Katsunori Hoshi, Ryuzo Shingai, “Computer-driven automatic identification of locomotion states in Caenorhabditis elegans,” J Neurosci Methods, vol. 157(2), pp.355-363, 2006.
  • [4] Huang KM, Cosman P, Schafer WR, “Machine vision based detection of omega bends and reversals in C. elegans,” Journal of Neuroscience Methods, vol. 158, Issue 2, pp. 323-336, 2006.
  • [5] Nicolas Roussel, "A Computational Model for C.elegans locomotory behavior: Application to Multi-Worm tracking", Phd Thesis, 2007.
  • [6] K.M. Huang, P.C. Cosman, and W. Schafer, “Automated tracking of multiple C. elegans with articulated models,” IEEE International Symposium on Biomedical Imaging (ISBI) 2007, pp. 1240-1243, 2007.
  • [7] Fontaine, E., Barr, A., Burdick, J. W., “Model-based tracking of multiple worms and fish,” ICCV Workshop on Dynamical Vision, 2007.
  • [8] Wei Geng; Cosman, P.; Berry, C.C.; Zhaoyang Feng; Schafer, W.R., “Automatic tracking, feature extraction and classification of C. elegans phenotypes,” Biomedical Engineering, IEEE Transactions on, vol.51, no.10, pp.1811-1820, 2004.
  • [9] Isard, M.; Blake, A., “A mixed-state condensation tracker with automatic model-switching,” Computer Vision, 1998. Sixth International Conference on, pp.107-112,1998.
  • [10] G.J. Stephens et al., "Dimensionality and Dynamics in the Behavior of C. elegans", PLoS Comp. Biol., 2008.
Personal tools