我知道编辑这个网站吗?
核心 SciJava 软件库本页介绍与 核心 SciJava 软件库 相关的内容。点击徽标查看详情。

脚本解释器

脚本解释器是一个Read–eval–print loop,允许从命令行编写脚本。

##入门

通过 PluginsScriptingScript Interpreter 或输入 ⇧ Shift + [ 启动。

Script_Interpreter.png

最示例

下面的示例是用“class C”语法编写的。它们应该按原样工作,例如在 GroovyJythonJavaScript 中,但需要对像 Clojure这样的语言进行调整,其语法与 C 的差异更大。

运营 代码
获取活动数据集 image = imageDisplay.getActiveDataset()
运行操作 blurred = op.run("filter.gauss", image, 5)
快速显示(无元数据!) ui.show("Blurred", blurred)
将图像包装到数据集 ds = dataset.create(blurred)
获取数据集维度 ds.numDimensions()
获取暗淡 #d 的长度 ds.dimension(d)
获取暗淡 #d 轴类型 ds.axis(d).type()
覆盖#d 轴类型 ds.axis(d).setType(Axes.CHANNEL)
显示时混合通道 ds.setCompositeChannelCount(3)
将数据集包装到数据视图 dv = imageDisplay.createDataView(ds); dv.rebuild()
设置通道#0的颜色表 dv.setColorTable(ColorTables.MAGENTA, 0)
设置通道 #1 的颜色表 dv.setColorTable(ColorTables.GREEN, 1)
设置通道 #2 的颜色表 dv.setColorTable(ColorTables.BLUE, 2)
地图数据视图显示 disp = display.createDisplay("Blurred", dv)
按标题获取显示 disp = display.getDisplay("Blurred")
从显示中获取DataView dv = disp[0]
DataView 获取数据集ds = dv.getData()

您可以从net.imagej.axis导入Axes,从net.imagej.display导入ColorTables

有关更多食谱,请参阅ImageJ2 Tutorials

检查对象的API

脚本解释器尚不具备制作表符补全功能。 :-( 但是您可以使用以下 (Python) 函数命令行对象的方法:

def methods(obj, prefix=""):
    return "\n".join(row["name"] + "(" + row["arguments"] + ") -> " + row["returns"] for row in notebook.methods(obj, prefix))

例如:

>>> methods(imageDisplay, "getActive")
getActiveDataset(<none>) -> net.imagej.Dataset
getActiveDataset(net.imagej.display.ImageDisplay) -> net.imagej.Dataset
getActiveDatasetView(<none>) -> net.imagej.display.DatasetView
getActiveDatasetView(net.imagej.display.ImageDisplay) -> net.imagej.display.DatasetView
getActiveImageDisplay(<none>) -> net.imagej.display.ImageDisplay
getActivePosition(<none>) -> net.imagej.Position
getActivePosition(net.imagej.display.ImageDisplay) -> net.imagej.Position

问题

脚本解释器还有些不成熟。目前,Groovy工作正常,但其他脚本语言存在一些问题。