If you are unfamiliar with the data output format of Microbetracker, read the
Output Format page first for a
description.
Each cell is assigned an individual number, which corresponds to the location
of the corresponding information in the cellList
structure. To access the data structure, which corresponds to cell number c on
frame f, load cellList into MATLAB workspace and
type: cellList{f}{c}.
Cell numbering is different depending on whether the Timelapse or Individual
Frames mode was selected.
Cell numbering in Individual Frames mode
In the Individual frames mode and on the first frame of the Timelapse mode
MicrobeTracker assigns consecuitive integer numbers to the cells in the order of
their detection. Typically the order depends on the cell position in the image
(left-to-right), except for the cases when a cell was created by division of an
previously detected cell.
When the user manualy deletes a cell, the numbering of other cells does not
change, and the data structure corresponding to the deleted cell becomes empty.
Therefore, cellList{f}{c} will display an empty
array ([]) and accessing individual fields in this array will generate an error.
In data processing code you should check if the particular cell is not empty,
i.e. only proceed if for cell c on frame f the expression
~isempty(cellList{f}{c}) is true.
Cell numbering in Timelapse mode
Cell numbering is the same as above on the first frame of the Timelapse mode.
However, the program will keep the number of each cell as the time progresses.
Therefore, if some cells are lost over time, some elements of
cellList become empty.
When a cell divides, one of the new cells, the "mother cell", keeps the
number of the original cell. The other cell, the "daughter cell", acquires a new
number. In order to generate this number, the program keeps the total number of
cells on the first frame as CellListN array. The
daughter's cell number d is generated according to the formula:
d = c + N·2(g-1)
where c is the mother's cell number, N is the base number of
cells (typically the number of cells on the first frame), and g is the
generation number, i.e. 1 for the 1st division in the history of the cell, 2 for
2 divisions, etc. An example of cell numbering is shown in the figure (on the
right), assuming that the starting cell number is 3 (arbitrarily chosen) and the
number of cells on the first frame is 10 (also arbitrarily chosen).
The data structure of each cell contains four fields, which store the cell's
history. These fields are:
-
birthframe - the frame when the cell with this number first appeared.
-
divisions - frame numbers of the divisions the cell with this number
has gone through. The division, which gave birth to this cell counts, but
the 1st frame, when the cell's appearance did not result from a division,
does not.
-
ancestors - the numbers of all direct ancestors of the cell in the
order of division.
-
descendants - the numbers of all direct descendants of the cell in
the order of division.
When the old pole of the cell is known (marked with a solid "stalk" on the
figure), it is labeled with the field polarity=1 in
the corresponding data structure. In this case, at the next division the mother
cell appears on the old pole side of the cell. When the orientation is unknown,
it is selected randomly (dashed "stalk" on the figure).
|