It emphasizes integration with external applications to maximize interoperability. It separates concerns, fully decoupling the data model from the user interface. This next-generation ImageJ, called “ImageJ2” in places where the distinction matters, provides a host of new functionality.
We rewrote the entire ImageJ codebase, engineering a redesigned plugin mechanism intended to facilitate extensibility at every level, with the goal of creating a more powerful tool that continues to serve the existing community while addressing a wider range of scientific requirements. However, a rapidly growing user base, diverging plugin suites, and technical limitations have revealed a clear need for a concerted software engineering effort to support emerging imaging paradigms, to ensure the software’s ability to handle the requirements of modern science. Enabling such a diversity of contributors has resulted in a large community that spans the biological and physical sciences. Due to its ease of use, recordable macro language, and extensible plug-in architecture, ImageJ enjoys contributions from non-programmers, amateur programmers, and professional developers alike. ImageJ is an image analysis program extensively used in the biological sciences and beyond.