案例:Claude Code 批量分析免疫荧光图像
这个案例来自一次真实科研任务:文件夹中有 50 张 E. coli 免疫荧光染色 TIFF 图像,总数据量约 600 MB。目标是分析每张图绿色通道的荧光强度,输出 CSV,并画出柱状图进行比较。
它适合作为智能体科研入门案例,因为任务边界清楚、输入材料明确、输出结果容易检查,也能展示“中文描述需求 → 智能体探索文件 → 写脚本 → 运行 → 生成结果 → 根据反馈迭代”的完整过程。
任务概况
| 项目 | 内容 |
|---|---|
| 数据类型 | 免疫荧光染色 TIFF 图像 |
| 图像数量 | 50 张 |
| 数据大小 | 约 600 MB |
| 图像结构 | 2048 x 2048 x 3 的 RGB 图像 |
| 分析目标 | 提取绿色通道荧光强度 |
| 输出结果 | CSV 汇总表和柱状图 |
| 手动写代码 | 0 行 |
原始数据长什么样
下面是 50 张原图绿色通道排列成的缩略图矩阵。每张原图约为 2048 x 2048 像素,合计接近 2 亿像素。肉眼可以看出中间样本更亮、两端更暗,但要做定量比较,仍然需要批量脚本处理。

代表样本
这 4 张代表图来自不同强度阶段:起始低强度、峰值附近、下降阶段和末端低强度。




一句话需求
用户给 Claude Code 的原始需求非常朴素:
这文件夹里面有若干 tif 免疫荧光染色,
我希望分析他们的绿色通道的荧光强度,
并作出比较,列出一个 csv 然后画出柱状图。
这句话没有指定 Python 库、文件命名规则、图像尺寸、通道索引、CSV 字段或作图参数。Claude Code 需要自己探索数据并决定实现方式。
Claude Code 自动完成了什么
Claude Code 收到指令后,自动做了这些事:
- 使用目录查看命令列出文件,发现 50 个 TIFF 图像。
- 读取第一张图,确认数据结构为
2048 x 2048 x 3的uint8RGB 图像。 - 判断绿色通道对应数组索引
1,也就是R=0, G=1, B=2。 - 检测环境中缺少依赖后,安装
tifffile、matplotlib、pandas。 - 生成 Python 脚本,批量读取图像、提取绿色通道、计算统计量。
- 运行脚本,遍历 50 张图像。
- 输出 CSV 表格和绿色通道荧光强度柱状图。
生成的结果图如下:

示意脚本逻辑如下:
for f in tif_files:
img = tifffile.imread(f)
green = img[:, :, 1]
results.append({
"mean": green.mean(),
"std": green.std(),
"sum": green.sum(),
})
pd.DataFrame(results).to_csv(...)
plt.bar(labels, means, ...)
得到的结果如何解读
结果显示绿色通道强度呈现明显变化趋势:前期较低,中间样本升高,之后逐渐回落。
案例页中记录的关键数据点包括:
| 样本 | 均值 | 中位数 | 标准差 | 解读 |
|---|---|---|---|---|
| #01 | 2.93 | 1.0 | 6.69 | 荧光较暗,接近基线水平 |
| #06 | 7.80 | 2.0 | 14.18 | 快速上升阶段 |
| #10 | 15.24 | 2.0 | 21.43 | 峰值,荧光最强 |
| #14 | 13.20 | 2.0 | 19.97 | 峰值后开始下降 |
| #25 | 4.55 | 2.0 | 11.07 | 回到较低水平 |
| #50 | 1.48 | 1.0 | 2.61 | 最低值,荧光微弱 |
其中一个重要观察是:中位数始终在 1 到 2 之间,说明大多数像素仍是暗背景;均值变化主要由少量亮像素驱动。这符合免疫荧光图像中稀疏亮信号的常见特点。
效率对比
如果手工处理,常见流程是:
- 打开 ImageJ。
- 逐张导入图像。
- 分别圈选或测量绿色通道。
- 导出每张图的结果。
- 汇总到 Excel 或 GraphPad。
- 手动画图和排版。
这种流程很容易超过 2 小时,而且重复操作多、容易出错。
使用 Claude Code 时,用户只描述目标,智能体自动写脚本并运行。这个案例中,50 张图像的批量分析约 2 秒完成。
这里的“2 秒”指脚本运行分析的时间,不包括人工检查、结果解释和必要的后续修正。科研任务中,人的判断仍然是最后一关。
迭代过程:不满意就继续说
第一次结果出来后,用户觉得“不够精细”。Claude Code 随即提出更精细的方案:
- 背景扣除。
- 阈值分割。
- 连通域标记。
- 逐斑点强度测量。
- 输出箱线图加散点图。
后来用户又说“回滚到最初的版本”,Claude Code 可以回到原来的简单方案。
这个过程体现了智能体协作的核心方式:
说需求 -> AI 干活 -> 看结果 -> 提意见 -> AI 修改或回滚
这个案例适合学什么
这个案例不只是展示“AI 很快”,更重要的是展示科研数据分析的合理工作方式:
- 先让智能体探索数据结构,而不是直接假设图像格式。
- 先输出简单稳定的结果,再讨论是否需要精细化。
- 保留脚本和 CSV,保证结果可复现。
- 生成图以后仍要人工检查统计值、图像质量和实验含义。
- 对图像定量结果要关注背景、阈值、异常图像和重复层级。
可以直接复用的提示词
请分析当前文件夹中的 tif/tiff 免疫荧光图像。
目标:
1. 自动识别图像数量、尺寸、通道结构;
2. 提取绿色通道;
3. 对每张图计算 mean、median、std、sum、max;
4. 输出 green_channel_summary.csv;
5. 画出每张图绿色通道平均强度的柱状图;
6. 保存分析脚本,保证下次可以重新运行。
要求:
- 先检查图像格式,不要直接假设通道顺序;
- 不要覆盖原始图像;
- 如果发现异常图像,单独列出来;
- 最后说明输出文件和主要结果。
使用这个流程时要注意
- 图像是否经过相同曝光、增益和采集条件。
- 是否需要扣除背景。
- 是否应该分析整张图,还是只分析 ROI。
- 技术重复和生物重复不能混在一起。
- 荧光强度变化不等于生物学结论,仍需要结合实验设计解释。