Trace Editor/Features
Contents |
Features and algorithms for Trace Editor
The Trace Editor uses several intrinsic and computed features in both manual and automated processes. Most features used for editing operate on the trace lines or the gap.
Feature List
Feature | Description | Equation or Variable |
---|---|---|
Gap Size | Minimum distance between endpoints of two traces | |
Angle | The angle created between two traces normalized as vectors | |
Path Length | Total length along a trace, indicated by the size of the trace | |
Euclidean Distance | Straight line distance between the endpoints of a trace | |
Fragmentation Smoothness | Ratio of Path Length to Euclidean Distance [1] | |
Maximum Gap Distance | The maximum distance between endpoints that can be merged | Δ |
Weights | The weights are used in the cost1 algorithm | α β |
Cost1 | Weighted scalar evaluating the merge [2] | |
Cost2 | Weighted scalar with Fragmentation Smoothness | |
Curvature | The Hessian matrix for checking branching point existence and interpolating the path. (Still under consideration) | |
Parent | Considering that neurites branching out from the soma form a tree-like structure, a parent point can be used to find a cycle. | |
Tortuosity(still testing) | The tortuosity is defined using a circle as the basis for the formula, label as circle . is 1 when the number of points in is infinite. We define using the information provided by Aff(BE,ED) . is the diameter of . |
. Finds the line of the form ax + b between the two point. Finds the angle between two intersecting lines at the intersection point. If the lines are parallel the angle is . Finds the distance between two points.
AlgorithmsThe algorithms suggested are used to control the editing process allowing for rule based cluster editing. The Goal is to complete group editing in five steps.
Merge Small GapsGoal: Create longest continuous trace segments by merging close endpoints Methods: Nearest neighbors (Closest end points),
The Cost function we have implemented is modified from: Interpolate Large GapsGoal: Connect Large gaps that step 1 cannot simply connect by addition of a single cell Method: Larger gaps need new segments created,
Branch PointsGoal: Detect and control Branching Method: Detect most probable intercepts,
Detect most probable intercepts: So far most of the methods I have evaluated or developed require information about the intensities in order to compute the most probable intercept. The reasoning behind this is the direction of the child branch does not give information about the intercept over long distances. In the short distance branching case, it is more acceptable to use the direction to figure out the interception point. The child branch would have to curve faster( over a shorter distance) if the direction of the branch was not in line with the main branch. In the case of a large gap between the main and child branch the child can curve slowly and still reach the main branch. This means that when there is a large gap there is more variation in the location of the intersection. So, to determine the proper intersection we can use the H(x) matrix listed in the features. I think when the gap is small( not sure what this is yet) we can just fill with a shortest distance line. Soma DetectionGoal: Correspond processes with a soma Method: Segmentation of original data,
FragmentsGoal: Removal of small traces that do not correspond to a process Method: Small traces removed,
References |