Package sc.fiji.snt.analysis.curation
Class PlausibilityCheck.BundledPaths
java.lang.Object
sc.fiji.snt.analysis.curation.PlausibilityCheck.DeepCheck
sc.fiji.snt.analysis.curation.PlausibilityCheck.BundledPaths
- Enclosing class:
PlausibilityCheck
Detects regions where two unconnected paths run parallel to
each other for an extended distance. Complementary to
PlausibilityCheck.Crossovers
(which catches brief perpendicular near-crossings -- the X-shape):
this check catches sustained parallel proximity (the ||-shape) that
CrossoverFinder's default high-angle filter intentionally
discards. Wraps BundleDetector, which is
itself a thin reuse layer over CrossoverFinder with an
inverted angle filter.
Off by default. The check serves the "is this a duplicate trace?"
curation question rather than the "did I miss a fork?" question
served by Crossovers. Bundled axons exist legitimately in
many neuroanatomies (parallel fibers, callosal projections, optic
tract), so the check will flag those as well -- it's an INFO prompt
asking the user to verify, not an assertion of error.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoubleintgetName()doubleDeclares how this check's errors propagate.measure(Collection<Path> paths) The measurement is each detected proximity-run's median angle: the histogram lets the user see how theirmaxParallelAngleDegsits in the angle distribution.scan(Collection<Path> paths) Scans a collection of paths for plausibility issues.voidsetMaxParallelAngleDeg(double v) voidsetMinRunNodes(int n) voidsetProximityUm(double um) Methods inherited from class sc.fiji.snt.analysis.curation.PlausibilityCheck.DeepCheck
isEnabled, setEnabled
-
Constructor Details
-
BundledPaths
public BundledPaths()
-
-
Method Details
-
getName
- Specified by:
getNamein classPlausibilityCheck.DeepCheck- Returns:
- a short human-readable name for this check
-
impactKind
Description copied from class:PlausibilityCheck.DeepCheckDeclares how this check's errors propagate. DefaultLOCALfor deep checks because most deep checks (radius jumps, monotonicity, signal quality) measure intrinsic per-path properties that don't propagate to descendants. Topology-class checks (e.g.,Crossovers) override toPlausibilityCheck.ImpactKind.SUBTREE.- Overrides:
impactKindin classPlausibilityCheck.DeepCheck
-
setMaxParallelAngleDeg
public void setMaxParallelAngleDeg(double v) -
getMaxParallelAngleDeg
public double getMaxParallelAngleDeg() -
setMinRunNodes
public void setMinRunNodes(int n) -
getMinRunNodes
public int getMinRunNodes() -
setProximityUm
public void setProximityUm(double um) -
getProximityUm
public double getProximityUm() -
scan
Description copied from class:PlausibilityCheck.DeepCheckScans a collection of paths for plausibility issues.- Specified by:
scanin classPlausibilityCheck.DeepCheck- Parameters:
paths- the paths to scan- Returns:
- list of warnings (empty if no issues found)
-
measure
The measurement is each detected proximity-run's median angle: the histogram lets the user see how theirmaxParallelAngleDegsits in the angle distribution. Sweep at the full 0-90° range so the histogram reflects the true distribution irrespective of the spinner value- Overrides:
measurein classPlausibilityCheck.DeepCheck- Parameters:
paths- the paths to evaluate;nullor empty yieldsPlausibilityCheck.Measurements.EMPTY.- Returns:
- a
PlausibilityCheck.Measurementsrecord; nevernull.
-