Worm Tracker 2.0

Download Report

Transcript Worm Tracker 2.0

Inexpensive, Easy-To-Use, and Feature-Rich
Worm Tracking
Part I
A Short Overview
The Benefits
• Inexpensive
• Easy-to-Use
• Feature Rich
• A simple pipeline to Analysis
• Well-Documented (easily extended, updated,
and maintained)
Inexpensive
• Works FAST and beautifully with CHEAP (<$30)
USB cameras.
• Supports most stages:
– Ludl & Prior now
– National Instruments/Parker later
• Works well with any computer:
– Windows, Mac, & Unix variants
• Does NOT require any software purchases.
Easy-To-Use
• Plug-n-Play
– Plug the camera and stage into the PC.
– Download and run the software.
• Automatic Calibration
– Stage-to-Pixels
– Pixels-to-Microns
– Tracking
• Simple functionality is on the main screen.
– Advanced Options and tweaks are also easily
accessible.
Attaching Your USB Camera
What Do You Need?
Attaching Your USB Camera
( Don’t worry it’ll be on the web page  )
1. Open it up.
3. Add glue.
2. Remove the lens.
4. Glue on the C-mount.
Voila!
Show Me The Video!
Feature Rich
• NO Recording Limits
– Unlimited Length (as long as you have space)
– ANY Frame Rate & Resolution
• Track EVEN in Difficult Conditions, e.g.:
–
–
–
–
Young Worms
Thick Food
Contamination
Plate Edges
• Time-Lapse recording.
• An easy pipeline to our Analysis software
– Over 100 Features extracted.
More Features
• Continually Log the worm’s Real-World Location.
• Snap images in many formats:
– JPG, GIF, BMP, PNG
• Advanced control over recording:
–
–
–
–
Resolution
Video Format
Frame Rate
Time/Frame/Intermittent Lengths
• Advanced control over tracking:
– Boundaries
– Thresholds
– Coordinate stage movements with recording to Minimize Blur
Standardization
• Identical Video & Tracking Data
REGARDLESS of the Hardware & OS Configuration
– Allows Searchable Databases of videos & analyses
•
•
•
•
Dry Lab Experimentation
Phenotypic Identification
Cross-Experimental Comparisons
Meta Studies
• Open Source for reuse (e.g., A Neuronal
Imaging Tracker)
Extensive Documentation
•
•
•
•
•
Design overview
FAQ
Tutorials
Troubleshooting guide
Javadoc Web Pages
– ANY Java programmer can Understand, Edit,
& Extend the code
– Easy Updates & Maintenance
Example:
Supporting a New Motorized Stage
(A Tutorial Document will be Included with the Software)
• Fill in a motorized stage wrapper.
– ~5 Lines of Java
• Translate “Move” into the stage’s language
– A text command for the serial port.
• ~1 Line of Java
– Or, call the API to move the stage.
• A Few Lines of code
Part II
The Details
Tracking Overview
The Java Media Framework
Worm Tracker 2.0
Java
Media
Framework
• Supports most USB Cameras
• Synchronizes multiple data sources
– Cameras, microphones, etc.
USB
Camera
USB
Camera
USB
Camera
• Can Multiplex and Combine data sources
Example: 3 synchronized videos
– Cyan & yellow filtered fluorescent neurons.
– A low magnification worm behavior video.
• Monitor while recording for Real-Time Video Analysis
The Tracking Algorithm
• Convert the image to Grayscale.
• Find the Worm:
– Threshold to find the foreground (worm).
– Find an appropriate “8-connected” component.
• Find Motion:
–
–
–
–
Ignore tracked in/out image boundaries.
Subtract successive frames (motion).
Threshold to find movement (worm).
Find large 8-connected components.
• Re-Center the worm upon boundary violation.
Adaptive Thresholding
• The Otsu Method
– Assume a bimodal distribution of pixels (worm
& background).
– Find a threshold to split the modalities:
• Maximize the variance between modalities.
• Minimize the variance within modalities.
– O(# of pixels) – Optimal!
Adaptive Thresholding
8-Connected Components
• 8 Neighbors (vs. 4 – no diagonals)
• “Two Strategies to Speed Up Connected Component
Labeling”, 2005, Wu et al.
–
–
–
–
1 forward scan
Union find
Decision trees
Sequential memory access
• Area and Boundary discovery during the scan.
• O(# of Pixels) – Optimal!
Movement Detection
• Calibrate to Ignore Video Noise
Automatically establish thresholds:
– Minimum area
– ∆ pixel value
• Subtract successive Frames
– Motion = large 8-connected components
where:
| ∆ pixel value | > 0
• Move stage to Keep Motion In Bounds
Movement Detection
Acknowledgements
•
•
•
•
•
•
Chris Cronin
Ryan Lustig
Kathleen, Katie, Callie, & Andrew
Bill Schafer & Paul Sternberg
Yechiam Yemini (My Dad)
Zhaoyang (John) Feng
Contact Us
• Email
– Ev
• [email protected]
– Chris
• [email protected]
• WWW
– http://sourceforge.net/projects/worm-tracking