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
Initializes the PyramidalDataSource.
- Parameters:
file_name (str) – The name of the file to write to.
mode (str) – The mode to open the file in. Must be “w” for write or “r” for read.
Methods
__init__
([file_name, mode])Initializes the PyramidalDataSource.
close
()Close the image file.
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
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
Return array representation of data stored in data source.
Getter for the mode of the data source.
Getter for image size.
Getter for resolutions.
Getter for the shape as XYCZT.
Getter for image shape.
Getter for subdivisions.
Getter for the voxel size
Metadata object for the OME-Zarr data source.
- close() → None
Close the image file.
- 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:
- 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: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]
Getter for resolutions.
Store as XYZ per BDV spec.
- Returns:
resolutions – The resolutions.
- Return type:
npt.ArrayLike
- 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: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]
Getter for image shape.
Store as ZYX rather than XYZ, per BDV spec.
- Returns:
shapes – The shapes.
- Return type:
npt.ArrayLike
- property subdivisions: Union[_SupportsArray[dtype], _NestedSequence[_SupportsArray[dtype]], bool, int, float, complex, str, bytes, _NestedSequence[Union[bool, int, float, complex, str, bytes]]]
Getter for subdivisions.
Store as XYZ per BDV spec.
- Returns:
subdivisions – The subdivisions.
- Return type:
npt.ArrayLike
- property voxel_size: tuple
Getter for the voxel size
- Returns:
Voxel size in x, y, z dimensions.
- Return type:
tuple