The algorithms in our books are implemented in Java and ImageJ which is a small, simple and flexible environment for digital image processing, originally conceived (and still being developed) by Wayne Rasband at the U.S. National Institutes of Health (NIH). Our source code is distributed in two parts:
- A single Java archive file that contains the compiled Java files shared by all book editions: imagingbook-common.jar.
- A Java archive imagingbook-plugins-all.jar which contains a collection of ImageJ plugins, structured by book topics.
Downloads
Visit our Source Code Repository and enter the ‘Downloads‘ section to retrieve the following files:
- Common library (required for all):
- imagingbook-common.jar – download to ImageJ/jars/
- Collection of ImageJ plugins (for all book editions):
- imagingbook-plugins-all.jar
- Legacy plugin sets for specific book editions (not actively updated):
- imagingbook_plugins_en1-xx.jar (English ‘Professional’ 1st ed, 2008 / Chinese ed.)
- imagingbook_plugins_en2-xx.jar (English ‘Undergraduate’ 2nd ed, Vols. 1-3, 2011-2013)
- imagingbook_plugins_en3-xx.jar (English ‘Professional’ 2nd ed, 2016)
- imagingbook_plugins_de2-xx.jar (German 2nd ed., 2006)
- imagingbook_plugins_de3-xx.jar (German 3rd ed., 2015)
- imagingbook_plugins_all-xx.jar (combined collection of all book plugins)
- Additional third-party libraries required:
- commons-math3.jar – download to ImageJ/jars/
Requirements: current ImageJ installation and Java 1.8 (or higher).
Documentation
Browse the JavaDoc for the imagingbook-common library and sample plugins here.
Installation and setup
It is assumed that you have an up-to-date ImageJ installation available. If not, first set up a minimal ImageJ environment (following the instructions on the ImageJ website). See also here for a minimal setup for working with Eclipse or IntelliJ. In the following, ImageJ/ denotes ImageJ’s root folder.
- Place imagingbook-common.jar in the ImageJ/jars/ folder (create if not existent).
- Place the imagingbook_plugins-all.jar file in the ImageJ/plugins/ folder. This is sufficient to execute the plugins.
- Place the additonal third-party JAR files in ImageJ/jars/.
- After restarting ImageJ, all available plugins should appear in the ‘Plugins’ menu.
Maven setup
The imagingbook-common library is (starting with release 1.5) available as a public Maven artefact. See https://github.com/imagingbook/imagingbook-common for further details.
Updates
This source code is being continuously updated, enhanced and adapted to newer releases of Java and ImageJ. Thus some of the original code examples in the printed texts may have been replaced by newer and improved versions without notice, although we attempt to preserve the original functionality as much as possible. This may affect class structures, method parameters and coding practices in general. The API thus cannot be guaranteed to be stable and may be incompatible with older code.
Licensing information
This software is provided as a supplement to the authors’ textbooks on Digital Image Processing published by Springer-Verlag in various languages and editions. Permission to use and distribute this software is granted under the BSD 2-Clause “Simplified” License (see http://opensource.org/licenses/BSD-2-Clause and below).
Copyright (c) 2006-2017 Wilhelm Burger, Mark J. Burge. All rights reserved.
------------------------------------------------------------------------------- The BSD 2-Clause License ------------------------------------------------------------------------------- Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. The views and conclusions contained in the software and documentation are those of the authors and should not be interpreted as representing official policies, either expressed or implied, of the FreeBSD Project. -------------------------------------------------------------------------------