Welcome to Rootify, an AI-powered Streamlit app designed to support plant scientists and researchers in analyzing root structures through image processing. This guide explains how to use the app for:
-
🧠 Root mask generation
-
📍 Root tip detection
-
📏 Root length measurement
Launch the Streamlit app in your browser. You'll be greeted with the Rootify welcome screen and feature overview.
-
Single Image – Analyze one image at a time.
-
Folder of Images – Analyze multiple images in a batch.
-
If in Single Image mode: click to upload one .jpg, .jpeg, or .png file.
-
If in Folder of Images mode: upload multiple image files at once.
-
A preview of each image will appear.
-
The app will automatically start processing each image.
Please ensure that the uploaded images meet the following criteria:
-
The image contains a Petri dish with clearly visible edges, allowing clear separation from the background.
-
The Petri dish includes no more than five plants.
-
All plants must be Arabidopsis thaliana.
-
The roots must not be overlapping or crossing each other.
-
Generates a root mask using a deep learning model.
-
Extracts root tip coordinates.
-
Calculates root lengths (based on the given pixel-to-mm conversion).
-
🔬 Loading spinner during processing.
-
✅ Success messages when steps complete.
-
🖼️ Mask: See and download the predicted root mask.
-
📍 Tip Coordinates: Listed with labels (e.g., Tip 1: [x, y]).
-
📏 Root Lengths: Displayed in millimeters (e.g., Root 1: 25 mm).
-
All Predicted Masks (ZIP)
- Includes individual *_mask.png files for each uploaded image.
-
CSV Summary File
-
Contains:
-
image name
-
root_lengths_mm: Comma-separated lengths
-
tip_coordinates: Semicolon-separated coordinate lists
-
-
-
Clear uploaded images
-
Reset session state
-
Restart from the input selection
-
❌ Invalid image files are rejected with a clear message.
-
🛠️ Unexpected model response formats trigger a warning.
-
📉 No roots detected will be noted per root index.
-
Accepted file types: .jpg, .jpeg, .png
-
Backend dependencies: Custom APIs exposed in deployment.api.main:
-
predict_mask_api
-
extract_root_tips
-
calculate_root_lengths
-