DicotPipeline¶
Pipeline for analyzing dicot plants with primary and lateral roots.
Overview¶
DicotPipeline is designed for dicot species (e.g., soy, canola, arabidopsis) that have a single primary root with branching lateral roots.
Root types required:
- Primary root (1 instance)
- Lateral roots (multiple instances)
Computed traits: 40+ morphological measurements
Quick Start¶
import sleap_roots as sr
# Load SLEAP predictions
series = sr.Series.load(
series_name="919QDUH",
h5_path="919QDUH.h5",
primary_path="919QDUH.primary.slp",
lateral_path="919QDUH.lateral.slp"
)
# Create pipeline and compute traits
pipeline = sr.DicotPipeline()
traits = pipeline.compute_plant_traits(series, write_csv=True)
print(traits[['frame_idx', 'primary_length', 'lateral_count']].head())
Trait Categories¶
Length Traits¶
primary_length– Total length of primary rootlateral_length_total– Sum of all lateral root lengthslateral_length_avg– Average lateral root lengthlateral_length_max– Maximum lateral root lengthlateral_length_min– Minimum lateral root length
Count Traits¶
lateral_count– Number of lateral roots detectedprimary_tip_count– Number of primary root tips
Angle Traits¶
primary_angle– Angle of primary root from verticallateral_angle_avg– Average emergence angle of lateralslateral_angle_min– Minimum lateral emergence anglelateral_angle_max– Maximum lateral emergence angle
Topology Traits¶
convex_hull_area– Area of convex hull around all rootsnetwork_distribution_ratio– Spatial distribution metricnetwork_solidity– Compactness of root network
Data Requirements¶
SLEAP Skeleton¶
Primary root skeleton:
Lateral root skeleton (multiple instances):
File Organization¶
Single time-point:
plant_name.primary.slp # Primary root predictions
plant_name.lateral.slp # Lateral root predictions
plant_name.h5 # Optional: video file
Example Datasets¶
The test data includes dicot examples:
- Canola (7 days old):
tests/data/canola_7do/ - Soy (6 days old):
tests/data/soy_6do/
Best Practices¶
- Ensure lateral roots are tracked separately from primary
- Label lateral root bases near primary root
- Use consistent skeleton structure across plants
- Verify SLEAP predictions before batch processing
See Also¶
- MultipleDicotPipeline – For multi-plant setups
- Trait Reference – Full trait descriptions
- API Reference – Detailed class documentation