Scripting in Fiji

Using SciJava Ops within scripts unlocks the most powerful aspects of Ops. The following page will explain how you can write a script in Fiji’s Script Editor that utilizes Ops for image processing.

Obtaining an OpEnvironment

To run Ops, scripts require an OpEnvironment. The easiest way to obtain an OpEnvironment with all available Ops is to declare an OpEnvironment as a script parameter:

#@ OpEnvironment ops

Obtaining inputs

Scripts using SciJava Ops obtain inputs like any other SciJava script, and the lines below will provide us with an Img input parameter and an Img output parameter.

#@ Img imgInput
#@output Img out

For more information on SciJava scripting parameters, please visit this page.

Calling Ops

The OpBuilder syntax should be used to retrieve and execute Ops from the OpEnvironment. The following line executes a Gaussian Blur on an input image using a filter.gauss Op:

out = ops.op("filter.gauss").input(imgInput, new Double(3.0)).apply()

Putting it all together

The below script can be pasted into the Script Editor. Ensure that the Script Editor is configured to run a Groovy script.

#@ OpEnvironment ops
#@ Img imgInput
#@output Img out

// Call some Ops!
out = ops.op("filter.gauss").input(imgInput, new Double(3.0)).apply()

Scripting in Fiji is a convenient gateway to accessing SciJava Ops. To see more, check out some examples, such as image deconvolution or FLIM analysis!