Tales from the Trenches: Developing sciview, a new 3D viewer for the ImageJ community

Ulrik Günther,Kyle I.S. Harrington
DOI: https://doi.org/10.48550/arXiv.2004.11897
2020-04-24
Abstract:ImageJ/Fiji is a widely-used tool in the biomedical community for performing everyday image analysis tasks. However, its 3D viewer component (aptly named 3D Viewer) has become dated and is no longer actively maintained. We set out to create an alternative tool that not only brings modern concepts and APIs from computer graphics to ImageJ, but is designed to be robust to long-term, open-source development. To achieve this we divided the visualization logic into two parts: the rendering framework, scenery, and the user-facing application, sciview. In this paper we describe the development process and design decisions made, putting an emphasis on sustainable development, community building, and software engineering best practises. We highlight the motivation for the Java Virtual Machine (JVM) as a target platform for visualisation applications. We conclude by discussing the remaining milestones and strategy for long-term sustainability.
Graphics
What problem does this paper attempt to address?
The problem that this paper attempts to solve is the deficiencies of 3D visualization tools in the existing ImageJ/Fiji ecosystem, especially that its 3D Viewer component is obsolete and no longer maintained. Specifically: 1. **Limitations of 3D Viewer**: - The existing 3D Viewer depends on Java3D, which has not been updated since the release of Java 6 in 2006. - It only supports OpenGL 1.2 and cannot take advantage of the performance and functionality improvements provided by modern graphics APIs such as Vulkan. - It lacks support for large - scale image data, especially when dealing with image data generated by microscopes at 1GB or more per second. 2. **The gap between community needs and technological progress**: - There is an increasing demand for more advanced and efficient 3D visualization tools in the biomedical research field. - An open - source tool that can be maintained and supported in the long term is needed to adapt to the ever - evolving computer graphics technology. To solve these problems, the author has developed two new tools: - **scenery**: A flexible rendering framework, aiming to support functions such as virtual reality (VR), augmented reality (AR), distributed rendering, and large - scale volume rendering. - **sciview**: As a plugin for ImageJ/Fiji, it integrates the functions of scenery into the ImageJ/Fiji ecosystem, enabling users to easily access these advanced 3D visualization functions. Through these two tools, the author hopes to bridge the gap between visualization research and visualization software (VisGap) and provide a more modern and sustainable 3D visualization solution for biomedical image processing and analysis.