脚本解释器是一个Read–eval–print loop,允许从命令行编写脚本。
##入门
通过 Plugins › Scripting › Script Interpreter 或输入 ⇧ Shift + [ 启动。

最示例
下面的示例是用“class C”语法编写的。它们应该按原样工作,例如在 Groovy、Jython 和 JavaScript 中,但需要对像 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工作正常,但其他脚本语言存在一些问题。