Python package for processing large-scale microscopy datasets generated by Arcadia's imaging suite
Project description
arcadia-microscopy-tools
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 a Leica LIF file from The Borg:
from pathlib import Path
from arcadia_microscopy_tools import MicroscopyImage
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")
Load a Nikon ND2 file from Hina:
# Load an example ND2 file from the test suite
example_nd2_path = Path("src/arcadia_microscopy_tools/tests/data/example-multichannel.nd2")
image = MicroscopyImage.from_nd2_path(example_nd2_path)
MicroscopyImage objects work the same way across both instrument formats:
# 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
image.dimensions # Axes present: <DimensionFlags.MULTICHANNEL: 1>
image.metadata # Combined instrument and optional sample metadata
image.intensities # Raw pixel data as a NumPy array
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file arcadia_microscopy_tools-0.3.2.tar.gz.
File metadata
- Download URL: arcadia_microscopy_tools-0.3.2.tar.gz
- Upload date:
- Size: 3.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf45a847b243aa1c364bc07a0e901dd8006e013dc5bbc2792f3408e9304ed8c9
|
|
| MD5 |
98c280d4f9e110701956af03fe5d0568
|
|
| BLAKE2b-256 |
8e590be702d252c7bf935a9f4eca83db1435ab85b5da99575943810bdf35ea0f
|
File details
Details for the file arcadia_microscopy_tools-0.3.2-py3-none-any.whl.
File metadata
- Download URL: arcadia_microscopy_tools-0.3.2-py3-none-any.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.11.0 {"installer":{"name":"uv","version":"0.11.0","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
324a711d420921bbea9ceffc08f435ff0b91bf9471043c93ed661b0f32eb526b
|
|
| MD5 |
f2930393121da233b49ea11eda7aa9e4
|
|
| BLAKE2b-256 |
8e1ad3297a140a1694b9a00707575ec7a8aac6d353fa43a57ca316124efd9839
|