Cell segmentation

advertisement
4D Numerical Schemes for Cell
Image Segmentation and
Tracking
Mariana Remešíková
Karol Mikula, Nadine Peyriéras, Michal
Smíšek
Motivation

The motivation for this work comes from developmental biology
zebrafish
Motivation
Motivation
Cell nuclei
Cell membranes
Motivation


Images of the embryo before and during organogenesis
Question: Where do the organs come from?
Cell tracking

Let us follow the time
evolution of one cell
nucleus
Cell tracking

The celll nucleus
evolution can be viewed
as a tree-like structure
Cell tracking

Let us pick one nucleus
at the end of the
evolution
Cell tracking

We want to find the
way down to the root of
the tree
Cell tracking

Our cell tracking method consists of three steps:
 detection of approximate cell center positions
Flux based level set center detection (FBLSCD)
P.Frolkovič, K.Mikula, N.Peyriéras, A.Sarti: A counting number of cells and cell
segmentation using advection-diffusion equations. Kybernetika 43 (6) (2007)
segmentation of the cell evolution trees
 descend to the roots of the trees from the cell center positions in
the last time frame

Segmentation of the cell evolution
trees

Generalized subjective surface model

u

2
 t u  wa gu  wc g   u . 
  2  u 2

The function g(s) is the edge detector
1
g ( s) 
, K  0, s  (G  I 0 )
2
1  Ks
2



0


Segmentation of the cell evolution
trees

Semi-implicit time approximation
u u
m
S


Vi
m 1


u m
m 1
2
m 1
 wa gu  wc g   u . 
2
  2  u m1



0


Finite volume space discretization
 we consider a rectangular domain Rn and a uniform grid where
the grid elements are n-dimensional cubes (pixels, voxels, doxels…)
 we integrate over the grid element Vi, i=i1e1+i2e2+..+inen
u u
m

m 1

m

2

u
dx   wa g.u m1dx   wc g  2  u m1 .
2
  2  u m1
Vi
Vi



dx  0


Segmentation of the cell evolution
trees

Approximation of the integrals
 the time derivative term
m
m 1
ui  ui
u m  u m1
dx  m(Vi )

Vi

S
S
the advection term – upwind principle
  wa g  u dx 
Vi
m 1
m 1
m 1
m 1


u

u
u

u
i
i e p
i e p
i
p
p

wa m(Vi )  max  Di g ,0
 min  Di g ,0


h
h
p 1


g i  e p  g i e p
p
Di g 
2h
n




Segmentation of the cell evolution
trees

Fi-2
The curvature term
Fi-1
Fi-2
Vi
Fi+1
Fi+2
w g
c
  | u
2
Vi
| 
  | u
2
Fi+3
Fi+1
Fi+2
u m
m 1 2
Fi-1
Fi-3
m 1 2
dx 
|
m
m



u

u

p

p
wc g i Qi   
 i d  
 i d  
2
m 1 2
2
m 1 2


p
p 1 F  p


|

u
|


|

u
|
F
i
 i

m
m
 p um
p um
n 


u

u
m
(
F
)
m
(
F
)
i e p
i
i e p
i
m 1
i
i

wc g i Qi    p;m 1
  p;m 1


h
Q
h
p 1 Qi
i


m 1
n
Segmentation of the cell evolution
trees

2D case
u m 11
u i  e2
u
ui  e1 e2
ui  e1
u
1
1
i  e1  e2
2
2
D 1uim1 
ui  e1  e2
1;m 1
i
Q
Qi m1 

1 m 1
(ui  uime11  uime21  uime11e2 )
4
1
1
i  e1  e2
2
2
ui
u i  e2
1
i  e1  e2
2
2

u ime1 1  u im1
D 1, 2uim1 

h
u m11 1  u m11 1
   D u
2
i  e1 e2
2
2
i  e1 e2
2
2
h
  D
1 m 1 2
i
1, 2
u

m 1 2
i
1 1;m1
Qi
 Qi1;m1  Qi 2;m1  Qi2;m1
4

Segmentation of the cell evolution
trees

3D case
Segmentation of the cell evolution
trees

4D volume (doxel)
Segmentation of the cell evolution
trees

Approximation of gradient on the doxel face
Segmentation of the cell evolution
trees

Approximation of gradient on the doxel face
Segmentation of the cell evolution
trees

Segmentation of artificial 4D data
K=1.0
h=1.0, S=0.1, TS=30
wa=5.0, wc=0.1
Segmentation of the cell evolution
trees

Segmentation of zebrafish embryogenesis 4D data
Backtracking in the tree
starting positions for tracking




In order to descend to the root
of the tree, we compute the
distance function to the root
cell position
The distance function d1 is
computed only inside the tree
We move from the top of the
tree in the direction of
decreasing distance function d1
This might not be enough – we
can get into a wrong tree
root cell positions
Backtracking in the tree


In order to prevent dropping into a wrong
tree, we compute the distance function to
the border of the segmented tree (d2)
Keeping the distance function d2
maximized in each step of the tracking,
we move along the center line of the
tubes
Backtracking in the tree

The distance function is computed by solving the time relaxed eikonal
equation
 t d  | d | 1
with Dirichlet type condition
d ( x, t )  0, x  0  


For the distance function d1, 0 is the set of cell center positions in
the first time step
For the distance function d2, 0 are the borders of the segmented cell
evolution trees
Backtracking in the tree

The time relaxed eikonal equation is discretized explicitly in time
d im  d im1   D 

D
h
d m1
The space discretization is done by the Rouy-Tourin scheme
p
i
D
 
 min d
m 1
i e p
d

m 1
i
M ip  max Di p , Di p
d
m 1
1

h
,0

2

n
p
M
 i
p 1
m
m 1
d ijk
 d ijk
 D 
D
h
n
p
M
 i
p 1
Backtracking in the tree

The effect of the
distance function d2
Backtracking in the tree

Backtracking in artificial data
Backtracking in the tree

Backtracking in zebrafish embryogenesis data
Backtracking in the tree

Backtracking in zebrafish embryogenesis data
Thank you for attention!
Download