navigate Logo

Getting Started

  • Quick Start Guide
  • Software Installation
  • I Want To…

User Guide

  • Supported Hardware
  • Supported File Formats
  • User Interface Walkthrough
  • Setting Up A Microscope
  • Acquiring Data
  • Case Studies

Development

  • Contributing Guidelines
  • Developer Install
  • Software Architecture
  • Feature Container
  • REST-API
  • Plugin Architecture

Troubleshooting & Known Issues

  • Troubleshooting
  • Known Issues

Plugins

  • navigate Plugin Template
  • navigate Confocal Projection
  • navigate at Scale
  • navigate Constant Velocity Acquisition
  • navigate MMCore
  • navigate ilastik Server
  • navigate Photoactivation

Reference

  • Implemented Microscopes
  • Software API
    • navigate.config
    • navigate.controller
    • navigate.log_files
    • navigate.model
      • navigate.model.analysis
      • navigate.model.concurrency
      • navigate.model.data_sources
        • navigate.model.data_sources.logger
        • navigate.model.data_sources.get_data_source
        • navigate.model.data_sources.bdv_data_source
        • navigate.model.data_sources.data_source
        • navigate.model.data_sources.pyramidal_data_source
        • navigate.model.data_sources.tiff_data_source
        • navigate.model.data_sources.zarr_data_source
      • navigate.model.device_startup_functions
      • navigate.model.devices
      • navigate.model.features
      • navigate.model.metadata_sources
      • navigate.model.microscope
      • navigate.model.model
      • navigate.model.plugins_model
      • navigate.model.waveforms
    • navigate.tools
    • navigate.view
navigate
  • Software API
  • navigate.model
  • navigate.model.data_sources
  • navigate.model.data_sources.zarr_data_source
  • navigate.model.data_sources.zarr_data_source.OMEZarrDataSource
  • View page source

navigate.model.data_sources.zarr_data_source.OMEZarrDataSource

class navigate.model.data_sources.zarr_data_source.OMEZarrDataSource(file_name: Optional[str] = None, mode: str = 'w')

Bases: PyramidalDataSource

OME-Zarr data source.

This class implements an OME-Zarr image data source using the Zarr v2 format.

__init__(file_name: Optional[str] = None, mode: str = 'w') → None

Initialize the OME-Zarr data source.

Parameters:
  • file_name (str) – Name of the file to open.

  • mode (str) – Mode to open the file in.

Methods

__init__([file_name, mode])

Initialize the OME-Zarr data source.

close()

Close the image file.

get_data([timepoint, position, channel, z, ...])

Get data according to timepoint, position, channel and z-axis id

get_shape_from_metadata()

Get the shape of the data source from the metadata.

get_slice(x, y, c[, z, t, p, subdiv])

Get a 3D slice of the dataset for a single c, t, p, subdiv.

new_position(pos, view)

Create new arrays on the fly for each position in self.positions.

read()

Reads data from the image file.

set_metadata(metadata_config)

Sets the metadata

set_metadata_from_configuration_experiment(...)

Sets the metadata from according to the microscope configuration.

setup()

Set up the Zarr writer.

write(data, **kw)

Writes 2D image to the data source.

Attributes

data

Return array representation of data stored in data source.

mode

Getter for the mode of the data source.

nbytes

Getter for image size.

resolutions

Getter for resolutions.

shape

Getter for the shape as XYCZT.

shapes

Getter for image shape.

subdivisions

Getter for subdivisions.

voxel_size

Getter for the voxel size

metadata

Metadata object for the OME-Zarr data source.

close() → None

Close the image file.

get_data(timepoint: int = 0, position: int = 0, channel: int = 0, z: int = -1, resolution: int = 1) → Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]

Get data according to timepoint, position, channel and z-axis id

Parameters:
  • timepoint (int) – The timepoint value

  • position (int) – The position id in multi-position table

  • channel (int) – The channel id

  • z (int) – The index of Z in a Z-stack. Return all z if -1.

  • resolution (int) – values from 1, 2, 4, 8

Returns:

data – Image data

Return type:

npt.ArrayLike

Raises:

