Root & hypocotyl phenotyping

Plant phenotyping, tracked plant by plant.

A GUI pipeline for segmenting and measuring root and hypocotyl growth from Arabidopsis timelapse plates: image alignment, nnU-Net segmentation, and per-plant growth curves, end to end.

Fork of ngaggion/ChronoRoot2 · maintained at calvinyong1/ArabidopsisAnalysisV2

plate3 / plant_2 MainRootLength HypocotylLength
05101520 04896144 time (h) length (mm)

The pipeline

Three GUI Apps, Each With Its Own run.py

  1. Aligns raw plate timelapses frame to frame before segmentation. Falls back to an identity transform when a reference-frame marker can't be found, so one bad frame doesn't block the whole plate.

  2. Runs nnU-Net inference over aligned frames (root, lateral root, hypocotyl, seed, leaf, and petiole classes) with GPU detection and a CPU fallback.

  3. Turns segmentation masks into per-plant growth curves (main/lateral root length, lateral count, hypocotyl length) and generates the final report.

Changes from ChronoRoot2

What's New in This Fork

Read all improvements →
Model

Accurate Segmentation of Elongated Hypocotyls

The original model often mislabeled long hypocotyls, cutting them short and throwing off their length. The retrained model segments them correctly.

macOS

Native macOS App

One installer sets up everything and adds clickable apps to Applications. On Apple Silicon, segmentation runs on the Mac's graphics chip. The original supported Macs only through Docker.

Alignment

New imageAligner App

Corrects small plate shifts between timelapse photos using printed markers, before anything is measured. A frame without a detectable marker is flagged instead of stopping the run.

Measurements

Fewer Silent Measurement Errors

Hypocotyls are no longer borrowed from neighboring plants or zeroed before the root is found, and growth charts now work at any photo interval.