The basic anatomy of a plugin
A plugin within ImageJ has to adhere to specific rules. The syntax conforms to the Java language, but some of the elements are unique to ImageJ. In the following sections, I will discuss the conventions and constructs used by ImageJ1.x plugins (referred to as legacy from here on) and the new SciJav-based conventions and constructs (referred to as scijava from here on). Note that when using the scijava model, you are required to use Java 1.7.x or higher when running and compiling your plugins. Also, the scijava model was designed with the Maven and Git systems in mind. This means that it is advantageous to use those systems when developing plugins for the future releases of ImageJ. The following sections will look at the basic anatomy of a plugin in both formats.
Legacy plugins
A plugin within ImageJ1.x has to adhere to specific rules. The syntax conforms to the Java language, but some of the elements are unique to ImageJ. The legacy plugin consists of three main...