Difference between revisions of "Extensibility"

(Let's not be shy about our accomplishments)
(Add development category)
Line 12: Line 12:
* [[Writing ImageJ2 plugins]]
* [[Writing ImageJ2 plugins]]

Revision as of 17:20, 12 November 2014

Template:DevelopmentTemplate:SideboxExtensibility is ImageJ's greatest strength. ImageJ2 enhances upon this in several ways: it adds strong typing of plugins, it makes extensive use of plugins itself (allowing core functionality to be customized easily) and it has an powerful plugin discovery mechanism, driven by the SciJava Common library, that finds all plugins available on the Java classpath, without knowing in advance what they are or where they are located.

ImageJ2 provides several different types of plugins. It is even possible to extend the system with your own new types of plugins.


The most familiar sort of plugin is the command, which is a runnable operation. Most commands can be written in a manner completely independent of the user interface. You define the command's inputs and outputs by labeling them with the @Parameter annotation. ImageJ automatically takes care of filling in the inputs (typically by prompting the user for input using a dialog box), as well as displaying the outputs after the command has run.

You can find some example commands in the ImageJ tutorials.

See also