Skip to main content

A BioIO reader plugin for reading ND2 images.

Project description

bioio-nd2

Build Status PyPI version License Python 3.10–3.13

A BioIO reader plugin for reading nd2 (Nikon microscope) files using nd2


Documentation

See the full documentation on our GitHub pages site - the generic use and installation instructions there will work for this package.

Information about the base reader this package relies on can be found in the bioio-base repository here

Installation

Stable Release: pip install bioio-nd2
Development Head: pip install git+https://github.com/bioio-devs/bioio-nd2.git

Example Usage (see full documentation for more examples)

Install bioio-nd2 alongside bioio:

pip install bioio bioio-nd2

This example shows a simple use case for just accessing the pixel data of the image by explicitly passing this Reader into the BioImage. Passing the Reader into the BioImage instance is optional as bioio will automatically detect installed plug-ins and auto-select the most recently installed plug-in that supports the file passed in.

from bioio import BioImage
import bioio_nd2

img = BioImage("my_file.nd2", reader=bioio_nd2.Reader)
img.data

Multi-Well Plate & Well Assignment Support (ND2)

bioio-nd2 includes support for mapping ND2 XY stage positions to multi-well plate positions (e.g. A1, B3, H12). This is primarily intended for experiments acquired using Nikon’s XYPosLoop functionality on multi-well plates.

⚠️ If the ND2 file does not contain XY position metadata (XYPosLoop), no well mapping is performed and row / column will be None.

A standard 96-well plate geometry is available as PLATE_96

from bioio import BioImage
import bioio_nd2
from bioio_nd2.plates import PLATE_96

img = BioImage(
    "my_file.nd2",
    reader=bioio_nd2.Reader,
    plate=PLATE_96,
)

img.set_scene(0)

img.reader.row     # e.g. "B"
img.reader.column  # e.g. "3"

Custom Plate Geometries

Users may define their own plate geometry and pass it to the reader.

from bioio import BioImage
import bioio_nd2
from bioio_nd2.plates import Plate, WellAssignmentMode

custom_plate = Plate(
    name="custom_96",
    rows=list("ABCDEFGH")[::-1],
    cols=[str(i) for i in range(1, 13)],
    plate_width_mm=126.6,
    plate_height_mm=85.7,
    a1_offset_mm=(14.3, 11.36),
    well_spacing_um=9000.0,
    well_radius_um=6210.0 / 2,
    assignment_mode=WellAssignmentMode.CLOSEST,
)

img = BioImage(
    "my_file.nd2",
    reader=bioio_nd2.Reader,
    plate=custom_plate,
)

Controlling well assignment strictness

The plate definition includes a well assignment mode that controls how strictly stage positions must correspond to a physical well.

Available modes:

Mode Behavior
CLOSEST Always assign the nearest well (most permissive)
WITHIN_WELL Assign only if position falls within the well radius
HALF_SPACING Assign only if within half the inter-well spacing

In strict modes, scenes that fall outside the allowed region will have row / column set to None.


Issues

Click here to view all open issues in bioio-devs organization at once or check this repository's issue tab.

Development

See CONTRIBUTING.md for information related to developing the 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

bioio_nd2-2.3.0.tar.gz (24.0 kB view details)

Uploaded Source

Built Distribution

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

bioio_nd2-2.3.0-py3-none-any.whl (16.1 kB view details)

Uploaded Python 3

File details

Details for the file bioio_nd2-2.3.0.tar.gz.

File metadata

  • Download URL: bioio_nd2-2.3.0.tar.gz
  • Upload date:
  • Size: 24.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bioio_nd2-2.3.0.tar.gz
Algorithm Hash digest
SHA256 a33ec4f27ab67d75d936ca8981d611656681621f6a92febd3f604b3bceef994e
MD5 b9f4d5df1a026a37cb6ae593e2ba11ec
BLAKE2b-256 943dcc62bae7c9c1addfea7e7291616331befd6bd97379b136ed19e74622edae

See more details on using hashes here.

Provenance

The following attestation bundles were made for bioio_nd2-2.3.0.tar.gz:

Publisher: ci.yml on bioio-devs/bioio-nd2

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

File details

Details for the file bioio_nd2-2.3.0-py3-none-any.whl.

File metadata

  • Download URL: bioio_nd2-2.3.0-py3-none-any.whl
  • Upload date:
  • Size: 16.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for bioio_nd2-2.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a4e0fba9819bc69f1392e01e9f928f7f11a3949f0f505bc585cc7c5e7e0779e0
MD5 cf0d69bf4605d2f8b1ec440117c6ff8b
BLAKE2b-256 665a5c3932abac0ccb1f684f5147a96a0dfa03eecc2d28dcf5c4887ea284036d

See more details on using hashes here.

Provenance

The following attestation bundles were made for bioio_nd2-2.3.0-py3-none-any.whl:

Publisher: ci.yml on bioio-devs/bioio-nd2

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