It has the potential to be a powerful tool for any field that benefits from image visualization, processing, and analysis: earth sciences, astronomy, fluid dynamics, computer vision, signal processing, etc. Though initially developed for the life sciences, ImageJ is used in various other scientific disciplines as well.
We wanted to improve ImageJ’s modularity to facilitate its use as a software library, the creation of additional user interfaces, and integration and interoperability with external software suites.īroadening the ImageJ community. The field of software engineering has seen an explosion of available development tools and infrastructure, and it is no longer realistic to expect a single standalone application to remain universally relevant. The ImageJ infrastructure needed improvement to work effectively with these new modes of image data.Įnabling new software collaborations. However, with modern techniques we can record much more information: physical location in time and space (X, Y, Z, time), lifetime histograms across a range of spectral emission channels, polarization state of light, phase and frequency, angles of rotation (e.g., in light sheet fluorescence microscopy), and high-throughput screens, just to name a few.
For example, in the field of microscopy we were once limited to single image planes. Over time, the infrastructure of image acquisition has grown in sophistication and complexity. Supporting the next generation of image data. Key motivations for the development of ImageJ2 include: As such, we have developed ImageJ2: a total redesign of the previous incarnation (hereafter “ImageJ 1.x”), which builds on the original’s successful qualities while improving its core architecture to encompass the scientific demands of the decades to come. Such restructuring helps the program to remain accessible to newcomers, powerful enough for experts, and relevant to the demands of its ever-growing community.
After such an extended period of sustained growth, any software project benefits from a subsequent period of scrutiny and refactoring ImageJ is no exception. Over the past twenty years, the program has evolved far beyond its originally intended scope. Since its initial release in 1997, ImageJ has proven paramount in many scientific endeavors and projects, particularly those within the life sciences. ImageJ is a powerful, oft-referenced platform for image processing, developed by Wayne Rasband at the National Institutes of Health (NIH). Despite the scope of these changes, backwards compatibility is maintained such that this new functionality can be seamlessly integrated with the classic ImageJ interface, allowing users and developers to migrate to these new methods at their own pace. The redesigned data model supports arbitrarily large, N-dimensional datasets, which are increasingly common in modern image acquisition. Its robust new plugin framework allows everything from image formats, to scripting languages, to visualization to be extended by the community. 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.