2020-12-24 13:44:30, 祝介东 北京力高泰科技有限公司/基因有限公司农业环境部
可能是去年底使用了 Coursolle et al. (2019) 这样的方法修改后,进行 RACiR 数据的分析,这次是对其做了修改。
其实年初就已经使用 LI-6800 的 BP 程序,将测量方法自动化,并修改了一下 Coursolle et al. (2019) 的方法,不记录最初稳定二氧化碳的数据,因为他的数据中,下图三角形区域的数据是完全无用的,不需要记录。

这种方式使原来的方式进行直接批量删除是不可取的。容易出错或者残留无效数据。针对这个情况我进行的修改和测试为:使用 BP 进行测量,目前我已经完成 BP 相关的程序,本节的示例则是基于我实测的验证数据来进行(相关测试已经录好视频,可能后面公司公众号会推,如有 BP 自动测量 RACiR 的需要,请跟我们公司联系)。这个程序也是基于 @Coursolle12019 的方法,测量步骤和修改如下:
在接近外界的 浓度下进行诱导,控制 reference 的 420 ppm ,控制水分 reference 为 20
,此处不做修改。
使用自动控制,在 2 min 时间内,将 的 reference 气路浓度,下降到 20,然后等待 10-15 s 的时间。此处的修改为,不记录这些数据,减少数据处理的麻烦。 例如上图中三角形区域的数据。
运行自动控制,将 的 reference 浓度由 20 上升到 1520 ppm (仅作为测试范围,并非绝对),本步骤不做修改,记录数据,此为所需要数据。
实际上主要的修改就是将这个步骤自动化,需要人为操作的步骤仅仅是点 start 按键启动整个测量。
对于软件包的修改:
主要的修改:
独立的 xls_read 函数用于读取 excel 格式数据并修改叶面积。
独立的“清洗”空叶室数据的函数 tidy_data_empty。
独立的“清洗"带叶片测量数据的函数 tidy_data。
将数据的清洗使用 A 值的一个上限和一个下限来解决。
使用的方法如下(有使用标准 ACi 测量数据的比较内容):
数据的清洗其实比较简单,主要利用相邻的两个测量 A 值的差值来进行,为方便确定差值,针对空叶室和带叶片测量的数据,单独设定了两个函数,来确定合理的过滤范围,这样说太抽象,我们导入数据后直接看图:
1. 导入数据:
此函数本质上是 xlconnect_read,如无需修改叶面积,则使用默认值。如果需要修改叶面积,需要输入 S 参数,叶面积修改值必须和 A 的值一一对应,否则因为叶面积错误,则导致其他的错误,例如上面修改叶面积为原来的一半:
library(racir)
library(plantecophys)
empty <- xls_read("data/racir-empty.xlsx")
leaf <- xls_read("data/racir-leaf.xlsx")
# 标准的aci数据
aci <- xls_read("data/aci-curve.xlsx")
half_leaf <- xls_read("data/racir-leaf.xlsx", S = leaf$S/2)
head(half_leaf$A/leaf$A)
tail(half_leaf$A/leaf$A)

修改面积仅作演示用,如无需修改,则不要输入面积选项。
2. 关于空叶室的数据过滤范围的选取:
check_delta_empty(empty, delta_max = 0.5, lower_A = -1)

这里首先不要被第二幅图的波动所迷惑,主要是坐标轴差异太小。然后第一幅图中,这里设定了一个最大最小光合速率的范围(阈值,upper_A 和 lower_A),默认最大值是 2 以及最小值是 -2,上面我使用了最小值为 -1,也就是删除小于 -1 的光合速率,最大值 2 并不是删除,二是寻找 -2 < A < 2 范围的数据,从这里面找一个最小值,保留这一行的数据到测量数据结束。另一个阈值删除相邻两个A值过大差值的数据的阈值(delta_max),对于这个阈值,LI-6800 其实并不敏感,因为本身数据非常稳定。
3. 关于带叶片测量的数据过滤范围的选取:
check_delta(leaf, delta_max = 0.5, lower_A = -1)

