--- title: TuberVision sdk: docker app_port: 7860 pinned: false short_description: Tuber segmentation, morphometrics, and yield prediction ---
# Seeing beyond yield: distribution-aware image phenotyping reveals plot-level tuber profiles in potato breeding

Gustavo Nandi, Matheus Martins de Sousa, Pedro Cisdeli, Fernando Angelo Piotto, Joseph Coombs, David S. Douches,

[![Preprint](https://img.shields.io/badge/Preprint-coming_soon-lightgrey)](#)
--- ## Overview Companion code for the paper *"Seeing beyond yield: distribution-aware image phenotyping reveals plot-level tuber profiles in potato breeding"*. The pipeline ingests top-down RGB images of harvested tubers on a conveyor belt and runs YOLOv11-seg instance segmentation, per-tuber polygon morphometrics, USDA commercial size classification (B, A1, A2, OV), plot-level aggregation of distributional features, and yield prediction with a linear model fit under a leave-one-trial-out (LOTO) framework. Two ways to use this repository: 1. A **Gradio app** that runs the full pipeline on a single image. 2. A set of **reproducibility scripts** that re-create the per-tuber, per-plot, and per-fold modeling outputs. --- ## Installation The project uses [uv](https://docs.astral.sh/uv/) for environment and dependency management. ```bash # install uv (see https://docs.astral.sh/uv/getting-started/installation/) curl -LsSf https://astral.sh/uv/install.sh | sh # clone and enter the repo git clone potatopheno cd potatopheno # create the project venv and install the core dependencies uv sync # add the optional demo deps (gradio) when running the app uv sync --extra app ``` All scripts are launched with `uv run python