The following is a status update on the ImageJ2 project as of 26 December 2010.
Core ImageJDev work
Unit tests
We have created extensive unit tests for approximately 40 of ImageJ’s core classes. These tests are useful for verifying that new versions of ImageJ still perform identically to previous versions. The tests are fully automated, and run whenever we make a change to the ImageJ codebase, via our continuous integration system.
ImageJ2 architecture
We have designed initial versions of several aspects of the ImageJ2 architecture, including the image data model, and IJ2 plugin architecture. At this point, everything is completely subject to change, with many things not yet ready for public review.
ImageJ2 user interface
Though our eventual goal is to create a rich ImageJ client application using the NetBeans RCP, for the time being we have created a barebones, proof-of-concept user interface to test the feasibility of the current architecture.
Spectral lifetime visualization
We are actively developing tools for working with combined spectral-lifetime (SLIM) image data. This type of data is a perfect use case for extending ImageJ beyond 5D. Currently, we have a SLIMPlugin for performing single- and double-exponential curve fits on binned lifetime data.
Integrating web applications with ImageJ
Web tools and cloud computing are rapidly becoming more powerful and have many advantages versus traditional desktop applications. We want to leverage such tools where appropriate, and are exploring ways to integrate such web-based software with the ImageJ client application. Currently we have two such plugins: Work Flow Pipes and a Deep Zoom plugin.
OpenCL-based image processing
We spent some time exploring how to integrate GPU processing with Java, with the ultimate goal of enabling use of multi-core OpenCL programs from ImageJ. At the moment, we have created a web-services-based OpenCL plugin that performs 3D iterative deconvolution.