Biomedical Engineering Reference
In-Depth Information
command functions work. It is benefi cial to spend time becoming familiar
with ImageJ, trawling through these macros to understand the capabilities
these functions bring by example and how these could be applied to the
users own imaging problems. The size of the ImageJ user community is so
large that it even has its own conference series [12].
5.2.4 Programming ImageJ with macros,
plug-ins and Javascript
There are several methods of coding within ImageJ, namely with macros,
scripts and Javascript. Each has their own advantages and disadvantages,
which are now discussed. Macros are simple programs and are the
easiest way to automatically execute a series of ImageJ commands. The
native ImageJ macro language is Java-like and contains a set of
control structures, operators and built-in functions, and can be used to
call built-in commands and other macros, which are saved simply as
text fi les.
Plug-ins are much more powerful, fl exible and faster than macros
(most of ImageJ's built-in menu commands are actually plug-ins), but
harder to write and debug. Plug-ins are written in the Java programming
language (.java source fi les) and compiled to .class fi les.
Scripts within ImageJ use the Mozilla Rhino interpreter to run
Javascripts. Similar to plug-ins, scripts have full access to all ImageJ and
Java application programming interfaces (APIs) but do not need to be
compiled (scripts and macros run interpretively). On the other hand,
scripts lack the simplicity of the macro language and feel less integrated
in ImageJ. They do provide a much richer language together with
documentation and standardisation. Support for other languages is
possible in ImageJ using Fiji and its powerful editor. Fiji adds extra
support for the Java scripting and programming languages of BeanShell,
Clojure, Python and Ruby. Several packages exist that allow ImageJ to
interact with other applications/environments. R is a free software
environment for statistical computing and graphics and RImageJ provides
the linkage between the two software packages [13]. MATLAB is a
commercial package and MIJ provides a bi-directional communication
data exchange between MATLAB and ImageJ. MIJ also allows MATLAB
to access all built-in functions of ImageJ as well as third-party ImageJ
plug-ins. Fiji features MIJ, which makes it even more convenient to use
the libraries and functions provided by Fiji's components from within
MATLAB.
￿ ￿ ￿ ￿ ￿
 
Search WWH ::




Custom Search