Skip to main content
. Author manuscript; available in PMC: 2023 May 1.
Published in final edited form as: Nat Methods. 2022 Nov;19(11):1326–1327. doi: 10.1038/s41592-022-01655-4

Figure 1.

Figure 1.

The software architecture of PyImageJ. Blue: The Python environment and example Python applications. Red: The ImageJ2 software stack with example plugins running in a special Python-integrated JVM. From the Python environment (1) PyImageJ uses JPype (from the scyjava layer) to create the Python-integrated JVM that will run the ImageJ2 software stack. This encapsulated JVM (2) incorporates all the user-requested Java libraries, including ImageJ, ImageJ2, and additional plugins e.g. from Fiji and/or other ImageJ update sites. The top Python layer, PyImageJ, provides access to the ImageJ2 gateway and Python convenience functions. The Python-side imglyb interfaces with the Java-side ImgLib2. Finally, the Python scyjava layer provides the foundational components such as JVM configuration and type conversions.