This part provides basic information on ImageJ installation, troubleshooting and update strategies. It discusses Fiji↓↓ and ImageJ2↓ as well as third-party software related to ImageJ. Being impossible to document all the capabilities of ImageJ without exploring technical aspects of image processing, external resources allowing willing readers to know more about digital signal processing are also provided.
ImageJ is a public domain Java image processing and analysis program inspired by NIH Image for the Macintosh. It runs, either as an online applet or as a downloadable application, on any computer with a Java 1.5 or later virtual machine. Downloadable distributions are available for Windows, Mac OS X and Linux. It can display, edit, analyze, process, save and print 8–bit, 16–bit and 32–bit images. It can read many image formats including TIFF, GIF, JPEG, BMP, DICOM, FITS and ‘raw’. It supports ‘stacks’ (and hyperstacks), a series of images that share a single window. It is multithreaded, so time-consuming operations such as image file reading can be performed in parallel with other operations [A] [A] A somehow outdated list of ImageJ’s features is available at http://imagej.nih.gov/ij/features.html></span.
It can calculate area and pixel value statistics of user-defined selections. It can measure distances and angles. It can create density histograms and line profile plots. It supports standard image processing functions such as contrast manipulation, sharpening, smoothing, edge detection and median filtering.
It does geometric transformations such as scaling, rotation and flips. Image can be zoomed up to 32 : 1 and down to 1 : 32. All analysis and processing functions are available at any magnification factor. The program supports any number of windows (images) simultaneously, limited only by available memory.
Spatial calibration is available to provide real world dimensional measurements in units such as millimeters. Density or gray scale calibration is also available.
ImageJ was designed with an open architecture that provides extensibility via Java plugins. Custom acquisition, analysis and processing plugins can be developed using ImageJ’s built in editor and Java compiler. User-written plugins make it possible to solve almost any image processing or analysis problem.
Being public domain open source software, an ImageJ user has the four essential freedoms defined by the Richard Stallman in 1986: 1) The freedom to run the program, for any purpose; 2) The freedom to study how the program works, and change it to make it do what you wish; 3) The freedom to redistribute copies so you can help your neighbor; 4) The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.
ImageJ is being developed on Mac OS X using its built in editor and Java compiler, plus the BBEdit editor and the Ant build tool. The source code is freely available. The author, Wayne Rasband (email@example.com), is a Special Volunteer at the National Institute of Mental Health, Bethesda, Maryland, USA.
Installing and Maintaining ImageJ
ImageJ can be downloaded from http://imagej.nih.gov/ij/download.html>. Details on how to install ImageJ on ↓Linux, Mac OS 9, ↓Mac OS X and ↓Windows 1] are available at http://imagej.nih.gov/ij/docs/install/ ( command). Specially useful are the platform-specific Troubleshooting and Known Problems sections. ↓Fiji↓ installation is described at <https://fiji.sc/wiki/index.php/Downloads.
The downloaded package may not contain the latest bug fixes so it is recommended to upgrade ImageJ right after a first installation. ↓Updating IJ↓ consists only of running , which will install the latest ij.jar in the ImageJ folder (on Linux and Windows) or inside the ImageJ.app (on Mac OS X).
can be used to upgrade (or downgrade) the ij.jar file to release updates or daily builds. Release updates are announced frequently on the IJ news website and are labelled alphabetically (e.g., v. 1.43m). Typically, these releases contain several new features and bug fixes, described in detail on the ImageJ News page. Daily builds, on the other hand, are labelled with numeric sub-indexes (e.g., v. 1.43n4) and are often released without documentation. Nevertheless, if available, release notes for daily builds can be found at http://imagej.nih.gov/ij/source/release-notes.html>. When a release cycle ends (v. 1.42 ended with 1.42q, v. 1.43 with 1.43u, etc.) an installation package is created, downloadable from <http://imagej.nih.gov/ij/download.html. Typically, this package is bundled with a small list of add-ons (Macros↓, Scripts↓ and Plugins↓).
ImageJ alone is not that powerful: it’s real strength is the vast repertoire of Plugins↓ that extend ImageJ’s functionality beyond its basic core. The many hundreds, probably thousands, freely available plugins from contributors around the world play a pivotal role in ImageJ’s success 112]. Running , however, will not update any of the plugins you may have installed [B] [B] Certain plugins, however, provide self-updating mechanisms (e.g., ObjectJ and the ↓OME Bio-Formats)..
ImageJ add-ons (Plugins↓, Scripts↓ and Macros↓) are available from several sources (ImageJ’s plugins page , ImageJ Information and Documentation Portal and Fiji’s webpage, among others) making manual updates of a daunting task. This reason alone, makes it extremely convenient the use of ImageJDistributions↑ bundled with a pre-organized collection of add-ons.
Below is a list of the most relevant projects that address the seeming difficult task of organizing and maintaining ImageJ beyond its basics. If you are a life scientist and have doubts about which distribution to choose you should opt for Fiji↓. It is heavily maintained, offers an automatic updater, improved scripting capabilities and ships with powerful plugins. More specialized adaptations of ImageJ are discussed in Software Packages Built on Top of ImageJ↓.
Fiji↓ (Fiji Is Just ImageJ—Batteries included) is a distribution of ImageJ together with Java, Java 3D and several plugins organized into a coherent menu structure. Citing its developers, “Fiji compares to ImageJ as Ubuntu compares to Linux”. The main focus of Fiji is to assist research in life sciences, targeting image registration, stitching, segmentation, feature extraction and 3D visualization, among others. It also supports many scripting languages (BeanScript, Clojure, Jython, Python, Ruby, see Scripting in Other Languages↓). Importantly, Fiji ships with a convenient updater that knows whether your files are up-to-date, obsolete or locally modified. Comprehensive documentation is available for most of its plugins. The Fiji project was presented publicly for the first time at the ImageJ User and Developer Conference in November 2008.
The ↓↓MBF ImageJ bundle or ImageJ for Microscopy (formerly WCIF-ImageJ) features a collection of plugins and macros, collated and organized by Tony Collins at the MacBiophotonics facility, McMaster University. It is accompanied by a comprehensive manual describing how to use the bundle with light microscopy image data. It is a great resource for microscopists but is not maintained actively, lagging behind the development of core ImageJ.
Note that you can add plugins from MBF ImageJ to Fiji, combining the best of both programs. Actually, you can use multiple ImageJ distributions simultaneously, assemble your own ImageJ bundle by gathering the plugins that best serve your needs (probably, someone else at your institution already started one?) or create symbolic links to share plugins between different installations.
Software Packages Built on Top of ImageJ
**3D modeling** Objects in 3D, defined by sequences of contours, or profiles, from which a skin, or mesh, can be constructed, and visualized in 3D.**Relational modeling** The extraction of the map that describes links between objects. For example, which neuron contacts which other neurons through how many and which synapses.
Several packages exist that allow ImageJ to ↓interact with other applications/environments:
ImageJDev is a federally funded, multi-institution project dedicated to the development of the next-generation version of ImageJ: “↓ImageJ2”. ↓↓ImageJ2 is a complete rewrite of ImageJ, that includes the current, stable version ImageJ (“ImageJ1”) with a compatibility layer so that old-style plugins and macros can run the same as they currently do in ImageJ1. Below is a summary of the ImageJDev project aims:
- To create the next generation version of ImageJ and improve its core architecture based on the needs of the community.
- To ensure ImageJ remains useful and relevant to the broadest possible community, maintaining backwards compatibility with ImageJ1 as close to 100% as possible.
- Expand functionality by interfacing ImageJ with existing open-source programs.
- To lead ImageJ development with a clear vision, avoiding duplication of efforts
- To provide a central online resource for ImageJ: program downloads, a plugin repository, developer resources and more.
Help on Image Analysis
Ethics in Scientific Image Processing
- Online learning Tool for Research Integrity and Image Processing
This website, created by the Office of Research Integrity, explains what is appropriate in image processing in science and what is not.
- Digital Imaging: Ethics (at the Cellular Imaging Facily Core, SEHSC)
This website, compiled by Douglas Cromey at the University of Alabama – Birmingham, discusses thoroughly the topic of digital imaging ethics. It is recommended for all scientists. The website contains links to several external resources, including:
- What’s in a picture? The temptation of image manipulation (2004) M Rossner and K M Yamada, J Cell Biology 166(1):11–15, <doi:10.1083/jcb.200406019>
- Not picture-perfect (2006), Nature 439, 891–892, <doi:10.1038/439891b>.
Scientific Image Processing
Simple and clear, this Fiji↑ webpage explains basic aspects of scientific image processing.
Web site of Digital Image Processing: An Algorithmic Introduction using Java by Wilhelm Burger and Mark Burge 114]. This technical book provides a modern, self-contained, introduction to digital image processing techniques. Numerous complete Java implementations are provided, all of which work within ImageJ.
Developed at the Department of Artificial Intelligence in the University of Edinburgh, provides on-line reference and tutorial information on a wide range of image processing operations.
The Imaging Facility Network (IFN) in Biopolis Dresden provides access to advanced microscopy systems and image processing. The website hosts high quality teaching material and useful links to external resources.
Stereology Information for the Biological Sciences, designed to introduce both basic and advanced concepts in the field of stereology.
Help on ImageJ
Below is a list of the ImageJ ↓help resources that complement this guide (see $↓). Specific documentation on advanced uses of ImageJ (macro programming, plugin development, etc.) is discussed in Extending ImageJ↓.
- The ImageJ online documentation pages
Can be accessed via the command.
- The ↓Fiji↑ webpage:
- The ImageJ Information and Documentation Portal (ImageJ wikipage):
- Video ↓tutorials on the ImageJ Documentation Portal and the Fiji YouTube channel:
http://imagejdocu.tudor.lu/doku.php?id=video:start&s%5B%5D=video> and <http://www.youtube.com/user/fijichannel. New ImageJ users will probably profit from Christine Labno’s video tutorial.
- The ↓ImageJ for Microscopy manual
- Several online documents, most of them listed at:
http://imagej.nih.gov/ij/links.html> and <http://imagej.nih.gov/ij/docs/examples/
- Mailing lists:↓
- ImageJ — http://imagej.nih.gov/ij/list.html
General user and developer discussion about ImageJ. Can be accessed via the command. This list is also mirrored at Nabble and Gmane. You may find it easier to search and browse the list archives on these mirrors. Specially useful are the RSS feeds and the frames and threads view provided by Gmane.
- Fiji users — http://groups.google.com/group/fiji-users
For user discussion specific to Fiji↑ (rather than core ImageJ).
- Fiji-devel — http://groups.google.com/group/fiji-devel
For developer discussion specific to Fiji.
- ImageJ-devel — http://imagejdev.org/mailman/listinfo/imagej-devel
For communication and coordination of the ImageJDev project.
- Dedicated mailing lists for ImageJ related projects
Described at http://imagejdev.org/mailing-lists .
- ImageJ — http://imagej.nih.gov/ij/list.html
If you are having problems with ImageJ, you should inquiry about them in the appropriated ↓list. The ImageJ mailing list is an unmoderated forum subscribed by a knowledgeable worldwide user community with \thickapprox2000 advanced users and developers. To have your questions promptly answered you should consider the following:
- Read the documentation files (described earlier in this section) before posting. Because there will always be a natural lag between the implementation of key features and their documentation it may be wise to check briefly the ImageJ news website ().
- Look up the mailing list archives (). Most of your questions may have already been answered.
- If you think you are facing a ↓bug try to upgrade to the latest version of ImageJ (). You should also check if you are running the latest version of the Java Virtual Machine for your operating system. Detailed instructions on how to submit a bug report are found at http://imagej.nih.gov/ij/docs/faqs.html#bug.
- Remember that in most cases you can find answers within your own ImageJ installation without even connecting to the internet since the heuristics for finding commands or writing macros have been significantly improved in later versions (see Finding Commands↓ and Extending ImageJ↓).
- As with any other mailing list, you should always follow basic netiquette, namely:
- Use descriptive subject lines — Re: Problem with Image>Set Scale command is much more effective than a general Re: Problem.
- Stay on topic — Do not post off-topic messages, unrelated to the message thread.
- Be careful when sending attachments — Refrain from attaching large files. Use, e.g., a file hosting service instead.
- Edit replies — You should include only the minimum content that is necessary to provide a logical flow from the question to the answer, i.e., quote only as much as absolutely necessary and relevant.