乐于分享
好东西不私藏

这个插件可以在QuPath里用GPU跑区域分类模型

这个插件可以在QuPath里用GPU跑区域分类模型

各位同学大家好,我是阿图。我想给大家介绍一个对病理科研更“接地气”的工具:WSInfer

它做的事情其实很直接:把整张病理大图切成很多 patch,然后对每个 patch 做分类。它不是逐像素分割,也不是目标检测,而是很典型的 patch-based classification。这类方法在数字病理里非常常见,尤其适合做肿瘤区、淋巴区、组织表型这类区域级判断。WSInfer 这套生态本身就是为了让这些模型更容易复用,既能在 Python 里跑,也能直接接到 QuPath 里用。

它最让我觉得实用的一点,是上手门槛低在 QuPath 里,通过扩展管理器安装 WSInfer 扩展后,就可以直接在界面里选模型、圈区域、点击运行,不需要先自己写脚本。官方文档也明确写了:它支持在 QuPath 中做 whole slide inference,并且可以对整张图,或者你选中的 ROI 来跑。

这类工具为什么有意义?因为很多时候,我们并不是非得先做一个“边界极其精细”的分割,才能开始分析。如果一个模型能很快把大致肿瘤区域、高概率区域先找出来,那它就已经帮你省掉了大量手工勾区域的时间。后面无论你是想做面积统计,还是只在这些可疑区域里进一步做细胞检测、阳性率分析,整个流程都会轻很多。论文里也提到,WSInfer 的输出本质上就是空间分类图,可以进一步整合为整张切片的分析结果。

另外,WSInfer 不只是“跑一下看颜色图”这么简单。它可以把结果保存成 CSV 和 GeoJSON:CSV 里是每个 patch 的坐标和概率,GeoJSON 则可以直接被 QuPath 读取,用来可视化和后续分析。QuPath 端还支持 Measurement Maps,也就是把每个 tile 的预测分数用颜色显示出来。你看到的就不再只是“是不是肿瘤”,而是“哪里更像、哪里没那么确定”。

再说两个大家很关心的点。

第一,速度WSInfer 本来就是面向 whole slide image 的快速推理工具,官方文档明确说明 GPU 不是必须,但如果有 NVIDIA GPU,速度会明显提升。QuPath 这边实际上是通过 Deep Java Library 去管理 PyTorch,因此很多同学明明电脑装过 PyTorch,插件里却还是不认,这一点非常容易踩坑。

第二,不只用官方模型如果你已经有自己的 patch 分类模型,WSInfer 也支持接入,只要按照它的规范准备 TorchScript 模型和 config.json,就可以在 QuPath 里调用。也就是说,它不是只能“试玩模型 zoo”,而是有机会真正接进你自己的科研流程。

当然,这里也要泼一盆冷水。WSInfer 很强,但它解决的是 patch 分类 的问题,不是万能分割器。边界不一定会特别精细,模型效果也高度依赖训练数据、扫描条件和你的样本分布。官方论文也专门提醒了:它是研究用途工具,模型是否适合你的数据,还是要你自己验证。

如果你想跟着阿图学习以上内容,以及系统学习如何用QuPath让你的数字病理研究更自动,更智能,更有深度,可以参加阿图的《QuPath从入门到精通》的训练营,下一期5月开营。