New Extensibility and Scripting Tools in the ImageJ Ecosystem. Issue 8 (9th August 2021) - Gahm, Niklas A.; Rueden, Curtis T.; Evans, Edward L.; Selzer, Gabriel; Hiner, Mark C.; Chacko, Jenu V.; Gao, Dasong; Sherer, Nathan M.; Eliceiri, Kevin W.
Abstract: ImageJ provides a framework for image processing across scientific domains while being fully open source. Over the years ImageJ has been substantially extended to support novel applications in scientific imaging as they emerge, particularly in the area of biological microscopy, with functionality made more accessible via the Fiji distribution of ImageJ. Within this software ecosystem, work has been done to extend the accessibility of ImageJ to utilize scripting, macros, and plugins in a variety of programming scenarios, e.g., from Groovy and Python and in Jupyter notebooks and cloud computing. We provide five protocols that demonstrate the extensibility of ImageJ for various workflows in image processing. We focus first on Fluorescence Lifetime Imaging Microscopy (FLIM) data, since this requires significant processing to provide quantitative insights into the microenvironments of cells. Second, we show how ImageJ can now be utilized for common image processing techniques, specifically image deconvolution and inversion, while highlighting the new, built‐in features of ImageJ—particularly its capacity to run completely headless and the Ops matching feature that selects the optimal algorithm for a given function and data input, thereby enabling processing speedup. Collectively, these protocols can be used as a basis for automating biological image processing workflows. © 2021 Wiley Periodicals LLC. Basic Protocol 1 : Using PyImageJ for FLIM data processing Alternate Protocol : Groovy FLIMJ in Jupyter Notebooks Basic Protocol 2 : Using ImageJ Ops for image deconvolution Support Protocol 1 : Using ImageJ Ops matching feature for image inversion Support Protocol 2 : Headless ImageJ deconvolution