Skip to main content

Python wrapper for ImageJ

Project description

PyImageJ: Python wrapper for ImageJ2

Image.sc Forum Build Status codecov

PyImageJ provides a set of wrapper functions for integration between ImageJ2 and Python. It also supports the original ImageJ API and data structures.

A major advantage of this approach is the ability to combine ImageJ and ImageJ2 with other tools available from the Python software ecosystem, including NumPy, SciPy, scikit-image, CellProfiler, OpenCV, ITK and many more.

Quick Start

Jump into the documentation and tutorials to get started!

System Requirements

Hardware Requirements

PyImageJ requires at minimum a standard computer with enough RAM and CPU performance to support the workflow operations defined by the user. While PyImageJ will run on a range of hardware, we recommend the following RAM and CPU specifications:

  • RAM: >= 2 GB (64 MB minimum)
  • CPU: >= 1 core

Notably, PyImageJ can be installed and used on server infrastructure for large scale image processing.

OS Requirements

PyImageJ has been tested on the following operating systems:

  • Linux (Ubuntu 20.04 LTS)
  • Windows
  • macOS

Software Requirements

PyImageJ requires Python >= 3.6 and the following packages:

Please see setup.cfg or environment.yml for the minimum version requirements of each package. PyImageJ will not function properly if dependency versions are too old.

In addition, PyImageJ requires OpenJDK and Maven to be installed.

Installation

PyImageJ can be installed using Conda+Mamba. Here is how to create and activate a new conda environment with PyImageJ available:

conda install mamba -n base -c conda-forge
mamba create -n pyimagej -c conda-forge pyimagej openjdk=8
conda activate pyimagej

Alternately, you can install PyImageJ with pip, but in this case you will need to install OpenJDK and Maven manually.

Installation time takes approximately 20 seconds. Initializing PyImageJ takes an additional ~30 seconds to ~2-3 minutes (depending on bandwidth) while it downloads and caches the needed Java libraries.

For detailed installation instructions and requirements, see Install.md.

Usage

The first step when using PyImageJ is to create an ImageJ2 gateway. This gateway can point to any official release of ImageJ2 or to a local installation. Using the gateway, you have full access to the ImageJ2 API, plus utility functions for translating between Python (NumPy, xarray, pandas, etc.) and Java (ImageJ2, ImgLib2, etc.) structures.

For instructions on how to start up the gateway for various settings, see Initialization.md.

Here is an example of opening an image using ImageJ2 and displaying it:

# Create an ImageJ2 gateway with the newest available version of ImageJ2.
import imagej
ij = imagej.init()

# Load an image.
image_url = 'https://imagej.net/images/clown.jpg'
jimage = ij.io().open(image_url)

# Convert the image from ImageJ2 to xarray, a package that adds
# labeled datasets to numpy (http://xarray.pydata.org/en/stable/).
image = ij.py.from_java(jimage)

# Display the image (backed by matplotlib).
ij.py.show(image, cmap='gray')

For more, see the documentation and tutorials.

API Reference

For a complete reference of the PyImageJ API please see the PyImageJ Read the Docs site.

Getting Help

The Scientific Community Image Forum is the best place to get general help on usage of PyImageJ, ImageJ2, and any other image processing tasks. Bugs can be reported to the PyImageJ GitHub issue tracker.

Contributing

All contributions, reports, and ideas are welcome. Contribution is done via pull requests onto the pyimagej repository.

Most development discussion takes place on the pyimagej GitHub repository. You can also reach the developers at the pyimagej gitter.

For details on how to develop the PyImageJ codebase, see Development.md.


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyimagej-1.2.1.tar.gz (51.1 kB view details)

Uploaded Source

Built Distribution

pyimagej-1.2.1-py3-none-any.whl (29.7 kB view details)

Uploaded Python 3

File details

Details for the file pyimagej-1.2.1.tar.gz.

File metadata

  • Download URL: pyimagej-1.2.1.tar.gz
  • Upload date:
  • Size: 51.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for pyimagej-1.2.1.tar.gz
Algorithm Hash digest
SHA256 46d20b7013c435f59cfcc9a2c58271422141ac11cf6d593f0440f7e156f0ff67
MD5 d47ed1427895e2571070ad15907f033b
BLAKE2b-256 7d222b0f8fc92bed4401290b86b722276fb6456bc8ae94a13ab80d61731035fe

See more details on using hashes here.

File details

Details for the file pyimagej-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: pyimagej-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 29.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/0.0.0 importlib_metadata/4.8.2 pkginfo/1.8.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.12

File hashes

Hashes for pyimagej-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dc9f638283c485223cf9c1461a22ca969528da83f062ebf506610530344e433e
MD5 1b8f106c8c054362cb2f48e531e8eb03
BLAKE2b-256 1f1d38e23333e2f7b57f0a2ab1bf3d07bd269737554dde35d39e706ece10db50

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page