PhytoScan3D: an open-source Python pipeline for batch extraction of phenotypic traits from 3D point cloud files generated by multispectral plant phenotyping sensors
Kovi, M. R.; Leite, A. C.; Lillemo, M.
Show abstract
High-throughput 3D multispectral plant phenotyping platforms generate large volumes of point cloud files, but trait extraction is typically performed by sensor-bundled software whose internal algorithms are not publicly documented, which limits reproducibility and integration into custom research pipelines. Here we present PhytoScan3D, an open-source Python pipeline that extracts morphological and spectral phenotypic traits, spanning plant height, 3D leaf area, digital biomass, convex hull volume, leaf inclination, canopy geometry, NDVI, hue, and vegetation indices, from both PLY and PCD point cloud files generated by Phenospex PlantEye F500 and F600 sensors, and is portable to point clouds from any acquisition platform. PhytoScan3D was validated against HortControl (PhenoSpex) ground-truth measurements on 936 barley (Hordeum vulgare) pot-date observations from the growth chamber trial (20 Norwegian cultivars, 12 scan dates, Septemenr 2025 to January 2026), achieving Pearson r = 0.913 to 0.999 and ratio approximately 1.000 for Plant Height Max, 3D Leaf Area, and NDVI Average. A vectorised mesh face filtering implementation achieved a 120x speed improvement, increasing valid 3D Leaf Area coverage from 0.6% to 100% of files. Cross-format validation on 223 PlantEye F600 PCD files from the ICRISAT LeasyScan platform (four legume species: mungbean, cowpea, lima bean, and common bean; 1,523 plant observations) yielded r = 0.884 against independent cuboid annotation heights. The systematic positive bias (mean +27.2 mm, ratio = 1.44) is attributable to PhytoScan3D computing height from raw point cloud Z-range while cuboid annotations are fitted to segmented plant points only, with the offset consistent across all four species (per-species r = 0.880 to 0.888). Cross-dataset processing of 1,180 PLY files from the Crops3D benchmark (8 species, 3 acquisition methods) confirmed zero extraction errors. PhytoScan3D is available at "github.com/kovimallik/phytoscan3d" under the MIT licence and processes 1,651 files across three independent datasets in under 12 minutes on GPU hardware. HighlightsO_LIPhytoScan3D is the first open-source Python pipeline for batch extraction of phenotypic traits, including plant height, 3D leaf area, digital biomass, convex hull volume, leaf inclination, NDVI, and excess green index, from both PLY and PCD point cloud files generated by Phenospex PlantEye sensors. C_LIO_LIPrimary validation against HortControl ground-truth measurements on 936 barley pot-date observations achieved Pearson r = 0.913-0.999 for Plant Height Max, 3D Leaf Area, and NDVI Average. C_LIO_LIA 120x computational speedup in mesh face filtering (vectorised NumPy vs. set-based loop) increased the coverage of valid 3D Leaf Area extraction from 0.6% to 100% of files. C_LIO_LICross-format validation on 223 PlantEye F600 PCD files from ICRISAT LeasyScan (four legume species, 1,523 plants) achieved r = 0.884 against independent cuboid annotation heights. The systematic +27.2 mm bias reflects a methodological difference (raw Z-range vs. soil-segmented annotations), is consistent and predictable across all four species (per-species r = 0.880-0.888), and is correctable by a single linear factor. C_LIO_LICross-dataset processing of 1,180 PLY files from the Crops3D benchmark (8 species, 3 acquisition methods) confirmed zero extraction errors. C_LIO_LISignificant scan-unit variation was detected for Plant Height Max (F = 5.71, p < 0.001, 2 = 0.138) and Canopy Width X (F = 6.32, p < 0.001, 2 = 0.150), demonstrating the biological utility of extracted traits. C_LI
Matching journals
The top 6 journals account for 50% of the predicted probability mass.