News |  Sitemap |  Contact
PDF Export  | 

From Image-Processing Algorithms to ImageJ Plugins: A Student- Friendly Framework


We present a pedagogical tool to translate image-processing formulae and algorithms into Java programs that take the form of ImageJ plugins. The goal of the proposed computer framework is to complement lectures on image processing and to provide a didactic way to illustrate some mathematical concepts. It is our belief that it helps students to learn image processing by facilitating hands-on experimentation with real images.

The intended audience for this framework includes engineering and life-science students. Because their programming background is limited, we have designed the framework in such a way that its learning overhead is minimized. We have taken advantage of it to build a series of laboratory sessions of three hours each, where the students have to code basic image-processing routines in Java and access them as plugins of ImageJ. To help the students focus on image-processing aspects exclusively and to screen off the other issues, the graphical user interface and a template of the code is always provided to them.

In the workshop, we want to illustrate typical sessions by showing examples such as 1) operations to understand how to access the data pixelwise; 2) convolution with both a non-separable and a separable implementation of spatial digital filters; 3) directional image analysis by computing features related to the gradient structure tensor; 4) wavelet transform using the Haar filter; and 5) a direct and an iterative deconvolution scheme in the Fourier domain.

The framework is based on a package, called ImageAccess, which wraps a commodity layer around the ImageJ image objects. ImageAccess has high-level methods to read and write the pixel values of two-dimensional images, independently of their type. By restricting the other modes of data access, we encourage the students to handle images at the pixel level, and we stress that this is at the heart of many an image-processing algorithm. ImageAccess supports consistent mirror-symmetric boundary conditions to extend images beyond their defining array. This extension is transparent to the student, who will therefore never hit an “out-of-bounds” exception.

The overhead computational time of ImageAccess is negligible in our academic context. Moreover, the framework takes advantage of Eclipse features to ensure that the edition-compilation-execution cycle is short. Typically, auto-completion, documentation, and on-the-fly compilation are particularly helpful. The students can have a quick (almost instantaneous) visual feedback on their own image-processing routine. This is an appealing feature of our framework and reinforces the motivation of students to do well. Our ten-year experience at EPFL shows that this framework is well adapted to the teaching of image processing.


Image-processing algorithms, Java, ImageJ, Educational tool, Courses

Short CV

Daniel Sage received the M.S. and Ph.D. degrees in control and signal processing from the Institut National Polytechnique de Grenoble (INPG), Grenoble, France, in 1986 and 1989, respectively. From 1989 to 1998, he was a Consulting Engineer developing vision systems for quality control, then Head of the Industrial Vision Department. In 1998, he joined the Biomedical Imaging Group at the Ecole Polytechnique Fédérale de Lausanne (EPFL), Lausanne, Switzerland, as the Head of software development. He is involved in numerous image-processing and image-analysis projects dealing with life cell imaging and microscopy. He is also engaged in the development of methods for computer-assisted teaching.

Administrative data

Presenting author: Daniel Sage
Organisation: Biomedical Imaging Group, Ecole Polytechnique Fédérale de Lausanne, Lausanne, Switzerland

co-authors: Michael Unser

Hardware and Software Requirements:
Knowledge of participant:

© Luxembourg Institute of Science and Technology | Legal Notice