带叶片的数据同上,没有特殊的参数,从右图的数据来看,他在修正之前的光合速率,符合我们的预期。
4. 确定范围后数据的清洗:
tidy_leaf <- tidy_data(leaf, delta_max = 0.5, lower_A = -1)
tidy_empty <- tidy_data_empty(empty, delta_max = 0.5, lower_A = -1)
### 修正带叶片测量数据
z <- correct_leaf(tidy_empty, tidy_leaf)
4. 拟合后的数据:
fit_racir <- fitaci(z,
varnames =
list(
ALEAF = "A",
Tleaf = "Tleaf",
Ci = "Ci",
PPFD = "Qin",
Rd = "Rd"
))
fit_normal <- fitaci(aci,
varnames =
list(
ALEAF = "A",
Tleaf = "Tleaf",
Ci = "Ci",
PPFD = "Qin",
Rd = "Rd"
))
ACi 曲线作图:

RACiR 作图:

当然,拟合重合度是非线性拟合的原因,与测量无关。
RAiR 的结果:

ACi 的结果:

此处的数据和视频里的数据以及函数的参数略有差别,因为我修改了一下 racir 软件包的过滤条件,使得筛选数据更符合要求。本身因为不是同一时间测量,测量 RACiR 时叶片的气孔导度略到,因此,其略大符合预期。
数据的重合程度 (实际上 RACiR 数据点要浓密的多,我使用了透明度为 80%,这样看上去仍然颜色非常深,这是 RACiR 采集数据点达到几百个的原因。ACi 测量点为 50-2000 ppm,RACiR 为 20-1520 ppm):
library(RColorBrewer)
library(latex2exp)
line_col <- brewer.pal(2,"Set1")
racir_col <- scales::alpha(line_col[1], 0.2)
aci_col <- line_col[2]
plot(
z$Ci,
z$A,
cex = 2.3,
col = racir_col,
pch = 20,
xlim = c(50, 1400),
ylim = c(-1, 38),
xlab = TeX(''$C_i$ $(\\\\mu mol \\\\cdot mol^{-1})$''),
ylab = TeX(''A $(\\\\mu mol \\\\cdot mol^{-1})$'')
)
points(aci$Ci,
aci$A,
cex = 2.3,
col = aci_col,
pch = 20)
legend(
10,
35,
legend = c("RACiR","ACi"),
col = c(racir_col, aci_col),
pch = 20,
bty = "n",
pt.cex = 2.3
)

在线版本同步更新:
http://zhu_jie_dong.gitee.io/photoanalysis/
https://zhujiedong.github.io/photoanalysis/


06-02
晶泰科技研发食品级口服肽Tensotide™获美国Self-GRAS认证,AI设计分子破局千亿代谢健康消费品市场06-02 晶泰科技
汽车行业OCR防错识别全新提案06-02 基恩士
SNEC PV—第十九届(2026)国际太阳能光伏和智慧能源(上海)大会暨展览会06-02 基恩士
【限时】仲夏调研有礼·3D检测06-02
一本书讲清电子显微镜和激光显微镜的差异06-02 基恩士
【出海必备】免费领取《FA术语字典》06-02 基恩士
【新品】高精度·自动化 形状测量激光显微系统!06-02 基恩士
【出海伙伴】近半个世纪的出海经验!基恩士——您的优秀合作伙伴06-02 基恩士
蔡司arivis 4.5来了!一键孔板分析+热图对比,高内涵分析再进阶06-02 蔡司显微镜
多设备联用造就“黑色黄金”!蔡司关联显微技术助力碳纤维“现原形”06-02 蔡司显微镜
晶泰科技孵化虚拟细胞引擎 INFevo(无界进化)完成数千万元天使轮融资,加速药物新靶点发现与临床转化06-01 晶泰科技
强强联合|“药食同源保健食品开发技术浙江省工程研究中心杭州分中心”正式揭牌!环特生物与浙江理工大学绍兴生物医药研究院签署战略协议06-01 Hunter
实验室打工人集合!赛默飞补给包助力通关科研副本06-01 赛默飞生命科学
干细胞“飞”正式会谈第四期 | 3D类器官模型构建、成像与功能分析06-01 赛默飞生命科学
【重磅发布 | ASMS 2026】赛默飞多款新品正式亮相!06-01
顶空-气相色谱法检测中药材中甲醇残留——守护中药安全,从精准检测开始06-01 YOKE INSTRUMENT
材料盛会燃爆苏州!晶泰双论坛 + 人气展位强势出圈,AI 自主实验室重新定义科研新范式06-01
出品辣度忽高忽低?品控告别靠嘴尝!——恒美智造辣度检测仪快速搞定辣度管控难题06-01
催化裂化催化剂振实密度的测定06-01