Frontiers in Bioinformatics (Sep 2024)

SciJava Ops: an improved algorithms framework for Fiji and beyond

  • Gabriel J. Selzer,
  • Curtis T. Rueden,
  • Mark C. Hiner,
  • Edward L. Evans,
  • Edward L. Evans,
  • David Kolb,
  • David Kolb,
  • Marcel Wiedenmann,
  • Marcel Wiedenmann,
  • Christian Birkhold,
  • Christian Birkhold,
  • Tim-Oliver Buchholz,
  • Tim-Oliver Buchholz,
  • Stefan Helfrich,
  • Brian Northan,
  • Alison Walter,
  • Alison Walter,
  • Alison Walter,
  • Johannes Schindelin,
  • Johannes Schindelin,
  • Johannes Schindelin,
  • Johannes Schindelin,
  • Tobias Pietzsch,
  • Stephan Saalfeld,
  • Stephan Saalfeld,
  • Michael R. Berthold,
  • Michael R. Berthold,
  • Kevin W. Eliceiri,
  • Kevin W. Eliceiri

DOI
https://doi.org/10.3389/fbinf.2024.1435733
Journal volume & issue
Vol. 4

Abstract

Read online

Decades of iteration on scientific imaging hardware and software has yielded an explosion in not only the size, complexity, and heterogeneity of image datasets but also in the tooling used to analyze this data. This wealth of image analysis tools, spanning different programming languages, frameworks, and data structures, is itself a problem for data analysts who must adapt to new technologies and integrate established routines to solve increasingly complex problems. While many “bridge” layers exist to unify pairs of popular tools, there exists a need for a general solution to unify new and existing toolkits. The SciJava Ops library presented here addresses this need through two novel principles. Algorithm implementations are declared as plugins called Ops, providing a uniform interface regardless of the toolkit they came from. Users express their needs declaratively to the Op environment, which can then find and adapt available Ops on demand. By using these principles instead of direct function calls, users can write streamlined workflows while avoiding the translation boilerplate of bridge layers. Developers can easily extend SciJava Ops to introduce new libraries and more efficient, specialized algorithm implementations, even immediately benefitting existing workflows. We provide several use cases showing both user and developer benefits, as well as benchmarking data to quantify the negligible impact on overall analysis performance. We have initially deployed SciJava Ops on the Fiji platform, however it would be suitable for integration with additional analysis platforms in the future.

Keywords