是否有可能有不同的压缩机,例如,有耗和无损的个别块?
在这种情况下,您有一个重要的掩码,您希望保持信号的无损压缩,甚至没有压缩,但有其他部分的有损压缩的效率和空间。
例如,我们有:
进口扎尔 Z=zarr.zeros(32,32),chunks=(4,4))
我们想要保留的重要区域是A(4:11,4:11),在这里我们想要实现无损,例如zlib,然后对于剩下的部分,我们使用来自numcodecs的quantize进行有损。因此,我们将对掩码内感兴趣的部分进行高精度的压缩,对掩模外的部分进行有损压缩,并在块级为单个数组的不同部分提供两种不同的压缩器。
发布于 2019-03-15 13:00:56
目前这是不可能的。压缩器接口必须接收encode()的坐标。然后,您可以实现一个压缩程序,它将根据坐标决定丢失编码信息。因为压缩机是在块上工作的,所以你必须选择块块,这样它就与你想要改变保真度的边界保持一致。
总的来说,我认为您只需编写一个包装器就更容易了,它将针对不同的保真度将几个zarr商店结合在一起,并将它们覆盖在access和writing上。
https://stackoverflow.com/questions/53383849
复制相似问题