PlantCV v4:一款用于高通量植物表型分析的图像处理软件

时间:2026年2月18日
来源:The Plant Phenome Journal

编辑推荐:

语 这篇综述系统介绍了开源植物表型分析软件 PlantCV 的最新版本 v4。新版本显著提升了软件的可用性与功能,不仅简化了安装流程、统一了输入输出规范并引入了自动化结果记录框架,还支持荧光、热成像和高光谱等新型图像数据的分析。其新增的形态学子包,首次实现了对叶片角度等复杂形态特征的自动化、高通量测量。这些进步极大地降低了植物图像分析的入门门槛,并为植物科学研究提供了更强大、灵活的工具集,推动了高通量表型组学领域的发展。

广告
   X   

文章内容归纳总结
摘要
PlantCV 是一个面向植物科学领域的开源 Python 项目,旨在开发工具以解决一系列基于图像的植物表型组学问题。该软件已使用超过十年,用于从图像数据中自动化收集性状数据。其最新版本 PlantCV v4 通过广泛的使用案例教程和简化的安装过程,继续为没有深厚编程经验的用户降低使用门槛。除了提升可用性,本文还记录了自 PlantCV v2 发布以来新增的功能,包括支持更多图像类型,如荧光、热成像和高光谱数据。最后,本文描述了一个专注于叶片角度等形态性状测量的新子包的开发,并展示了其相较于更传统的手动数据收集方法的实用性。
1. 引言
表型组学,特别是旨在快速或简便估算性状或其替代指标的高通量方法,已成为植物科学中一个快速扩展且高度跨学科的领域。图像分析作为一种表型分析策略已获得关注,因为它有潜力快速、廉价地促进许多性状测量。虽然图像分析方法通常具有跨领域的通用性,但目标测量是领域特定的,因此需要针对植物科学领域的特定方法。像 OpenCV 和 scikit-image 这样灵活性高的图像分析工具,对于数据科学专业知识较少的新手用户来说可能具有挑战性。
PlantCV 是专门为从植物图像中提取数量性状数据而开发的开源软件包。PlantCV 项目的愿景是开发模块化且可重复使用的表型分析工具,以便轻松组合以构建灵活的工作流程,快速从图像和传感器中提取生物学相关数据。除了提供持续、功能性工具外,PlantCV 项目还致力于使表型分析工具能够被数据科学和生物信息学背景各异的研究人员使用。第一个版本于2015年发布,此后支持了广泛的应用案例。下一个主要版本 PlantCV v2.0 侧重于开发增加 PlantCV 功能的模块,包括一个朴素贝叶斯机器学习分类器,该分类器已被用于生物研究中量化由非生物和生物胁迫引起的植物损伤。
PlantCV 通过提供灵活、模块化的功能来支持分割和测量,已成功降低了从植物图像中提取生物学意义性状的门槛。然而,从 RGB 图像中可能测量的性状类型限制了 PlantCV 图像分析结果的应用。当研究胁迫耐受性时,不同处理之间整体植物大小、颜色和叶片形状测量的差异可能描述了对所施胁迫的响应,但可能无法提供响应机制的信息。为了更精确地描述植物颜色,可能需要比三个波长更多的成像。包含多达数百个波长信息的多元或高光谱图像已被用于计算能够预测生物和非生物胁迫以及生化性状的光谱指数。这些图像在离散测量的波长数量上有所不同,尽管 PlantCV 具有灵活性,但将其用于下游分析在过去仍是一个挑战。
本文报告了下一个主要版本 PlantCV v4,其中包括从 RGB 和灰度数据中提取额外性状的能力,以及分析新数据类型的函数。例如,PlantCV 以前无法轻松测量单个器官(如叶片和茎)的形态特征,如长度、曲率、角度和面积,现在通过新增的形态学子包成为可能。我们还添加了模块以支持额外的成像模式,如热成像、荧光和高光谱成像。
2. 材料与方法
2.1 植物生长与成像
水稻图像数据先前已发表,包括详细方法。本文使用了播种后14天植物的图像子集来展示 PlantCV v4 形态学子包的实用性。
2.2 颜色校正
图像颜色校正使用 Macbeth ColorChecker 色卡完成。PlantCV v4 可以自动检测采用标准 MacBeth ColorChecker 布局的色卡。
2.3 使用 ImageJ 进行真实叶片插入角估计
我们使用 ImageJ 为水稻叶片插入角收集了手动数字测量值。使用角度工具,我们在植物茎秆上点击叶片连接茎秆的点以及叶片上叶片尚未开始弯曲的点,以捕获插入角而非叶片直立度。
2.4 使用 PlantCV 进行形态学测量
从水稻植物图像开始,我们使用 CMYK 颜色空间中的“青色”通道将图像转换为灰度,然后根据像素强度进行阈值分割以将植物与背景分开。使用感兴趣区域,我们进一步将植物与花盆、木桩和其他背景特征分离。一旦提取出分割植物的清洁二值掩膜,就使用骨架化方法将掩膜细化至单个像素厚度。然后,我们将骨架段分类为叶片和茎秆。最后,通过计算茎秆与每个叶片段的前100个像素之间的角度来提取叶片插入角。
2.5 高光谱图像数据
PlantCV 使用了一系列相机传感器的多元和高光谱图像数据进行了测试。PlantCV 读取以环境可视化图像和 Esri ASCII 格式存储的高光谱栅格数据和元数据。
2.6 热图像数据
PlantCV 使用 Teledyne FLIR LLC T630sc 相机的热图像数据进行了测试。PlantCV 使用 flyr Python 包读取 FLIR 热数据。
3. 结果与讨论
从 PlantCV v2 到 PlantCV v4 对其基础设施所做的更改改善了软件的可持续性。PlantCV 的开发包括社区贡献,并通过 GitHub Actions 使用自动质量控制方法。所有新贡献都需要文档记录,这使得跟踪稳定版本发布的进展变得简单。PlantCV 用户可以期待以各种形式获得支持。在这里,我们描述了扩展可使用 PlantCV 受益的研究类型的具体软件改进,以及对现有工作流策略兼容的数据类型的扩展。
3.1 提升的可用性
3.1.1 软件安装与维护
PlantCV v4 添加了定期发布的稳定包,可以从 PyPI 或 conda-forge 安装,并自动安装依赖项。通过提供稳定、跨平台的版本,安装过程得以简化。
3.1.2 输入一致性
为了使 PlantCV v4 与其他软件包更具互操作性并保持内部一致性,我们标准化了函数输入关键字的词汇表,为用户提供关于期望输入数据类型即时指示。除了在线文档,每个函数现在都有内置文档。
3.1.3 输出自动化
在 PlantCV v2 中,分析函数将观察结果返回给用户,用户需要编写代码将结果保存到临时文件中,然后再加载到 SQLite 关系数据库中。在 PlantCV v4 中,所有收集观察结果的分析函数现在都利用背景输出记录器框架自动整理工作流结果。
3.1.4 用于构建工作流的可视化
在 PlantCV v4 中添加了可视化功能,允许用户查看并就参数组合做出数据驱动的决策。例如,所有可用的颜色空间通道可以在单个图中可视化,以观察 RGB 图像转换为 HSV、LAB 和 CMYK 颜色空间的情况。同样,为了更好选择二值阈值化的截止值,添加了直方图可视化函数。
3.1.5 计算改进
进行了计算改进以提高几个典型工作流性能瓶颈的 PlantCV 方法性能。例如,当使用 ROI 过滤二值掩膜时,新的快速过滤方法比之前的方法快30倍。PlantCV v2 中引入的朴素贝叶斯分类器现在快了约5倍。PlantCV v2 的并行化框架仅限于在单个多核机器上计算。在 PlantCV v4 中,我们添加了一个基于 Dask 包的新框架,现在可以通过在集群管理的多个机器上分布工作负载来提高分析吞吐量。
3.2 提高工作流灵活性的工具
3.2.1 颜色校正
成像或成像环境的变化可能导致图像间的变异性,从而影响下游图像处理。为了在 PlantCV v4 中标准化数据集内的图像颜色配置文件,我们添加了一个颜色校正模块。包含每张图像参考色卡的数据集可以使用参考颜色值或参考图像进行校正。为了识别和标记每张图像中的单个色块,我们在 PlantCV v4 中添加了一种算法来自动检测色卡。
3.2.2 新的感兴趣区域方法
在 v4 之前,指定 ROI 的选项仅限于圆形、椭圆形和矩形。在 PlantCV v4 中,我们添加了一种自定义 ROI 方法,允许用户通过提供围绕对象的坐标列表来定义自定义多边形。增加目标对象选择的灵活性可以简化工作流。在先前版本的 PlantCV 中,分析图像中的多个对象需要编写自定义循环来迭代一组 ROI。在 PlantCV v4 中,多个 ROI 可用于创建唯一标识每个对象的标记掩膜。所有测量大小、形状、颜色、光谱等的分析模块都被重构为接受标记掩膜,并在无需额外用户编码的情况下自动测量多个单独对象。在受控植物生长环境中,基于网格的实验布局很常见。在 PlantCV v4 中,我们简化了定义多个 ROI 的过程,添加了自动定义 ROI 网格的工具。
3.3 输入数据类型的扩展
3.3.1 用于光合性状的荧光成像
植物适应性性状与通过荧光成像计算的光合指数密切相关。尽管先前版本的 PlantCV 包含分析荧光成像数据的工具,但 PlantCV v4 简化了组合计算光合测量所需多个图像帧的过程。PlantCV 现在读取 PhenoVation B.V. 仪器的原始二进制图像文件和元数据,并将叶绿素荧光帧组合成时间序列数据立方体。更新的分析函数利用多图像数据立方体来计算 Fv/Fm、NPQ 以及叶绿素指数和花青素指数等光谱指数。
3.3.2 高光谱成像与计算指数
高光谱成像已被用于估算植物表型,如生物量、产量、胁迫响应和病害状态。在 PlantCV v4 中,我们添加了函数来读取和存储高光谱数据,以及校准和计算一系列光谱指数。可以从可用可见光谱波段创建伪 RGB 图像。从高光谱图像数据中提取具有生物学意义的植物性状的一种方法涉及特定波长值的数学组合,以产生已知能预测植物健康各个方面的光谱指数。在校准和分割感兴趣对象后,用户可以可视化特定波长的直方图,计算预定义的光谱指数,并输出平均反射率、中位数和标准差等反射率指标。这些步骤的功能类似于先前可用于灰度和 RGB 图像的分析函数。
3.3.3 热成像
植物生物学家对热成像感兴趣,以测量叶片和其他器官的温度,这可能与空气温度有很大差异。PlantCV v4 可以直接从 Teledyne FLIR 热相机拍摄的图像中读取温度值。对于感兴趣对象,可以分析温度值,PlantCV 记录平均温度和中位数温度以及与其他数据类型典型分析相匹配的值直方图。一些相机同时收集热图像和 RGB 图像。使用 RGB 图像分割植物在计算上可能更容易,但像 RGB 和热传感器这样的双模态相机通常具有不同的分辨率和视角,使得来自 RGB 图像的标记掩膜无法直接应用于热图像。为了能够同时使用 RGB 和热数据进行分割,我们在 PlantCV v4 中添加了透视变换功能,以使用投影变换对齐多幅图像。
3.4 额外的对象分割方法
3.4.1 二维分割
典型的植物图像二值分割工作流将 RGB 图像转换为感知上更直观的颜色空间,然后选择一个能最大化植物和背景像素差异的通道,最后在灰度值上设置阈值。这种方法在灰度值大致呈双峰分布的情况下效果很好,但受到限制,因为只能使用单个颜色通道的信息。为了提高分割效率,我们向 PlantCV v4 添加了一个双通道分割工具。
3.4.2 K 均值聚类
机器学习分类器已成功用于图像分析中,使用颜色值对单个像素进行分类,从而将感兴趣对象与背景分离。PlantCV v2 引入了使用朴素贝叶斯分类器的分割,这是一种监督机器学习模型,要求用户基于分配给每个感兴趣类别的像素来训练模型。在 v4 中,我们添加了一种无监督机器学习分割方法,使用小批量 K 均值聚类算法。我们的方法应用高斯模糊,并使用 scikit-learn 提取每个像素周围的邻域。然后使用小批量 K 均值方法来拟合聚类模型。
3.4.3 分割图像序列
一个常见的图像分析挑战是如果植物相互接触或重叠,则分割图像中的单个植物。为了解决这个问题,我们引入了一种分水岭分割方法,在空间和时间维度上传播单个植物标签。
3.5 用于对象形状额外测量的形态学子包
叶片角度是谷类作物育种和改良的目标,因为它极大地影响产量和植物密度耐受性,但手动测量非常耗时。在 PlantCV v4 中,我们添加了一个模块化函数子包来测量许多额外的形态性状。这些工具可用于对叶片、茎、下胚轴和根进行表型分析。利用这些函数,用户可以将二值掩膜细化成形态骨架,识别这些骨架的尖端和分支点,将骨架分解成段,对段进行分类,并填充它们以创建整个植物或器官的分割版本。还有其他工具旨在测量类似的性状。PlantCV 提供了一个开源的、基于 Python 的选项来提取叶片角度和其他形态测量值,无需训练。
我们将 scikit-image 骨架化函数和一种描述的植物架构确定算法结合起来用于测量玉米叶片角度。然而,我们保留了段在图像数据数组中的单位和位置,减去分支点以创建植物骨架的离散段。逻辑相似,但 PlantCV v4 子包使用与每个段对应的尖端和分支点数量的信息来确定一个段是否将被分组为主要对象或次要对象。
在骨架化并将段分为主要和次要对象之后,可以自动估算几种植物表型。茎和叶片的长度很容易从骨架计算,叶片角度可以用多种方式表示。在 PlantCV v4 中,我们使描述植物骨架形状足够灵活,能够估算许多手动测量耗时但对理解植物生长有用的性状。通过近似发育顺序自动重新排序叶片标识符。PlantCV 识别每个叶片和茎之间的分支点,并沿图像的垂直轴对这些分支点排序,然后根据其分支点位置从图像底部到顶部对叶片重新排序。
形态学子包试图从数据的二维表示中测量三维属性,这存在局限性和挑战。复杂的结构不适合此方法。此外,这种方法假设像叶片长度或角度这样的性状的二维表示近似于其真实值。
为了理解这些限制的影响并检验此处描述的形态学方法是否提取了具有生物学相关性的信息,我们使用 PlantCV v4 提取了一组先前发布的水稻图像的叶片插入角。我们将使用 ImageJ 收集的手动测量值与使用 PlantCV v4 自动收集的测量值进行了比较。使用一组工作流提取形态性状;人工输入用于将植物内的重复叶片与其手动测量的对应部分进行匹配以进行比较。使用 PlantCV 收集的测量值与手动测量值密切相关。
3.6 交互式文档与教程库
除了托管在 Read the Docs 上的静态文档外,PlantCV v4 现在包括交互式文档和教程,允许用户在无需安装任何软件的情况下测试 PlantCV 函数和应用。用户可以使用 Binder 或 Google Colaboratory 在云环境中启动教程,处理包含的样本数据,或者通过修改和执行教程工作流步骤来上传和分析他们自己的图像。PlantCV 网站包括一个包含用例的教程库,以及关于如何向库贡献教程的更新文档页面。用户贡献教程的示例包括用于玉米雄穗和花药表型分析的工作流、使用伪标志点评估狗尾草叶片差异生长的工作流,以及测量水稻垩白度的工作流。
交互式教程对于讲习班、基于课程的教育和拓展活动也很有用。小组环境中的每个用户都可以启动完全相同的 Jupyter 环境的独立实例,运行工作流,并添加他们自己的更改。使用 PlantCV 教授图像分析的讲习班涉及计算机科学、数学和生物学,并且由于大多数工作流步骤执行时间不到一秒,因此对预编写代码所做的任何更新都可以快速可视化和比较。
4. 结论
PlantCV 保持一种通用的数据格式,使其能够与其他图像分析工具互操作,并采用模块化设计,促进新方法的快速吸收和整合。PlantCV v4 为安装、输入数据类型、形态学函数、众多教程以及随附文档提供了新的和更新的代码。在学术实验室开发的开源软件维护起来具有挑战性。持续的开发和维护,得益于全球贡献者社区,使得本文描述的漏洞修复、后端更新、新功能和新教程成为可能。随着深度学习新工具的出现,研究人员必须能够验证这些工具并得出有意义的生物学结论,保持 PlantCV 的相关性。PlantCV 图像分割模块通常非常适用于受控环境设施的数据,而在现场收集数据中的使用可能更具挑战性。为了拓宽 PlantCV 可以支持的应用,我们正在开发附加包,以整合地理空间分析和人工智能功能。继续将 PlantCV 连接到其他可互操作、可维护的工具,以及为植物表型分析构建新功能,将推动 PlantCV 和开源表型分析软件领域的进一步发展。

生物通微信公众号
微信
新浪微博


生物通 版权所有