Package sc.fiji.snt.analysis.growth
Class NeuriteGrowthData
java.lang.Object
sc.fiji.snt.analysis.growth.NeuriteGrowthData
Data container for growth analysis results of a single neurite over time.
This class stores all analysis results for an individual neurite, including time series data, linear growth statistics, detected growth phases, and retraction/elongation events. It provides convenient access methods and derived statistics for measurements of neurite growth behavior.
Key Data Categories:
- Time Series: Raw measurements at each time point
- Linear Analysis: Overall growth rate, R², and regression statistics
- Phase Analysis: Detected growth phases with classifications
- Event Analysis: Retraction and elongation events with statistics
- Derived Metrics: Net growth
Usage Example:
// Access from analysis results
GrowthAnalysisResults results = analyzer.analyze(paths, frameInterval, "hours");
NeuriteGrowthData neurite1 = results.getNeuriteGrowthData("neurite#1");
// Basic growth metrics
System.out.printf("Growth rate: %.2f μm/h (R² = %.3f)\n",
neurite1.getLinearGrowthRate(), neurite1.getLinearRSquared());
// Phase analysis
List<GrowthPhase> phases = neurite1.getGrowthPhases();
System.out.printf("Detected %d growth phases:\n", phases.size());
for (GrowthPhase phase : phases) {
System.out.printf(" %s: %.1f h duration, %.2f μm/h rate\n",
phase.type, phase.duration, phase.averageRate);
}
// Event analysis
if (neurite1.hasRetractionEvents()) {
System.out.printf("Retraction events: %d (total: %.1f μm)\n",
neurite1.getRetractionEvents().size(), neurite1.getTotalRetractionLength());
}
}- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionNeuriteGrowthData(String neuriteId) Creates a new NeuriteGrowthData container for the specified neurite. -
Method Summary
Modifier and TypeMethodDescriptionbooleandoubleGets the average rate of elongation events.doubleGets the average growth rate (total growth / total time).doubleGets the average rate of retraction events.Gets the detected elongation events for this neurite.doubleGets the final length of the neurite.Gets the detected growth phases for this neurite.doubleGets the initial length of the neurite.doubleGets the linear growth rate from regression analysis.doubleGets the y-intercept from linear regression.doubleGets the R-squared value from linear regression.getLongestPhase(GrowthAnalyzer.GrowthPhaseType phaseType) Gets the longest phase of a specific type.doubleGets the net growth accounting for retractions.Gets the unique identifier for this neurite.doublegetPhaseDuration(GrowthAnalyzer.GrowthPhaseType phaseType) Gets the total duration of phases of a specific type.doublegetPhasePercentage(GrowthAnalyzer.GrowthPhaseType phaseType, double frameInterval) Gets the percentage of time spent in a specific phase type.Gets the detected retraction events for this neurite.intGets the number of unique time points in the series.intGets the total number of time point entries in the series (including duplicates).Gets the time series data points for this neurite.doublegetTotalDuration(double frameInterval) Gets the total duration of the time series.doubleGets the total length gained from elongation events.doubleGets the total growth (final length - initial length).doubleGets the total length lost to retraction events.booleanChecks if this neurite has elongation events.inthashCode()booleanhasPhaseType(GrowthAnalyzer.GrowthPhaseType phaseType) Checks if this neurite has any phases of the specified type.booleanChecks if this neurite has retraction events.toString()
-
Constructor Details
-
NeuriteGrowthData
Creates a new NeuriteGrowthData container for the specified neurite.- Parameters:
neuriteId- Unique identifier for this neurite
-
-
Method Details
-
getNeuriteId
Gets the unique identifier for this neurite.- Returns:
- the neurite identifier
-
getTimePoints
Gets the time series data points for this neurite.- Returns:
- Unmodifiable list of time points
-
getGrowthPhases
Gets the detected growth phases for this neurite.- Returns:
- Unmodifiable list of growth phases
-
getRetractionEvents
Gets the detected retraction events for this neurite.- Returns:
- Unmodifiable list of retraction events
-
getElongationEvents
Gets the detected elongation events for this neurite.- Returns:
- Unmodifiable list of elongation events
-
getLinearGrowthRate
public double getLinearGrowthRate()Gets the linear growth rate from regression analysis.- Returns:
- Growth rate in length units per time unit
-
getLinearRSquared
public double getLinearRSquared()Gets the R-squared value from linear regression.- Returns:
- R-squared value (0-1, higher indicates better linear fit)
-
getLinearIntercept
public double getLinearIntercept()Gets the y-intercept from linear regression.- Returns:
- Y-intercept in length units
-
getTotalGrowth
public double getTotalGrowth()Gets the total growth (final length - initial length).- Returns:
- Total growth in length units
-
getAverageGrowthRate
public double getAverageGrowthRate()Gets the average growth rate (total growth / total time).- Returns:
- Average growth rate in length units per time unit
-
getTotalRetractionLength
public double getTotalRetractionLength()Gets the total length lost to retraction events.- Returns:
- Total retraction length in length units
-
getAverageRetractionRate
public double getAverageRetractionRate()Gets the average rate of retraction events.- Returns:
- Average retraction rate in length units per time unit
-
getTotalElongationLength
public double getTotalElongationLength()Gets the total length gained from elongation events.- Returns:
- Total elongation length in length units
-
getAverageElongationRate
public double getAverageElongationRate()Gets the average rate of elongation events.- Returns:
- Average elongation rate in length units per time unit
-
getNetGrowth
public double getNetGrowth()Gets the net growth accounting for retractions.- Returns:
- Net growth (total growth - total retraction length)
-
getInitialLength
public double getInitialLength()Gets the initial length of the neurite.- Returns:
- Initial length, i.e., at the first time point
-
getFinalLength
public double getFinalLength()Gets the final length of the neurite.- Returns:
- Final length, i.e., at the last time point
-
getTotalDuration
public double getTotalDuration(double frameInterval) Gets the total duration of the time series.- Parameters:
frameInterval- Time interval between frames- Returns:
- Total duration in time units
-
getTimePointCount
public int getTimePointCount()Gets the number of unique time points in the series. This counts distinct frame numbers, so duplicate time points for the same frame are counted only once.- Returns:
- Number of unique time points
-
getTimePointEntryCount
public int getTimePointEntryCount()Gets the total number of time point entries in the series (including duplicates). This returns the raw size of the time points list.- Returns:
- Total number of time point entries
-
getPhaseDuration
Gets the total duration of phases of a specific type.- Parameters:
phaseType- The growth phase type- Returns:
- Total duration of phases of the specified type
-
getPhasePercentage
Gets the percentage of time spent in a specific phase type.- Parameters:
phaseType- The growth phase typeframeInterval- Time interval between frames- Returns:
- Percentage of time in the specified phase type (0-100)
-
getLongestPhase
public Optional<GrowthAnalyzer.GrowthPhase> getLongestPhase(GrowthAnalyzer.GrowthPhaseType phaseType) Gets the longest phase of a specific type.- Parameters:
phaseType- The growth phase type- Returns:
- Optional containing the longest phase of the specified type
-
hasPhaseType
Checks if this neurite has any phases of the specified type.- Parameters:
phaseType- The growth phase type to check- Returns:
- True if at least one phase of the specified type exists
-
hasRetractionEvents
public boolean hasRetractionEvents()Checks if this neurite has retraction events.- Returns:
- True if any retraction events were detected
-
hasElongationEvents
public boolean hasElongationEvents()Checks if this neurite has elongation events.- Returns:
- True if any elongation events were detected
-
toString
-
equals
-
hashCode
public int hashCode()
-