25  通过ImageJ定阈值

通过QuPath用ImageJ进行阈值设定

Published

January 28, 2026

1. 阈值选择应该客观些

QuPath (v0.6.0) → Classify → Pixel classification → Train pixel classifier…或Create thresholder…可以用于阈值设定,但感觉还是偏主观的人为设定。

这样对于单独一张图片(比如HE图片),可能还可以。但如果一个项目含有多个图片(需要相互比较分析),且不同图片之间存在不同程度的整体颜色/染色差异,这样设定阈值可能就不太客观了。

这时候需要一个相对客观的方法用于阈值设定。

2. QuPath和ImageJ的关系

如QuPath的说明文件所述(1)

QuPath was created by someone who was (and is) a big fan of ImageJ.

In fact, QuPath started life as a collection of ImageJ plugins for digital pathology.

Over time … QuPath was rewritten from scratch as a completely new application, which uses ImageJ as an extension.

3. 通过QuPath用ImageJ进行阈值设定

所用示例图片为HE图片。

首先,通过QuPath将已经进行color deconvolution的hemotoxylin通道图片发送到ImageJ。

发送到ImageJ后,通过PluginsMacrosRecord...记录在ImageJ的操作。

该示例默认使用Default方法(自动选择32为阈值)。也可以通过下拉箭头选择其它方法测试。

将ImageJ ROI发回QuPath。

感觉还不赖。

4. 使用QuPath的ImageJ script runner

通过ImageJ的Record...记录了在ImageJ的操作过程/ImageJ Macro,这时候可以把这个过程代码复制到QuPath的ImageJ script runner(见图1)。同样可以实现上面的操作。

Select channels: Hematoxylin。勾选Add script to command history(这样可以构建groovy script,用于基于代码的批量操作。)

给我买杯茶🍵

References

1.
QuPath_docs_authors, QuPath_advanced_ImageJ (2019-2025). https://qupath.readthedocs.io/en/0.6/docs/advanced/imagej.html.