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 • eyemini@ucsd.edu – Chris • cjc@caltech.edu • WWW – http://sourceforge.net/projects/worm-tracking