Package sc.fiji.snt.analysis.curation
Class PlausibilityCheck.IntensityValley
java.lang.Object
sc.fiji.snt.analysis.curation.PlausibilityCheck.DeepCheck
sc.fiji.snt.analysis.curation.PlausibilityCheck.IntensityValley
- Enclosing class:
PlausibilityCheck
Flags localized intensity valleys along a path's intensity profile:
discrete dips of one or a few nodes whose intensity is markedly below
the surrounding peaks. Useful for catching nodes that pass through
ambiguous regions (low local signal flanked by bright signal on both
sides) where the trace's exact position is suspect.
Detection mirrors the inverted form of
scipy.signal.find_peaks(prominence=...): for each candidate
node, the prominence is computed as
(min(leftMax, rightMax) - intensity[i]) / min(leftMax, rightMax)
with the left/right maxima taken over a half-window around the
candidate. Two-sided constraint (must be strictly below both window
maxima) prevents flagging the start or end of a path's intensity
profile. Adjacent candidates are merged into a single valley centered
on the deepest node.
Off by default; intended to be enabled only on images where the pattern is meaningful (e.g., en-passant axons crossing dim regions).
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiondoublegetName()booleanhasImage()Declares how this check's errors propagate.measure(Collection<Path> paths) Computes the full distribution of this check's metric acrosspaths, without applying the warning threshold.scan(Collection<Path> paths) Scans a collection of paths for plausibility issues.voidsetImage(net.imglib2.RandomAccessibleInterval<? extends net.imglib2.type.numeric.RealType<?>> image) voidsetMinProminence(double v) Methods inherited from class sc.fiji.snt.analysis.curation.PlausibilityCheck.DeepCheck
isEnabled, setEnabled
-
Constructor Details
-
IntensityValley
public IntensityValley()
-
-
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
-
setMinProminence
public void setMinProminence(double v) -
getMinProminence
public double getMinProminence() -
setImage
public void setImage(net.imglib2.RandomAccessibleInterval<? extends net.imglib2.type.numeric.RealType<?>> image) -
hasImage
public boolean hasImage() -
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
Description copied from class:PlausibilityCheck.DeepCheckComputes the full distribution of this check's metric acrosspaths, without applying the warning threshold. Default implementation returnsPlausibilityCheck.Measurements.EMPTY; subclasses override to enable per-check histogram popups in the Curation Assistant.- Overrides:
measurein classPlausibilityCheck.DeepCheck- Parameters:
paths- the paths to evaluate;nullor empty yieldsPlausibilityCheck.Measurements.EMPTY.- Returns:
- a
PlausibilityCheck.Measurementsrecord; nevernull.
-