QuPath script


文章目录

    • QuPath脚本是Groovy
    • 脚本编辑器示例
      • 统计对象
      • 统计不同类型的对象
      • 循环
      • 类别计数
      • 计算百分比
      • 面积统计
    • 附加技术点
      • 默认方法和导入
      • QP和QPEx中的静态方法
      • 导入静态方法
    • 参考文档

Groovy创建的。选择Groovy是因为Groovy具有很多新特性,同时又与QuPath本身所使用的Java编程语言非常匹配。熟悉Java语言的程序员应该很快就可以轻松地学习Groovy。

除了Groovy之外,还可以编写其他脚本语言。要切换到Javascript,只需打开脚本编辑器,然后选择Language(语言)→ Javascript

另外,还可以使用python、matlab或ImageJ宏语言。

Groovy的文档。

for (annotation in getAnnotationObjects()) {
    print(annotation)
}

或者,可以打印标注的某些特定属性。以下代码仅仅打印ROI,而不是对象本身:

for (annotation in getAnnotationObjects()) {
    roi = annotation.getROI()
    print(roi)
}

而以下代码可以打印标注的分类:

for (annotation in getAnnotationObjects()) {
    pathClass = annotation.getPathClass()
    print(pathClass)
}

QP.java

  • QPEx.java

  • 可以阅读这两个代码文件,更进一步地了解这些方法。

    QP.java 包含不依赖用户界面的方法,而QPEx.java 包含qp.java中的所有代码,还包含一些依赖界面的方法。在使用过程中可直接使用qpex.java中的方法。

    导入静态方法

    使用脚本编辑器运行脚本的时候,QuPath会自动导入qp和qpex中的方法。

    但是,在发现默认的导入与编写脚本有某种冲突的时候,我们可以禁用自动导入的功能,在 Run → Include default bindings 设置,禁用后,我们需要手动导入QP或QPEx:

    import qupath.lib.scripting.QP
    import qupath.lib.scripting.QPEx
    

    参考文档

    https://github.com/qupath/qupath/wiki/Writing-custom-scripts