EasyXT-Fiji: Simplifying back and forth communication between Imaris and Fiji

Abstract number
33
Presentation Form
Poster
DOI
10.22443/rms.elmi2021.33
Corresponding Email
[email protected]
Session
Poster Session 2
Authors
Olivier Burri (1), Romain Guiet (1), Nicolas Chiaruttini (1), Arne Seitz (1)
Affiliations
1. BioImaging & Optics Platform (BIOP), Ecole Polytechnique Fédérale de Lausanne
Keywords

imaris fiji api workflows java interoperability jython groovy


Abstract text

ImageJ and more recently Fiji have been essential open source tools to the bioimage community for over 30 years now. Imaris is a closed source commercial software, overhauled to handle massive 3D datasets and it is broadly used in core-facilities and laboratories thanks to its user-friendliness and responsiveness. Unfortunately, well designed user interfaces tend to come at the expense of flexibility. An optional module (XTensions), allows Imaris to communicate with other softwares using an Application User Interface (API), enabling power users to communicate with the software at a lower level and create bridges between various applications. However, APIs tend to be hard to get to grasps with, and their design is hardly standardized, especially when bridging different programming languages (In this case C++ for Imaris and Java for the Imaris API). 


In order to leverage image processing and visualization speed of Imaris and flexibility of Fiji to solve complex biological questions using 3D microscopy. We present EasyXT-Fiji, a Java-best-practices API that wraps the native Imaris library and offers interconnectivity between Imaris and Fiji. It features a Builder Model approach to enable spot and surface detection in much the same way the UI-guided Imaris “Detection Wizards” natively function. Furthermore, well organized static classes enable easy translation between Fiji Objects (Results Tables, Images, Masks) and Imaris Objects (Statistics, Datasets, Surfaces, Spots). by using, amongst others, the mcib3d library. EasyXT is distributed as a Fiji update site, allowing for simplified installation on Imaris workstations. Being written in Java, it is accessible by all scripting languages available within Fiji (e.g. Groovy, JavaScript, …) excluding the ImageJ macro language. Finally EasyXT scripts are readily shared, improving reproducibility and allowing for batch processing of complex workflows. 


Multiple projects made in our Core Facility for different users illustrate its ease of use, rapid prototyping, and capacity to draw specific tools from the Open Source community lacking in the commercial software and lowering the difficulty for coders to take advantage of the Imaris API.