pyimagej

Use ImageJ from Python

https://github.com/imagej/pyimagej

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    7 of 18 committers (38.9%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (15.7%) to scientific vocabulary

Keywords from Contributors

napari
Last synced: 10 months ago · JSON representation

Repository

Use ImageJ from Python

Basic Info
  • Host: GitHub
  • Owner: imagej
  • License: other
  • Language: Python
  • Default Branch: main
  • Homepage: https://py.imagej.net
  • Size: 34.3 MB
Statistics
  • Stars: 512
  • Watchers: 22
  • Forks: 92
  • Open Issues: 56
  • Releases: 0
Created over 8 years ago · Last pushed 10 months ago
Metadata Files
Readme License

README.md

PyImageJ: Python wrapper for ImageJ2

Image.sc Forum Build Status Binder

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 the following packages:

PyImageJ will not function properly if dependency versions are too old.

Installation

On Mac and Linux, 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 conda activate pyimagej

Alternately, you can pip install pyimagej.

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

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 How to initialize PyImageJ.

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

```python

Create an ImageJ2 gateway with the newest available version of ImageJ2.

import imagej ij = imagej.init()

Load an image.

imageurl = 'https://imagej.net/images/clown.jpg' jimage = ij.io().open(imageurl)

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

API Reference

For a complete reference of the PyImageJ API, please see the API Reference.

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 Image.sc Zulip chat.

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


Owner

  • Name: ImageJ
  • Login: imagej
  • Kind: organization

Open source scientific multidimensional image processing

GitHub Events

Total
  • Create event: 11
  • Commit comment event: 1
  • Issues event: 19
  • Watch event: 37
  • Delete event: 9
  • Issue comment event: 67
  • Push event: 80
  • Pull request event: 16
  • Pull request review event: 8
  • Pull request review comment event: 4
  • Fork event: 10
Last Year
  • Create event: 11
  • Commit comment event: 1
  • Issues event: 19
  • Watch event: 37
  • Delete event: 9
  • Issue comment event: 67
  • Push event: 80
  • Pull request event: 16
  • Pull request review event: 8
  • Pull request review comment event: 4
  • Fork event: 10

Committers

Last synced: about 1 year ago

All Time
  • Total Commits: 1,096
  • Total Committers: 18
  • Avg Commits per committer: 60.889
  • Development Distribution Score (DDS): 0.598
Past Year
  • Commits: 71
  • Committers: 5
  • Avg Commits per committer: 14.2
  • Development Distribution Score (DDS): 0.423
Top Committers
Name Email Commits
Edward Evans e****2@w****u 441
Curtis Rueden c****n@w****u 409
Gabriel Selzer g****r@w****u 64
Mark Hiner h****m@g****m 62
Leon Yang l****g@g****m 40
Michael Pinkert m****1@g****m 37
Yang Liu l****4@w****u 21
Jan Eglinger j****r@g****m 6
Hadrien Mary h****y@g****m 4
William w****g@p****u 2
Bin Li b****6@w****u 2
Carlos Sessa m****e@g****m 2
CanYing0913 c****3@g****m 1
Darío Hereñú m****a@g****m 1
Jan Gleixner j****r@g****m 1
Philipp Hanslovsky P****y@g****m 1
Claire McQuin m****n@b****g 1
Wei Ouyang o****7@g****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 143
  • Total pull requests: 57
  • Average time to close issues: 8 months
  • Average time to close pull requests: 3 months
  • Total issue authors: 71
  • Total pull request authors: 11
  • Average comments per issue: 3.75
  • Average comments per pull request: 3.7
  • Merged pull requests: 41
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 10
  • Pull requests: 20
  • Average time to close issues: 4 days
  • Average time to close pull requests: 5 days
  • Issue authors: 8
  • Pull request authors: 4
  • Average comments per issue: 2.0
  • Average comments per pull request: 2.1
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ctrueden (32)
  • elevans (14)
  • hinerm (7)
  • gselzer (7)
  • oeway (4)
  • mpinkert (3)
  • CanYing0913 (3)
  • BrandonUL (2)
  • JeBiUKD (2)
  • somsubhro88 (2)
  • mol666 (2)
  • wzr0108 (2)
  • tornikepirveli (2)
  • chautuankien (2)
  • carshadi (2)
Pull Request Authors
  • gselzer (24)
  • elevans (19)
  • WillGiang (2)
  • ctrueden (2)
  • AdamDHines (2)
  • radRoy (2)
  • tferr (2)
  • CanYing0913 (1)
  • mpinkert (1)
  • binli123 (1)
  • karlduderstadt (1)
Top Labels
Issue Labels
tech-support (28) enhancement (27) bug (18) question (6) macos-gui (6) headless (4) duplicate (1)
Pull Request Labels
enhancement (11) bug (8) headless (2)

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 3,343 last-month
  • Total docker downloads: 345
  • Total dependent packages: 10
    (may contain duplicates)
  • Total dependent repositories: 23
    (may contain duplicates)
  • Total versions: 28
  • Total maintainers: 4
pypi.org: pyimagej

Python wrapper for ImageJ

  • Versions: 17
  • Dependent Packages: 8
  • Dependent Repositories: 18
  • Downloads: 3,343 Last month
  • Docker Downloads: 345
Rankings
Dependent packages count: 1.3%
Docker downloads count: 2.1%
Dependent repos count: 3.4%
Average: 3.5%
Downloads: 7.2%
Maintainers (4)
Last synced: 10 months ago
conda-forge.org: pyimagej
  • Versions: 11
  • Dependent Packages: 2
  • Dependent Repositories: 5
Rankings
Dependent repos count: 14.8%
Dependent packages count: 19.6%
Average: 19.7%
Stargazers count: 21.1%
Forks count: 23.5%
Last synced: 10 months ago

Dependencies

pyproject.toml pypi
  • imglyb >= 2.0.1
  • jgo >= 1.0.3
  • jpype1 >= 1.3.0
  • labeling >= 0.1.12
  • numpy *
  • scyjava >= 1.8.0
  • xarray *
doc/requirements.txt pypi
  • myst-nb *
  • readthedocs-sphinx-search *
  • sphinx_rtd_theme *
.github/workflows/build.yml actions
  • actions/checkout v2 composite
  • actions/setup-java v3 composite
  • actions/setup-python v3 composite
  • codecov/codecov-action v2 composite
  • conda-incubator/setup-miniconda v2 composite
  • isort/isort-action master composite
  • psf/black stable composite
environment.yml pypi