Team:ETHZ Basel/InformationProcessing/CellDetection

From 2010.igem.org

(Difference between revisions)
Line 9: Line 9:
[[Image:C1.png|center|800px|Sketch for a possible implementation of the controller.]]
[[Image:C1.png|center|800px|Sketch for a possible implementation of the controller.]]
 +
The controlling unit answers this question by looking at the location of the cell and its current direction of movement, and then comparing it with the proposed destination/direction. It can then give the control signals to the cell to force it to swim straight or to make a turn (tumble).
The controlling unit answers this question by looking at the location of the cell and its current direction of movement, and then comparing it with the proposed destination/direction. It can then give the control signals to the cell to force it to swim straight or to make a turn (tumble).

Revision as of 07:10, 22 September 2010

Cell Tracking

"To tumble or not to tumble? That is the question".

Sketch for a possible implementation of the controller.


The controlling unit answers this question by looking at the location of the cell and its current direction of movement, and then comparing it with the proposed destination/direction. It can then give the control signals to the cell to force it to swim straight or to make a turn (tumble).

The main input to the controlling unit will be therefore, the current location & the direction of the moving E. coli that we decide to control, among many other E. colis in the population, that are also moving. This is calculated by an image processing algorithm which uses image segmentation techniques to detect cells in adjacent frames of the video stream and then a matching technique to align the cells in the adjacent frames. This way we can keep track of the correct cell that we have chosen to move and detect its location and direction of motion.

The main challenges or the key features of the cell tracking algorithm should be:

  • Fast response so that the control unit can work in real time with the moving E. coli.
  • Should be robust against possible segmentation errors (cell detection errors).

Currently I'm looking at the following algorithms, all of which look quite good. In the mean time, I'm looking for other algorithms as well, so that we can settle down for the most suitable.

1. Topological Alignment based algorithm - Topaln

Tracking cells in Life Cell Imaging videos using topological alignments. Axel Mosig, Stefan Jäger, Chaofeng Wang, Sumit Nath, Ilker Ersoy, Kannap-pan Palaniappan and Su-Shing Chen. Algorithms for Molecular Biology 2009, 4:10

Info & Status:

  • By looking at the literature, this looks like the most suitable choice for our application. Speed should not be a problem. I will add an overview of the algorithm to this page.
  • This is an open source application. However, the source code (C++) I tried failed to compile. Several compilation errors are found.
  • This application requires a CPLEX installation. For the initial testing I downloaded a free student version of the software that is distributed with some other piece of software (this is legal). If it doesn't work, we could download the free trial version, which I later found. However, first we should fix the compilation problems.

Updated 29.07.2010

2. DYNAMIK

DYNAMIK: A Software Environment for Cell DYNAmics, Motility, and Information TracKing, with an Application to Ras Pathways. Stefan Jaeger*, Qingfeng Song* and Su-Shing Chen (2009). Bioinformatics Advance Access July, 2009.

Info & Status:

  • This is implemented in matlab. At the moment it looks a bit slower than we want it to be. Takes around 29 seconds to process 10 frames. It is possible that we can reduce the time taken per frame to less than 1 second.
  • I tried to plot the trajectories of the cells monitored by the application. These trajectories are calculated based on 10 consecutive frames of a video. The plot is as shown below:

Trajectory 10.jpg

The frames for which the trajectories have been calculated can be downloaded from here: File:10frames.zip

Updated 29.07.2010


I will be adding more stuff as the developments move on...