# ELEPHANT: Tracking cell lineages in 3D by incremental deep learning
Developer | Ko Sugawara |
Forum | Image.sc forum Please post feedback and questions to the forum. It is important to add the tag elephant to your posts so that we can reach you quickly. |
Source code | GitHub |
Publication | Sugawara, K., Çevrim, C. & Averof, M. Tracking cell lineages in 3D by incremental deep learning. eLife 2022. doi:10.7554/eLife.69380 |
Category | Action | On Menu | Shortcut | Description | |
---|---|---|---|---|---|
Detection | Predict Spots | Yes | Alt +S |
Predict spots with the specified model and parameters | |
Predict Spots Around Mouse | No | Alt +Shift |
Predict spots around the mouse position on the BDV view | ||
Update Detection Labels | Yes | U |
Predict spots | ||
Reset Detection Labels | Yes | Not available | Reset detection labels | ||
Start Live Training | Yes | Not available | Start live training | ||
Train Detection Model (Selected Timepoints) | Yes | Not available | Train a detection model with the annotated data from the specified timepoints | ||
Train Detection Model (All Timepoints) | Yes | Not available | Train a detection model with the annotated data from all timepoints | ||
Reset Detection Model | Yes | Not available | Reset a detection model by one of the following modes: `Versatile`, `Default`, `From File` or `From URL` | ||
Download Detection Model | Yes | Not available | Download a detection model parameter file. | ||
Linking | Nearest Neighbor Linking | Yes | Alt +L |
Perform nearest neighbor linking with the specified model and parameters | |
Nearest Neighbor Linking Around Mouse | No | Alt +Shift +L |
Perform nearest neighbor linking around the mouse position on the BDV view | ||
Update Flow Labels | Yes | Not available | Update flow labels | ||
Reset Flow Labels | Yes | Not available | Reset flow labels | ||
Train Flow Model (Selected Timepoints) | Yes | Not available | Train a flow model with the annotated data from the specified timepoints | ||
Reset Flow Model | Yes | Not available | Reset a flow model by one of the following modes: `Versatile`, `Default`, `From File` or `From URL` | ||
Download Flow Model | Yes | Not available | Download a flow model parameter file. | ||
Utils | Map Spot Tag | Yes | Not available | Map a spot tag to another spot tag | |
Map Link Tag | Yes | Not available | Map a link tag to another link tag | ||
Remove All Spots and Links | Yes | Not available | Remove all spots and links | ||
Remove Short Tracks | Yes | Not available | Remove spots and links in the tracks that are shorter than the specified length | ||
Remove Spots by Tag | Yes | Not available | Remove spots with the specified tag | ||
Remove Links by Tag | Yes | Not available | Remove spots with the specified tag | ||
Remove Visible Spots | Yes | Not available | Remove spots in the current visible area for the specified timepoints | ||
Remove Self Links | Yes | Not available | Remove accidentally generated links that connect the identical spots | ||
Take a Snapshot | Yes | H |
Take a snapshot in the specified BDV window | ||
Take a Snapshot Movie | Yes | Not available | Take a snapshot movie in the specified BDV window | ||
Import Mastodon | Yes | Not available | Import spots and links from a .mastodon file. |
||
Export CTC | Yes | Not available | Export tracking results in a Cell Tracking Challenge format. The tracks whose root spots are tagged with Completed are exported. |
||
Change Detection Tag Set Colors | Yes | Not available | Change Detection tag set colors (Basic or Advanced ) |
||
Analysis | Tag Progenitors | Yes | Not available | Assign the Progenitor tags to the tracks whose root spots are tagged with Completed . Tags are automatically assigned starting from 1 . Currently, this action supports maximum 255 tags. |
|
Tag Progenitors | Yes | Not available | Label the tracks with the following rule.
|
||
Tag Dividing Cells | Yes | Not available | Tag the dividing and divided spots in the tracks as below.
|
||
Count Divisions (Entire) | Yes | Not available | Count number of divisions in a lineage tree and output as a .csv file. In the Entire mode, a total number of divisions per timepoint is calculated.In the Trackwise mode, a trackwise number of divisions per timepoint is calculated. |
||
Count Divisions (Trackwise) | |||||
Window | Client Log | Yes | Not available | Show a client log window | |
Server Log | Yes | Not available | Show a server log window | ||
Control Panel | Yes | Not available | Show a control panel window | ||
Abort Processing | Yes | Ctrl +C |
Abort the current processing | ||
Preferences... | Yes | Not available | Open a preferences dialog |
Tag set | Tag | Color | Description | |
---|---|---|---|---|
Detection | tp | ■ cyan | Annotate spots for training and prediction in a detection workflow |
true positive; generates nucleus center and nucleus periphery labels |
fp | ■ magenta | false positive; generates background labels with a false weight | ||
tn | ■ red | true negative; generates background labels | ||
fn | ■ yellow | false negative; generates nucleus center and nucleus periphery labels with a false weight | ||
tb | ■ orange | true border; generates nucleus periphery labels | ||
fb | ■ pink | false border; generates nucleus periphery labels with a false weight | ||
unlabeled | ■ green | unevaluated; not used for labels | ||
Tracking | Approved | ■ cyan | Annotate links for training and prediction in a linking workflow |
approved; generates flow labels |
unlabeled | ■ green | unevaluated; not used for flow labels | ||
Progenitor | 1-255 | ■ glasbey | Visualize progenitors | assigned by an anlysis plugin or manually by a user |
unlabeled | ■ invisible | not assigned; invisible on the view | ||
Status | Completed | ■ cyan | Label status of tracks | completed tracks |
Division | Dividing | ■ cyan | Annotate division status of spots |
spots about to divide |
Divided | ■ yellow | spots just divided | ||
Non-dividing | ■ magenta | othe positive spots | ||
Invisible | ■ invisible | negative spots are invisible | ||
Proliferator | Proliferator | ■ cyan | Annotate proliferation status of spots |
spots in the proliferating lineage tree |
Non-proliferator | ■ magenta | spots in the non-proliferating lineage tree | ||
Invisible | ■ invisible | undetermined spots are invisible |
Category | Parameter | Description |
---|---|---|
Basic Settings | prediction with patches | If checked, prediction is performed on the patches with the size specified below. |
patch size x | Patch size for x axis. If the prediction with patches is unchecked, it is not used. |
|
patch size y | Patch size for y axis. If the prediction with patches is unchecked, it is not used. |
|
patch size z | Patch size for z axis. If the prediction with patches is unchecked, it is not used. |
|
number of crops | Number of crops per timepoint per epoch used for training. | |
number of epochs | Number of epochs for batch training. Ignored in live mode. | |
time range | Time range (backward) for prediction and batch training. For example, if the current time point is `10` and the specified time range is `5`, time points `[6, 7, 8, 9, 10]` are used for prediction and batch training. | |
auto BG threshold | Voxels with the normalized value below auto BG threshold are considered as *BG* in the label generation step. |
|
learning rate | Learning rate for training. | |
probablility threshold | Voxels with a center probability greater than this threshold are treated as the center of the ellipsoid in detection. | |
suppression distance | If the predicted spot has an existing spot (either TP , FN or unlabeled ) within this value, one of the spots is suppressed.If the existing spot is TP or FN , the predicted spot is suppressed.If the existing spot is unlabeled , the smaller of the two spots is suppressed. |
|
min radius | If one of the radii of the predicted spot is smaller than this value, the spot will be discarded. | |
max radius | Radii of the predicted spot is clamped to this value. | |
NN linking threshold | In the linking workflow, the length of the link should be smaller than this value. If the optical flow is used in linking, the length is calculated as the distance based on the flow-corrected position of the spot. This value is referred to as d_serch in the paper. |
|
NN max edges | This value determines the number of links allowed to be created in the linking Workflow. | |
use optical flow for linking | If checked, optical flow estimation is used to support nearest neighbor (NN) linking. | |
dataset dir | The path of the dataset dir stored on the server. The path is relative to /workspace/models/ on the server. |
|
detection model file | The path of the [state_dict](https://pytorch.org/tutorials/beginner/saving_loading_models.html#what-is-a-state-dict) file for the detection model stored on the server. The path is relative to /workspace/models/ on the server. |
|
flow model file | The path of the [state_dict](https://pytorch.org/tutorials/beginner/saving_loading_models.html#what-is-a-state-dict) file for the flow model stored on the server. The path is relative to /workspace/models/ on the server. |
|
detection Tensorboard log dir | The path of the Tensorboard log dir for the detection model stored on the server. The path is relative to /workspace/logs/ on the server. |
|
flow Tensorboard log dir | The path of the Tensorboard log dir for the flow model stored on the server. The path is relative to /workspace/logs/ on the server. |
|
Advanced Settings | output prediction | If checked, prediction output is save as .zarr on the server for the further inspection. |
apply slice-wise median correction | If checked, the slice-wise median value is shifted to the volume-wise median value. It cancels the uneven slice wise intensity distribution. |
|
mitigate edge discontinuities | If checked, discontinuities found in the edge regions of the prediction are mitigated. The required memory size will increase slightly. |
|
training crop size x | Training crop size for x axis. The smaller of this parameter and the x dimension of the image is used for the actual crop size x. | |
training crop size y | Training crop size for y axis. The smaller of this parameter and the y dimension of the image is used for the actual crop size y. | |
training crop size z | Training crop size for z axis. The smaller of this parameter and the z dimension of the image is used for the actual crop size z. | |
class weight bg | Class weight for background in the loss function for the detection model. | |
class weight border | Class weight for border in the loss function for the detection model. | |
class weight center | Class weight for center in the loss function for the detection model. | |
flow dim weight x | Weight for x dimension in the loss function for the flow model. | |
flow dim weight y | Weight for y dimension in the loss function for the flow model. | |
flow dim weight z | Weight for z dimension in the loss function for the flow model. | |
false weight | Labels generated from false annotations (FN , FP , FB ) are weighted with this value in loss calculation during training (relative to true annotations). |
|
center ratio | Center ratio of the ellipsoid used in label generation and detection. | |
max displacement | Maximum displacement that would be predicted with the flow model. This value is used to scale the output from the flow model. Training and prediction should use the same value for this parameter. If you want to transfer the flow model to another dataset, this value should be kept. |
|
augmentation scale factor base | In training, the image volume is scaled randomly based on this value. e.g. If this value is 0.2, the scaling factors for three axes are randomly picke up from the range [0.8, 1.2]. |
|
augmentation rotation angle | In training, the XY plane is randomly rotated based on this value. The unit is degree. e.g. If this value is 30, the rotation angle is randomly picked up from the range [-30, 30]. |
|
NN search depth | This value determines how many timepoints the algorithm searches for the parent spot in the linking workflow. | |
NN search neighbors | This value determines how many neighbors are considered as candidates for the parent spot in the linking workflow. | |
use interpolation for linking | If checked, the missing spots in the link are interpolated, which happens when 1 < NN search neighbors . |
|
log file basename | This value specifies log file basename.~/.mastodon/logs/client_BASENAME.log , ~/.mastodon/logs/server_BASENAME.log will be created and used as log files. |
|
Server Settings | ELEPHANT server URL with port number | URL for the ELEPHANT server. It should include the port number (e.g. http://localhost:8080 ) |
RabbitMQ server port | Port number of the RabbitMQ server. | |
RabbitMQ server host name | Host name of the RabbitMQ server. (e.g. localhost ) |
|
RabbitMQ server username | Username for the RabbitMQ server. | |
RabbitMQ server password | Password for the RabbitMQ server. |