NotImplementedError – If not implemented in a derived class.

get_shape_from_metadata()

Get the shape of the data source from the metadata.

get_slice(x, y, c, z=0, t=0, p=0, subdiv=0) → Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]

Get a 3D slice of the dataset for a single c, t, p, subdiv.

Parameters:
  • x (int or slice) – x indices to grab

  • y (int or slice) – y indices to grab

  • c (int) – Single channel

  • z (int or slice) – z indices to grab

  • t (int) – Single timepoint

  • p (int) – Single position

  • subdiv (int) – Subdivision of the dataset to index along

Returns:

3D (z, y, x) slice of data set

Return type:

npt.ArrayLike

new_position(pos, view)

Create new arrays on the fly for each position in self.positions.

Parameters:
  • pos (int) – Position index

  • view (str) – View name

read() → None

Reads data from the image file.

set_metadata(metadata_config: dict) → None

Sets the metadata

Parameters:

metadata_config (dict) – shape configuration: “c”, “z”, “t”, “p”, “is_dynamic”, “per_stack”

set_metadata_from_configuration_experiment(configuration: Dict[str, Any], microscope_name: Optional[str] = None) → None

Sets the metadata from according to the microscope configuration.

Parameters:
  • configuration (Dict[str, Any]) – The configuration experiment.

  • microscope_name (str) – The microscope name

setup()

Set up the Zarr writer.

write(data: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]], **kw) → None

Writes 2D image to the data source.

Parameters:
  • data (npt.ArrayLike) – 2D image data

  • kw (dict) – Keyword arguments

bits

Number of bits per pixel.

Type:

int

property data: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]

Return array representation of data stored in data source.

Returns:

Array representation of data stored in data source.

Return type:

npt.ArrayLike

Raises:

NotImplementedError – If not implemented in a derived class.

dc

Step size between channels (always 1)

Type:

float

dt

The time interval between frames (seconds).

Type:

float

dx

Pixel size in x dimension (microns). float: Pixel size in y dimension (microns). float: Pixel size in z dimension (microns).

Type:

float

dy

Pixel size in x dimension (microns). float: Pixel size in y dimension (microns). float: Pixel size in z dimension (microns).

Type:

float

dz

Pixel size in x dimension (microns). float: Pixel size in y dimension (microns). float: Pixel size in z dimension (microns).

Type:

float

file_name

Name of the file to read/write from.

Type:

str

logger

Logger for this class.

Type:

logging.Logger

metadata

Metadata object for the OME-Zarr data source.

Type:

OMEZarrMetadata

property mode: str

Getter for the mode of the data source.

Returns:

Mode of the data source.

Return type:

str

property nbytes: int

Getter for image size.

Size in bytes. Overrides base class. Accounts for subdivisions.

Returns:

size – The size of the image in bytes.

Return type:

int

positions

Number of positions in the data source.

Type:

int

property resolutions: ndarray[Any, dtype[ScalarType]]

Getter for resolutions.

Store as XYZ per BDV spec.

Returns:

resolutions – The resolutions.

Return type:

npt.NDArray

property shape: tuple

Getter for the shape as XYCZT.

Returns:

Shape of the data source in XYCZT format.

Return type:

tuple

shape_c

Size of the data source in c dimension.

Type:

int

shape_t

Size of the data source in t dimension.

Type:

int

shape_x

Size of the data source in x dimension.

Type:

int

shape_y

Size of the data source in y dimension.

Type:

int

shape_z

Size of the data source in z dimension.

Type:

int

property shapes: ndarray[Any, dtype[ScalarType]]

Getter for image shape.

Store as ZYX rather than XYZ, per BDV spec.

Returns:

shapes – The shapes.

Return type:

npt.NDArray

property subdivisions: ndarray[Any, dtype[ScalarType]]

Getter for subdivisions.

Store as XYZ per BDV spec.

Returns:

subdivisions – The subdivisions.

Return type:

npt.NDArray

property voxel_size: tuple

Getter for the voxel size

Returns:

Voxel size in x, y, z dimensions.

Return type:

tuple

Previous Next

© Copyright 2025, Dean Lab, UT Southwestern Medical Center.