C. elegans Real-Time Egg Detection - PowerPoint PPT Presentation

About This Presentation
Title:

C. elegans Real-Time Egg Detection

Description:

Extra pixels removed by thinning. The X is on its way up to 'run in' to the outline ... differentiate and then // sum to remove angle discontinuities // caused by the ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 15
Provided by: jaysi5
Category:

less

Transcript and Presenter's Notes

Title: C. elegans Real-Time Egg Detection


1
C. elegans Real-Time Egg Detection
  • Jay Silver

2
The Dream Automated Behavior Analysis
  • In goes the worm, out come the parameters

1mm long 302 neurons
BlackBox
Caenorhabditis elegans
Measurements of Behavior
3
Real Goals
  • Track a worm as it crawls on its Petri dish
  • Analyze its behavior, especially egg laying, in
    real-time

Theory
Practice
4
First Need Clear Images
Auto gain control off Manual shutter control
off Light source 6 out of 10 Mirror Adjusted
for orthog. light incidence Wait time lt 1
hour
OP 50
gt300mL
50mL
5
Analyzing Images Numerically
  • Images and video have many dimensions
  • Reduce dimensions (math and morphology)
  • Make decisions (probability and heuristics)

Columns
Starboard Curvature
Head
Port Curvature
Images
Starboard Outline
Rows
Intensity
Centroid
Port Outline
Max
Covariances
(Features are drawn by algorithm, annotations are
drawn by hand)
The many dimensions of grayscale video
6
Image Analysis Overview
GOAL Go from original grayscale image to
analyzed black and white image. Identify egg if
present in black and white image.
(Record the time of each egg laying event for
statistical parameterization)
7
Threshold, Label, and Floodfill
Label and Count Area e.g.
Threshold e.g.
Area 8
Area 4
If (grayScaleValue gt mean 2s),
Pixel
1 Else, Pixel 0
1 0 0 0 0 0 1 0 1
1 0 0 1 0 1 1 0 0 1
0 0 0 1 0 1 0 0 0
1 0 1 0 0 0 1 0 1 0
0 1 1 0 1 0 0 0 0
0
1 0 0 0 0 0 1 0 2
2 0 0 1 0 2 2 0 0 1
0 0 0 3 0 1 0 0 0
3 0 1 0 0 0 3 0 1 0
0 3 3 0 1 0 0 0 0
0
Its a K
25 13 1 50 28 40 247 5 225
13 18 254 190 12 5 7 210 18 255
32 11 5 36 20 13
0 0 0 0 0 0 1 0 1
0 0 1 1 0 0 0 1 0
1 0 0 0 0 0 0
Area 5
Actual Threshold and Invert
Label and Fill Holes within Worm
Floodfill all objects smaller than worm
8
Thin to a Skeleton and Prune
Prune Maximal distance criterion using graphs,
or iteratively remove points that have one
neighbor
Structuring element
Erosion eachPixelminpixelNeigborhood
9
Keep Head and Tail Consistent
  • If(stdDev(Fwdi) gt stdDev(Revi))
    reverseDirectionOfBackbone()

Revi
Rev3
Rev1
Fwdi
Rev2
Fwd1
Fwd3
Fwd2
10
Outline of Worm
(White lines and
annotations drawn by algorithm, other colors
drawn by hand)
For(allPixels) If(has8neigbors),
deletePixel()
ThinOutline()
1
2
Notice extra pixels
Extra pixels removed by thinning
Remove corners (make 8-connected)
Follow perpendicular line to backbone to find
median
The X is on its way up to run in to the outline
4
3
8-connectivity
11
Extract Curvature from Outline
Use as template
While(traversingOutlinePixels)
MSlopeBetweenPixels(i, i10)
ASlopeToAngleInDegrees(M) DDiffAngle(A,A1)
//assume Dlt90 Caccumulate(D) // it is
necessary to differentiate and then
// sum to remove angle discontinuities
// caused by the
ambiguous angle of a line
12
Match Curvature with Egg
Port (Left) Side
Starboard (Right) Side
MATCH
Template (skewed to match horizontal scale)
Algorithm draws square at location where
covariance exceeds threshold.
Concavity
Concavity
Covariance
Enlarge
Enlarge
Covariance
13
Make Decisions
BUFFER H RIGHT
EGG REGION RIGHT
BUFFER H LEFT
EGG REGION LEFT
If(curr.eggRegion.hasEgg)
(!prev.Buffer.LostEgg)
(prev.eggRegion!egg) eggEventtrue
BUFFER T RIGHT
BUFFER T LEFT
14
Future Improvements
  • Convert code to run on W2K and use PIV 1.6 MHz
  • Increase f.p.s. by using optimized code like
    Intel OSCV Lib
  • Use several templates
  • Add new measures to covariance
  • Think of a way to deal with egg events in buffer
    region

Variance(eggTemplate - outlineCurvature)
will be a good inverse measure of similarity.
Starboard Curvature
Possible measure to use in addition to covariance
Head
Port Curvature
Starboard Outline
Centroid
Port Outline
Max
Covariances
Write a Comment
User Comments (0)
About PowerShow.com