Skip to main content

Using OME specifications with Apache Arrow for fast, queryable, and language agnostic bioimage data.

Project description

PyPI - Version Build Status Ruff uv

Open, interoperable, and queryable microscopy images with OME Arrow

OME-Arrow uses Open Microscopy Environment (OME) specifications through Apache Arrow for fast, queryable, and language agnostic bioimage data.

Images are often left behind from the data model, referenced but excluded from databases.

OME-Arrow brings images back into the story.

OME Arrow enables image data to be stored alongside metadata or derived data such as single-cell morphology features. Images in OME Arrow are composed of mutlilayer structs so they may be stored as values within tables. This means you can store, query, and build relationships on data from the same location using any system which is compatible with Apache Arrow (including Parquet) through common data interfaces (such as SQL and DuckDB).

Installation

Install OME Arrow from PyPI or from source:

# install from pypi
pip install ome-arrow

# install directly from source
pip install git+https://github.com/wayscience/ome-arrow.git

Quick start

See below for a quick start guide. Please also reference an example notebook: Learning to fly with OME-Arrow.

from ome_arrow import OMEArrow

# Ingest a tif image through a convenient OME Arrow class
# We can also ingest OME-Zarr or NumPy arrays.
oa_image = OMEArrow(
    data="your_image.tif"
)

# Access the OME Arrow struct itself
# (compatible with Arrow-compliant data storage).
oa_image.data

# Show information about the image.
oa_image.info()

# Display the image with matplotlib.
oa_image.view(how="matplotlib")

# Display the image with pyvista
# (great for ZYX 3D images).
oa_image.view(how="pyvista")

# Export to OME-Parquet.
# We can also export OME-TIFF, OME-Zarr or NumPy arrays.
oa_image.export(how="ome-parquet", out="your_image.ome.parquet")

Contributing, Development, and Testing

Please see our contributing documentation for more details on contributions, development, and testing.

Related projects

OME Arrow is used or inspired by the following projects, check them out!

  • napari-ome-arrow: enables you to view OME Arrow and related images.
  • nViz: focuses on ingesting and visualizing various 3D image data.
  • CytoDataFrame: provides a DataFrame-like experience for viewing feature and microscopy image data within Jupyter notebook interfaces.
  • coSMicQC: performs quality control on microscopy feature datasets, visualized using CytoDataFrames.

Project details


Download files

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

Source Distribution

ome_arrow-0.0.3.tar.gz (1.6 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ome_arrow-0.0.3-py3-none-any.whl (32.0 kB view details)

Uploaded Python 3

File details

Details for the file ome_arrow-0.0.3.tar.gz.

File metadata

  • Download URL: ome_arrow-0.0.3.tar.gz
  • Upload date:
  • Size: 1.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ome_arrow-0.0.3.tar.gz
Algorithm Hash digest
SHA256 efeb82385b8625516c3d967b97c55e77b76800c49e36e1e8a3f2a833cfc00582
MD5 72f47aa32bf10ce025c4ac2ed23ed3f7
BLAKE2b-256 5d4ff6ab6cd8aba1cc6aebcc522fcb1075f593fea2fd71312e13681ab8bb8524

See more details on using hashes here.

Provenance

The following attestation bundles were made for ome_arrow-0.0.3.tar.gz:

Publisher: publish-pypi.yml on WayScience/ome-arrow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file ome_arrow-0.0.3-py3-none-any.whl.

File metadata

  • Download URL: ome_arrow-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 32.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for ome_arrow-0.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 66be0542055a44a7a36da4dc4685e0806ba4caa6442afdc4acd47170c1c646e5
MD5 758e3ba76562feadd6d9f18b54227fd6
BLAKE2b-256 02d7c8b5f8fcf3346b384bdbf12072baf4f7fba7eeb88872ce31f4f7b9579f64

See more details on using hashes here.

Provenance

The following attestation bundles were made for ome_arrow-0.0.3-py3-none-any.whl:

Publisher: publish-pypi.yml on WayScience/ome-arrow

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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