Class GrowthAnalysisResults

java.lang.Object
sc.fiji.snt.analysis.growth.GrowthAnalysisResults

public class GrowthAnalysisResults extends Object
Container class for growth analysis results from GrowthAnalyzer, serving as the primary interface for accessing growth analysis results.

Usage Example:


 GrowthAnalyzer analyzer = new GrowthAnalyzer();
 GrowthAnalysisResults results = analyzer.analyze(paths, frameInterval, "hours");

 // Access individual neurite data
 for (NeuriteGrowthData data : results.getNeuriteGrowthData().values()) {
     System.out.printf("Neurite %s: %.2f μm/h, %d phases\n",
         data.getNeuriteId(), data.getLinearGrowthRate(), data.getGrowthPhases().size());
 }

 // Get summary statistics
 GrowthSummaryStatistics summary = results.getSummaryStatistics();
 System.out.printf("Average growth rate: %.2f ± %.2f μm/h\n",
     summary.getMeanGrowthRate(), summary.getStdGrowthRate());

 // Analyze phase distribution
 Map<GrowthPhaseType, Integer> phaseDistribution = results.getPhaseDistribution();
 System.out.printf("Rapid phases: %d (%.1f%%)\n",
     phaseDistribution.get(GrowthPhaseType.RAPID),
     results.getPhasePercentage(GrowthPhaseType.RAPID));
 
See Also:
  • Constructor Details

    • GrowthAnalysisResults

      public GrowthAnalysisResults(Map<String,NeuriteGrowthData> neuriteGrowthData, double frameInterval, String timeUnits)
      Creates a new GrowthAnalysisResults container.
      Parameters:
      neuriteGrowthData - Map of neurite IDs to their growth analysis data
      frameInterval - Time interval between consecutive frames
      timeUnits - Units for time measurements
  • Method Details

    • getNeuriteGrowthData

      public Map<String,NeuriteGrowthData> getNeuriteGrowthData()
      Gets the growth analysis data for all analyzed neurites.
      Returns:
      Unmodifiable map of neurite IDs to their growth data
    • getNeuriteGrowthData

      public NeuriteGrowthData getNeuriteGrowthData(String neuriteId)
      Gets the growth analysis data for a specific neurite.
      Parameters:
      neuriteId - Identifier of the neurite
      Returns:
      NeuriteGrowthData for the specified neurite, or null if not found
    • getFrameInterval

      public double getFrameInterval()
      Gets the frame interval used in the analysis.
      Returns:
      Frame interval in time units
    • getTimeUnits

      public String getTimeUnits()
      Gets the time units used in the analysis.
      Returns:
      Time units string (e.g., "hours", "minutes")
    • getNeuriteCount

      public int getNeuriteCount()
      Gets the number of analyzed neurites.
      Returns:
      Number of neurites in the analysis
    • getTotalPhaseCount

      public int getTotalPhaseCount()
      Gets the total number of growth phases across all neurites.
      Returns:
      Total number of detected growth phases
    • getSummaryStatistics

      public GrowthAnalysisResults.GrowthSummaryStatistics getSummaryStatistics()
      Gets summary statistics for all analyzed neurites.
      Returns:
      GrowthSummaryStatistics containing population-level metrics
    • getPhaseDistribution

      public Map<GrowthAnalyzer.GrowthPhaseType,Integer> getPhaseDistribution()
      Gets the distribution of growth phase types across all neurites.
      Returns:
      Map of phase types to their occurrence counts
    • getPhasePercentage

      public double getPhasePercentage(GrowthAnalyzer.GrowthPhaseType phaseType)
      Gets the percentage of phases that are of a specific type.
      Parameters:
      phaseType - The growth phase type to query
      Returns:
      Percentage of phases of the specified type (0-100)
    • getNeuritesByPattern

      public List<String> getNeuritesByPattern(GrowthAnalysisResults.NeuriteSelectionCriterion criterion)
      Gets neurites that show a specific growth pattern or characteristic.
      Parameters:
      criterion - Filtering criterion for neurite selection
      Returns:
      List of neurite IDs matching the criterion
    • getPhaseDistributionForVisualization

      public Map<String,Double> getPhaseDistributionForVisualization()
      Creates a map suitable for generating phase distribution visualizations.
      Returns:
      Map with phase type names as keys and counts as values
    • getNeuritePhases

      public Map<String,List<GrowthAnalyzer.GrowthPhase>> getNeuritePhases()
      Creates a map of neurite phases suitable for timeline visualization.
      Returns:
      Map of neurite IDs to their growth phases