CellProfiler/CellProfiler — Issue #207: JIRA [IMG-570] Account for loops in MeasureNeurons
Author: thouis
Created: 2011-11-23 20:50:38+00:00
State: open

MeasureNeurons draws an outline around the soma and neurites extend out from this soma. It counts branchpoints which it now equates to numbers of branches coming out of neurite trunks. However, it also counts places where two neurites cross as a branchpoint. These types of branchpoints form a loop consisting of part of the outline and the two trunks.
The MeasureNeurons module should not count these branchpoints. The Euler number of a skeleton with no crossing neurites is zero (one object minus the loop formed by the soma outline). Crossing neurites form additional loops which result in negative Euler numbers. Thus, the branchpoint count can be improved by subtracting the Euler number of the labeled skeleton.
Currently, the code does not create a loop if two soma touch (it should do an erosion of the label matrix rather than the mask of the label matrix in order to construct the outline). This has to be corrected in order for the scheme to work.
The scheme will still not be perfect since neurites emerging from separate soma can cross to form fake branchpoints. There is a loop, but it is shared by the neurites and it requires a more difficult analysis to assign the loop effect to one soma or the other.

Original reporter: leek
Jira link: https://jira.broadinstitute.org/browse/IMG-570
Assignee: leek