Select Git revision
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
convert.py 1.48 KiB
import numpy as np
import tifffile as tiff
import zarr
def convert_tif_to_zarr(tif_path, zarr_path, chunks=(64, 64, 64)):
""" Convert a tiff file to a zarr file
Args:
tif_path (str): path to the tiff file
zarr_path (str): path to the zarr file
chunks (tuple, optional): chunk size for the zarr file. Defaults to (64, 64, 64).
Returns:
zarr.core.Array: zarr array containing the data from the tiff file
"""
vol = tiff.memmap(tif_path)
z = zarr.open(zarr_path, mode='w', shape=vol.shape, chunks=chunks, dtype=vol.dtype)
z[:] = vol[:]
return z
def convert_npy_to_zarr(npy_path, zarr_path, shape, dtype=np.float32, chunks=(64, 64, 64)):
""" Convert a numpy file to a zarr file
Args:
npy_path (str): path to the numpy file
zarr_path (str): path to the zarr file
chunks (tuple, optional): chunk size for the zarr file. Defaults to (64, 64, 64).
Returns:
zarr.core.Array: zarr array containing the data from the numpy file
"""
vol = np.memmap(npy_path, dtype=dtype, mode='r', shape=shape)
z = zarr.open(zarr_path, mode='w', shape=vol.shape, chunks=chunks, dtype=vol.dtype)
z[:] = vol[:]
return z
def convert_zarr_to_tif(zarr_path, tif_path):
""" Convert a zarr file to a tiff file
Args:
zarr_path (str): path to the zarr file
tif_path (str): path to the tiff file
returns:
None
"""
z = zarr.open(zarr_path)
tiff.imwrite(tif_path, z)