Trace Editor/Features

From FarsightWiki
(Difference between revisions)
Jump to: navigation, search
(Algorithms)
(Algorithms: Adding detail to the algorithm notes)
Line 33: Line 33:
 
*Minimal distance between end points
 
*Minimal distance between end points
 
**[[Angle between traces-]] Consider the direction vector for two endpoint e<sub>1</sub>, e<sub>2</sub> in proximity( this is given by a constant); the direction vectors are d<sub>1</sub> and d<sub>2</sub> respectfully. Using this information we can find the angular change by projecting d<sub>1</sub> onto d<sub>2</sub>, the angular change can be found using the error vector and the direction vectors. We can also draw a triangle using the line connecting e<sub>1</sub> and e<sub>2</sub>, the lines through d<sub>1</sub> and d<sub>2</sub>, and the midpoint line. The second method as of now requires the picture to be projected to 2 dimensions, but this should be easy to extend.  
 
**[[Angle between traces-]] Consider the direction vector for two endpoint e<sub>1</sub>, e<sub>2</sub> in proximity( this is given by a constant); the direction vectors are d<sub>1</sub> and d<sub>2</sub> respectfully. Using this information we can find the angular change by projecting d<sub>1</sub> onto d<sub>2</sub>, the angular change can be found using the error vector and the direction vectors. We can also draw a triangle using the line connecting e<sub>1</sub> and e<sub>2</sub>, the lines through d<sub>1</sub> and d<sub>2</sub>, and the midpoint line. The second method as of now requires the picture to be projected to 2 dimensions, but this should be easy to extend.  
**Path length
+
**[[Path length-]] If the end points are not the best fit for the merge this is when path length is considered. An example of this would be a peak in the neurite on completion the given merge. An example if given in an image in this section. This is also discussed in large gaps being that in the large gap case these type of error cause more of a problem. a sharp change in a neurite in a subsection prior to the end point would indicate this error. Merging at the sharp direction change( especially in the small gap case) can alleviate the neurite of peaks.
**Gap distance is too large
+
**[[Gap distance is too large-]] If the distance between the two points e<sub>1</sub>, e<sub>2</sub> is greater then the excepted distance for a small gap then they will not be considered. This is tested prior to computing the angular difference due to the expense of computing angles. Between this case and the angular case we have a similar metric to the cost function in "Automated Three-Dimensional Tracing of Neurons in Confocal and Brightfield Images"; however, the conditions under which we check for small gaps is when there are only two end points to be merged
 +
 
 +
**[[Consider possibility of loops]] Even though this might not be possible in the 3D case, if we were to use a 2D projection of the picture there might be a situation where multiple breaks might end in a loop. consider the cross sectioning of two neurites. [[Image:problem_graph.eps]]. A gap at anyone of the intersections could cause connection problems. This matter on the cost function this could mean a loop will form. This formation might not be correct, but I think we should at least consider it.
 +
 
 
*Another trace is a better fit (Cost Function)
 
*Another trace is a better fit (Cost Function)
 
**Smallest gap
 
**Smallest gap

Revision as of 05:58, 29 June 2009

Feature computation for Trace Editor

Feature List

Feature Description
Gap Size Minimum distance between endpoints of two traces
Angle Is 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]

Algorithms

The 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.

Proposed steps of editing
1: Merge Small Gaps
Goal: Create longest continuous trace segments by merging close endpoints
Methods: Nearest neighbors  (Closest end points), 
Rejection based on conflicts and thresholds
  • Minimal distance between end points
    • Angle between traces- Consider the direction vector for two endpoint e1, e2 in proximity( this is given by a constant); the direction vectors are d1 and d2 respectfully. Using this information we can find the angular change by projecting d1 onto d2, the angular change can be found using the error vector and the direction vectors. We can also draw a triangle using the line connecting e1 and e2, the lines through d1 and d2, and the midpoint line. The second method as of now requires the picture to be projected to 2 dimensions, but this should be easy to extend.
    • Path length- If the end points are not the best fit for the merge this is when path length is considered. An example of this would be a peak in the neurite on completion the given merge. An example if given in an image in this section. This is also discussed in large gaps being that in the large gap case these type of error cause more of a problem. a sharp change in a neurite in a subsection prior to the end point would indicate this error. Merging at the sharp direction change( especially in the small gap case) can alleviate the neurite of peaks.
    • Gap distance is too large- If the distance between the two points e1, e2 is greater then the excepted distance for a small gap then they will not be considered. This is tested prior to computing the angular difference due to the expense of computing angles. Between this case and the angular case we have a similar metric to the cost function in "Automated Three-Dimensional Tracing of Neurons in Confocal and Brightfield Images"; however, the conditions under which we check for small gaps is when there are only two end points to be merged
    • Consider possibility of loops Even though this might not be possible in the 3D case, if we were to use a 2D projection of the picture there might be a situation where multiple breaks might end in a loop. consider the cross sectioning of two neurites. File:Problem graph.eps. A gap at anyone of the intersections could cause connection problems. This matter on the cost function this could mean a loop will form. This formation might not be correct, but I think we should at least consider it.
  • Another trace is a better fit (Cost Function)
    • Smallest gap
    • Better Angular alignment
  • "Bad merge"
    • The merge causes corners
    • Needs to be smoothed
2: Interpolate Large Gaps
Goal: Connect Large gaps that step 1 cannot  simply connect by addition of a  single cell
Method: Larger gaps need new segments created, 
new Trace Bits must be added,
smoothing operator.
Example showing how Merging and branching are interconnected. The Merging that creates sharp turns needs to be smoothed. The Traces need to create a new branch point and trace bits to interpolate the original *Curve fitting to find trend of: **Direction **Curvature *Interpolation **Extend the line **Most probable vector **Avoid creating edges path of the branch.
3: Branch Points
Goal: Detect and control Branching
Method: Detect most probable intercepts, 
Determination of main branch and child,
Type of branch point
  • Distance maps
    • Nearest neighbors (traces)
    • Closest trace bits
  • Angle of intercept
  • Interpolation
4: Soma Detection
Goal: Correspond processes with a soma
Method: Segmentation of original data, 
Localize the area to attach processes to soma,
Correct direction of traces
  • Image intensity
  • Blob segmentation
  • Centroid
  • Distance map
  • Connectivity
    • Connected components
    • Localization of processes
Illustration of how the processes should be connected to a soma(shown in red).
The Dendrites are shown in blue, where the axon is shown in yellow.
5: Fragments
Goal: Removal of small traces that do not correspond to a process
Method: Small traces removed, 
Leftovers from splitting operators,
Line fragments that cannot be merged
  • Lowest percentile of length
    • Traces with no parents or children
    • Type dependent

Cite error: <ref> tags exist, but no <references/> tag was found
Personal tools