Skip to the content.

frankenburg-1918-960x200k.png

imagingbook - Main Source Code Repository

Maven Central

This repository contains the Java source code accompanying the Digital Image Processing textbooks by W. Burger and M. J. Burge, published by Springer. This software is based on ImageJ. Please visit our main website imagingbook.com for more information.

Index terms: digital image processing, computer algorithms, Java, ImageJ, textbook support.

Repository Structure

The source code is built as a modular Maven project, which includes the following modules:

Library and Data Modules

These “library-only” modules are packaged as JAR files and typically imported as Maven dependencies. They may also be copied manually to ImageJ’s jars/ directory (see Use Without Maven below):

ImageJ Plugin Modules

These packages contain sets of ImageJ plugins that make use of the imagingbook library. Each plugin set is packaged as a JAR file and may be imported as a Maven dependency or copied manually to ImageJ’s plugins/ directory:

API Documentation

Where to Report Problems

This software is mainly intended for educational purposes and comes as is, with no guarantees whatsoever. API changes that make the code incompatible with previous versions may happen at any time. Users are encouraged to report any enountered problems here:

Use With Maven

Maven Central

Using Libraries Only

Each of the above modules is available as a Maven artifact on Maven Central. For example, to use the imagingbook-common library, simply include the following in your project’s pom.xmlfile:

<dependency>
  <groupId>com.imagingbook</groupId>
  <artifactId>imagingbook-common</artifactId>
  <version>7.1.0</version>
</dependency>

Replace the number in <version>...</version> by the most current release version found on Maven Central.

Preconfigured Maven Projects

The following preconfigured projects are available on GitHub for getting started:

These projects are set up to develop and run ImageJ user plugins out of the box. They are based on a special Maven profile in (imagingbook-parent-pom), which takes care of ImageJ’s particular directory structure during the Maven build. To use, clone any of these repositories and import it as a Maven project in your favorite IDE. If necessary, perform Maven clean and install to update all dependencies and the runtime setup. These projects may also be used as a good starting point when working without Maven (see below).

Use Without Maven

To use the imagingbook library in an existing (non-Maven based) ImageJ environment you need to manually copy all necessary JAR files e.g., from imagingbook-plugins-all:

Then restart ImageJ. Libraries and plugins should be loaded automatically. The JAR files in imagingbook-plugins-all are typically from the most recent stable (“release”) build.

Other projects using the imagingbook library include: