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)
}
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