Description of the tracker parameters¶
To achieve optimal tracking results with Tracx, the parameters need to be adjusted for the respective data set.
Since most parameter have a direct physical interpretation they can be estimated from a few input images of the data set. For example the parameter maxCellCenterDisplacement used by the LAP defines how much a cell center can move between two consecutive images in unit pixels.
Critical for accurate tracking are neighbourhoodSearchRadius and fingerprintHalfWindowSideLength. The first one needs to be set large enough the include at least the neighboring cells. By default this is set automatically but for rod shaped cells it is generally to low depending the orientation of the cells. The second one needs to be set similar to neighbourhoodSearchRadius to include at least the neighboring cells to be able to accurately compute the cell region fingerprints.
If the segmentation is poor and the segmentation of a cell is missing on several frames the maxTrackFrameSkipping should be adjusted accordingly as well usedFunctionsForCostMatrix needs to be activated [_, _, _, 1].
All parameters starting with divisionMarker* are only used for the lineage reconstruction of asymmetrically dividing cells such as yeast. Here, we segment and track a so called bud neck marker using the same idea of the cell region fingerprint but the parameters need to be adjusted to much smaller (bud neck) objects.
Parameter name |
Unit |
Default value |
Parameter description |
---|---|---|---|
maxCellCenterDisplacement |
px |
15 |
Max. displacement of segmented objects in pixel allowed in any direction for consecutive image frames (depends on pixel size and magnification). |
maxExpectedMovement |
px |
75 |
Max expected (linear) movement of one or multiple segmented objects as i.e colony jump in pixel (depends on pixel size and magnification). Default to 2.5 * the average cell diameter. Should be adjusted to largest observed movement. |
averageCellSizeGrowth |
% |
0.03 |
Average fractional growth of an identical segmented object between two subsequent image frames (i.e. cell area or nuclear area). |
maxCellSizeDecrease |
% |
0.75 |
Max. fractional segmented object size decrease for subsequent image frames. |
maxCellSizeIncrease |
% |
2.5 |
Max. fractional segmented object size increase for subsequent image frames. |
maxMajorAxisRotation |
deg |
0 |
Max. tolerated major axis rotation (not needed for round objects). |
individualFunctionPenalty |
500 |
Individual penalty maximum for each cost function (i.e. for position area rotation). |
|
maxTrackFrameSkipping |
frame |
2 |
Max. number of frames where a segmented object is allowed to be missing from a track. |
usedFunctionsForCostMatrix |
[1,1,0,0] |
Array specifying which cost functions to consider to build final cost matrix. |
|
meanCellDiameter |
px |
30 |
Mean cell diameter of all segmented objects of all image frames of the whole experiment. |
meanCellDiameterScalingFactor |
2.5 |
Mean cell diameter scaling factor to scale the max allowed linear motion of cells in respect to the mean cell diameter. |
|
fingerprintHalfWindowSideLength |
px |
25 |
Half window side length of a square around the centroid coordinates of a segmented object to be used to for fingerprint computation. |
fingerprintResizeFactor |
32 |
Resize factor applied to image matrix before fingerprint calculation. |
|
fingerprintMaxConsideredFrequencies |
8 |
Number of DCT frequencies to include for fingerprint computation. |
|
fingerprintDistThreshold |
0 |
Fraction fingerprint threshold below which two fingerprints are considered to be identical. |
|
neighbourhoodSearchRadius |
px |
40 |
Radius around a centroid coordinates of a segmented object used to detect the neighboring cells. |
radiusVectorFilterX |
px |
100 |
Radius equals to the first standard deviation of a 2D Gaussian distribution around a cell center in X. The radius is used calculate the neighborhood weighted cell center displacement in X. |
radiusVectorFilterY |
px |
100 |
Radius equals to the first standard deviation of a 2D Gaussian distribution around a cell center in Y. The radius is used calculate the neighborhood weighted cell center displacement in Y. |
radiusVectorFilterZ |
px |
100 |
Radius equals to the first standard deviation of a 2D Gaussian distribution around a cell center in Z. The radius is used calculate the neighborhood weighted cell center displacement in Z. |
divisionMarkerEdgeSensitivityThresh |
0.3 |
Edge sensitivity threshold for division marker segmentation. |
|
divisionMarkerConvexAreaUpperThresh |
100 |
Convex area upper threshold used for division marker segmentation selection to exclude segmentation artifacts. |
|
divisionMarkerConvexAreaLowerThresh |
5 |
Convex area lower threshold used for division marker segmentation selection to exclude segmentation artifacts. |
|
divisionMarkerMaxObjCenterDisplacement |
px |
25 |
Max. displacement of segmented objects in pixel allowed in any direction for consecutive image frames (depends on pixel size and magnification). |
divisionMarkerMaxExpectedMovement |
px |
15 |
Max expected (linear) movement of one or multiple segmented objects as i.e colony jump in pixel (depends on pixel size and magnification). Default to 2.5 * the average cell diameter. Should be adjusted to largest observed movement. |
divisionMarkerAverageObjSizeGrowth |
% |
0.03 |
Average fractional growth of an identical segmented object between two subsequent image frames (i.e. cell area or nuclear area). |
divisionMarkerMaxObjSizeDecrease |
% |
0.75 |
Penalty for maximum fractional segmented object size decrease for subsequent image frames. |
divisionMarkerMaxObjSizeIncrease |
% |
2.5 |
Penalty for maximum fractional segmented object size increase for subsequent image frames. |
divisionMarkerMaxMajorAxisRotation |
deg |
0 |
Max. tolerated major axis rotation (not needed for round objects). |
divisionMarkerIndividualFunctionPenalty |
500 |
Individual penalty maximum for each cost function (i.e. for position area rotation). |
|
divisionMarkerMaxTrackFrameSkipping |
frame |
2 |
Max. number of frames where a segmented object is allowed to be missing from a track. |
divisionMarkerUsedFunctionsForCostMatrix |
[1,1,0,1] |
Array specifying which cost functions to consider to build final cost matrix. |
|
divisionMarkerMeanCellDiameter |
px |
30 |
Mean cell diameter of all segmented objects of all image frames of the whole experiment. |
divisionMarkerMeanCellDiameterScalingFactor |
2.5 |
Mean cell diameter scaling factor to scale the max allowed linear motion of cells in respect to the mean cell diameter. |
|
divisionMarkerFingerprintHalfWindowSideLength |
px |
25 |
Half window side length of a square around the centroid coordinates of a segmented object to be used to for fingerprint computation. |
divisionMarkerFingerprintResizeFactor |
32 |
Resize factor applied to image matrix before fingerprint calculation. |
|
divisionMarkerFingerprintMaxConsideredFrequencies |
8 |
Number of DCT frequencies to include for fingerprint computation. |
|
divisionMarkerFingerprintDistThreshold |
0 |
Fraction fingerprint threshold below which two fingerprints are considered to be identical. |
|
divisionMarkerNeighbourhoodSearchRadius |
px |
40 |
Radius around a centroid coordinates of a segmented object used to detect the neighbouring cells. |
divisionMarkerRadiusVectorFilterX |
px |
100 |
Radius equals to the first standard deviation of a 2D Gaussian distribution around a cell center in X. The radius is used calculate the neighborhood weighted cell center displacement in X. |
divisionMarkerRadiusVectorFilterY |
px |
100 |
Radius equals to the first standard deviation of a 2D Gaussian distribution around a cell center in Y. The radius is used calculate the neighborhood weighted cell center displacement in Y. |
divisionMarkerRadiusVectorFilterZ |
px |
100 |
Radius equals to the first standard deviation of a 2D Gaussian distribution around a cell center in Z. The radius is used calculate the neighborhood weighted cell center displacement in Z. |
divisionMarkerLineProfileLength |
px |
100 |
Maximum length of the line profile between two cell centers are re-sampled to. Used to be able to compare the profiles. |
divisionMarkerLineProfilePeakLowerBound |
px |
10 |
Lower bound where a peak on line profile between two cell centers is still accepted. Used as threshold. |
divisionMarkerLineProfilePeakUpperBound |
px |
90 |
Upper bound where a peak on line profile between two cell centers is still accepted. Used as threshold. |
data3D |
bool |
0 |
Is data 2D (0) or 3D (1) |
pixelsPerZPlaneInterval |
1 |
The number of pixels that one Z-stack interval is equal to. |
|
active3DFingerprint |
bool |
0 |
Is 3D fingerprint used or closest z stack method |
cellThumbSideLength |
px |
100 |
Thumbnail side length around the center of a segmented object. Used i.e to cut out all cells contained in a single track from all image frames for visualization. |
maskOverlayAlpha |
0.4 |
Transparency (alpha) level for segmentation mask overlay on raw images for visualization. |
|
debugLevel |
1 |
Parameter defining the debug level. Level 0 shows no output. Level 1 shows general information (info mode). Level 2 shows additional debug info (debug mode). |