Skip to main content

Python package for processing large-scale microscopy datasets generated by Arcadia's imaging suite

Project description

arcadia-microscopy-tools

uv

This repository contains a Python package called arcadia_microscopy_tools. The purpose of this Python package is for facilitating analysis of large-scale microscopy datasets generated by Arcadia's imaging suite which includes several microscopes:

  • Nikon ECLIPSE Ti2-E (Hina)
  • Nikon ECLIPSE Ni-E (Babu Frik)
  • Leica Stellaris 8 (The Borg)

This package provides tooling for image preprocessing, cell/particle segmentation, morphology analysis, fluorescence quantification, and batch processing pipelines. Supports ND2 files from Nikon microscopes via nd2 and LIF files from Leica microscopes via liffile. The package integrates with popular scientific Python libraries for streamlined high-content screening and quantitative microscopy workflows.

Installation

Basic installation

Install the core package with essential dependencies:

pip install arcadia-microscopy-tools

Optional dependencies

Install with optional features using extras:

  • [segmentation] - Cellpose for cell/particle segmentation
  • [compute] - Modal for cloud-based processing
  • [all] - All optional dependencies
# Example: install with segmentation support
pip install "arcadia-microscopy-tools[segmentation]"

# Or install all optional dependencies
pip install "arcadia-microscopy-tools[all]"

Usage

Loading microscopy images

Load ND2 files from Nikon microscopes:

from pathlib import Path
from arcadia_microscopy_tools.microscopy import MicroscopyImage

# Load a Nikon ND2 file
example_nd2_path = Path("src/arcadia_microscopy_tools/tests/data/example-multichannel.nd2")
image = MicroscopyImage.from_nd2_path(example_nd2_path)

# Access basic properties
image.shape          # Array shape: (4, 256, 256)
image.sizes          # Dimension mapping: {'C': 4, 'Y': 256, 'X': 256}
image.channels       # List of Channel objects: [Channel(name='BRIGHTFIELD', ...), ...]
image.num_channels   # Number of channels: 4

Load LIF files from Leica microscopes:

from arcadia_microscopy_tools.leica import list_image_names

# LIF files can contain multiple images — list them first
lif_path = Path("path/to/image.lif")
print(list_image_names(lif_path))  # e.g. ['Series001', 'Series002']

# Load a specific image by name
image = MicroscopyImage.from_lif_path(lif_path, image_name="Series001")

Working with channels

Extract intensity data for specific channels:

from arcadia_microscopy_tools.channels import DAPI

# Get intensity data for a specific channel
dapi_intensities = image.get_intensities_from_channel(DAPI)

# The returned array preserves temporal/spatial dimensions
dapi_intensities.shape  # (256, 256)

For more examples, see the docs/examples directory.

Contributing

See how we recognize feedback and contributions to our code.

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

arcadia_microscopy_tools-0.3.0.tar.gz (3.4 MB view details)

Uploaded Source

Built Distribution

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

arcadia_microscopy_tools-0.3.0-py3-none-any.whl (1.9 MB view details)

Uploaded Python 3

File details

Details for the file arcadia_microscopy_tools-0.3.0.tar.gz.

File metadata

  • Download URL: arcadia_microscopy_tools-0.3.0.tar.gz
  • Upload date:
  • Size: 3.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for arcadia_microscopy_tools-0.3.0.tar.gz
Algorithm Hash digest
SHA256 aa6d15e42f59e59489cae1165feef8986105ef1aa8924458127e661d03f9ba49
MD5 98854204eb7fc4e0208be44fb70ee8b7
BLAKE2b-256 cabb582676cc1c3c4e796f3fe15d10a6756e2fa95d5b876dba858936948d5c39

See more details on using hashes here.

File details

Details for the file arcadia_microscopy_tools-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: arcadia_microscopy_tools-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 1.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for arcadia_microscopy_tools-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 519b41f962d304bccd2b91c549817310928741d34c8b3cba568437e77bbf79b3
MD5 f0399c488005372568abc446346e459f
BLAKE2b-256 f66f56d2f7c30ed70acd271b8a19ec7179ab227a79cd49987fa6bfbadb75c860

See more details on using hashes here.

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