As mentioned in #15 (comment) and various other places we need to decide and pin down the API for the input and output to all the encode and decode methods.
Many of the methods require knowing the tile size and the dtype of the buffer (maybe other things?).
We should probably take a lot of inspiration or even directly steal what numcodecs does, but at the very least we need our API to be compatible (i.e. a valid subset) of theirs.
The numcodecs helper function ensure_contiguious_ndarray looks like it would do what we want?
https://github.com/zarr-developers/numcodecs/blob/be267852afaba9f67c534f106bbc7586a41cbc60/numcodecs/compat.py#L126
I guess we need to decide if we want to depend on numcodecs or vendor / reimplement that helper function?
As mentioned in #15 (comment) and various other places we need to decide and pin down the API for the input and output to all the
encodeanddecodemethods.Many of the methods require knowing the tile size and the dtype of the buffer (maybe other things?).
We should probably take a lot of inspiration or even directly steal what numcodecs does, but at the very least we need our API to be compatible (i.e. a valid subset) of theirs.
The numcodecs helper function
ensure_contiguious_ndarraylooks like it would do what we want?https://github.com/zarr-developers/numcodecs/blob/be267852afaba9f67c534f106bbc7586a41cbc60/numcodecs/compat.py#L126
I guess we need to decide if we want to depend on numcodecs or vendor / reimplement that helper function?