Skip to content
Snippets Groups Projects
Select Git revision
  • 7a002e4c5accb37a97c8f1551a0e9b898739cdc3
  • main default protected
  • simp
3 results

flake.nix

Blame
  • 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)