Table of Contents

The Division Detection module

In the tracking module, we sought the optimal way to integrate feature information to pair detected objects between frames. Division detection is conceptually similar, but instead of linking one object to another we wish to optimally use feature information to pair each mother cell with two daughter cells. This is achieved using a similar algorithm to the tracking module, with a few key modifications:

Despite these differences, most of the machinery responsible for performing these assignments remains the same. The layout and usage of the division detection module is therefore very similar to that of the tracking module. For the purposes of conciseness, the below usage guide focuses on the ways in which the two modules differ, rather than providing a complete guide on each aspect of the division detection process. To initialise it, simply press the 'Divisions' button on the home panel. The following GUI should now appear:

Model training

Training the division detection module is very similar to training the tracking module. The processes of feature choice and training link inclusion proportion remain the same as before, although the relatively low number of division events compared to object-object links means that the histogram used to inform the choice of the training link inclusion proportion may not be very informative. One major difference does exist between the modules however: because temporal information is included as a feature, all 'training' divisions are effectively pooled into a single dataset, rather than being split by timepoint. As a result, the division detection module returns a single trackability score $R$, rather than a separate score for each timepoint. This is indicated in the top right-hand corner of the unnormalized step size distribution:

Because there are no other internal values to compare it to, $R$ is not very useful for determining the ease of division assignment. Instead, it is recommended that the accuracy of division detection be assessed following its completion using the View divisions panel and the overlays module.
Division events are much sparser than ordinary frame-frame links between objects, and typically need less feature information for assignment. Prediction of the location of daughter cells in feature space is also more noisy than the prediction of a single object's location in the subsequent frame, meaning some highly variable features can actually detract from the accuracy of division detection if included. It is therefore recommended that you initially try training the division detection model with only the Position feature active.

Model training is initialised as before, by clicking the Calculate! button. Once it has completed, division detection proper becomes available.

Division detection

In contrast to the Tracking module, the Division Detection module does not require the user to manually select a tracking threshold. Instead, the division detection algorithm automates selection of this threshold by iteratively modifying its value such that the resulting lineage structure is maximally connected while still remaining a tree (i.e. contains no loops). In practice, this generally gives a near-optimal balance between assigning true links - correct assignments between mother and daughter cells - and suppressing false links.

Once training has completed, it is therefore sufficient to simply press the Find divisions! button to launch this iterative algorithm and generate your lineage.

Validation

To validate detected division events and help choose an appropriate division threshold value, FAST provides three separate validation tools. Again, these are similar to those tools found in the tracking module:

Outputs

The division detection module does not produce a new variable as its output. Instead, it modifies the contents of the 'Tracks.mat' file. In particular, the following fields are added to the procTracks structure:

D1, D2 and M define a set of lineage trees for all the cells in the dataset. Tools for navigating and manipulating this lineage tree are available in the post-processing toolbox. In addition, tracks that are members of lineages below the Minimum lineage size threshold are removed from the procTracks structure. The toMappings and fromMappings structures are also updated to account for this change.

If needed, the original version of these track datasets (as output by the tracking module) is copied to the 'Pre-division_Tracks.mat' file, in the root directory.

Video demonstration