Teaching Image-Processing Programming in Java
Image processing (IP) can be taught very effectively by complementing the basic lectures with computer laboratories where the participants can actively manipulate and process images. This offering can be made even more attractive by allowing the students to develop their own IP code within a reasonable time frame. After a brief review of existing software packages that can be used for teaching IP, we present a system that we have designed to be as “student-friendly” as possible. The software is built around ImageJ, a freely available, full-featured, and user-friendly program for image analysis. The computer sessions are alternated with lectures, typically, a three-hour session at the end of every chapter. The sessions are in the form of assignments that guide the students towards the solution of simple imaging problems. The starting point is typically the understanding and testing of some standard IP algorithm in Java. Next, students are asked to extend the algorithms progressively. This constructive approach is made possible thanks to a programmer-friendly environment and an additional software interface layer that greatly facilitates the developments of plug-ins for ImageJ. Taking into account the fact that our students are not experienced programmers (they typically do not even know Java), we use a “learn by example” teaching strategy, with good success.