SciJava Ops: an improved algorithms framework for Fiji and beyond

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...

Full description

Saved in:
Bibliographic Details
Published inFrontiers in bioinformatics Vol. 4; p. 1435733
Main Authors Selzer, Gabriel J., Rueden, Curtis T., Hiner, Mark C., Evans, Edward L., Kolb, David, Wiedenmann, Marcel, Birkhold, Christian, Buchholz, Tim-Oliver, Helfrich, Stefan, Northan, Brian, Walter, Alison, Schindelin, Johannes, Pietzsch, Tobias, Saalfeld, Stephan, Berthold, Michael R., Eliceiri, Kevin W.
Format Journal Article
LanguageEnglish
Published Switzerland Frontiers Media S.A 2024
Subjects
Online AccessGet full text
ISSN2673-7647
2673-7647
DOI10.3389/fbinf.2024.1435733

Cover

More Information
Summary: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.
Bibliography:ObjectType-Article-1
SourceType-Scholarly Journals-1
ObjectType-Feature-2
content type line 23
ISSN:2673-7647
2673-7647
DOI:10.3389/fbinf.2024.1435733