sleap-roots
Analysis tools for SLEAP-based plant root phenotyping.
📦 Installation
pip install sleap-roots
If you are using conda (recommended):
conda create -n sleap-roots python=3.11
conda activate sleap-roots
pip install sleap-roots
🌱 Usage
Trait pipelines supported:
DicotPipeline– Primary + lateral roots (e.g. soy, canola)YoungerMonocotPipeline– Primary + crown roots (e.g. early rice)OlderMonocotPipeline– Crown roots only (e.g. later rice)PrimaryRootPipeline– Primary root onlyLateralRootPipeline– Lateral roots onlyMultipleDicotPipeline– Multi-plant dicot setup (batch from a single image)
🔁 Example: Dicot Pipeline
1. Compute traits for a single plant
import sleap_roots as sr
series = sr.Series.load(
series_name="919QDUH",
h5_path="tests/data/canola_7do/919QDUH.h5",
primary_path="tests/data/canola_7do/919QDUH.primary.slp",
lateral_path="tests/data/canola_7do/919QDUH.lateral.slp"
)
pipeline = sr.DicotPipeline()
traits = pipeline.compute_plant_traits(series, write_csv=True)
2. Compute traits for a batch
paths = sr.find_all_slp_paths("tests/data/soy_6do")
plants = sr.load_series_from_slps(paths, h5s=True)
pipeline = sr.DicotPipeline()
batch_df = pipeline.compute_batch_traits(plants, write_csv=True)
3. Use a single trait utility
from sleap_roots.lengths import get_root_lengths
pts = series.get_primary_points(frame_idx=0)
lengths = get_root_lengths(pts)
📓 Notebooks & Tutorials
Explore tutorials under notebooks/:
cd notebooks
jupyter lab
You can use the test data in tests/data or replace it with your own.
🧪 Development
- Clone the repository:
git clone https://github.com/talmolab/sleap-roots && cd sleap-roots
- Create the conda environment:
conda env create -f environment.yml
conda activate sleap-roots
This includes dev dependencies and installs the package in editable mode (--editable=.[dev]).
- Run tests:
pytest tests
- Remove the environment (optional):
conda env remove -n sleap-roots
📖 Trait Reference
See the latest trait documentation here:
👉 HackMD: sleap-roots Trait Docs
🤝 Acknowledgments
Created by the Talmo Lab and Busch Lab at the Salk Institute, as part of the Harnessing Plants Initiative.
Contributors
- Elizabeth Berrigan
- Lin Wang
- Andrew O'Connor
- Talmo Pereira
Citation
E.M. Berrigan et al., "Fast and Efficient Root Phenotyping via Pose Estimation", Plant Phenomics.
DOI: 10.34133/plantphenomics.0175
Metadata
Release files for sleap-roots 0.1.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sleap_roots-0.1.4-py3-none-any.whl | Python 3 | none | any | Details for sleap_roots-0.1.4-py3-none-any.whl |
Release files / sleap_roots-0.1.4-py3-none-any.whl
| Download URL | sleap_roots-0.1.4-py3-none-any.whl |
|---|---|
| Size | 45.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e51dc83cb879d2563dd8adbda58890e154c5fd6290dc21e8cfa3c51301a76efa
|
|
BLAKE2b-256 checksum How to use checksums |
274c70e936e37d28fb9222bb61e88410fa76b08f91d71f246686caaf0feeb973
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.12
|
Security for sleap-roots 0.1.4
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.