lincbrain / linc-convert

Data conversion scripts for the LINC project
Apache License 2.0
0 stars 0 forks source link

using jpegxl or other imagecodecs #4

Open satra opened 5 months ago

satra commented 5 months ago

posted a snippet on using the jpegxl converter here: https://forum.image.sc/t/jpeg-xl-compression/93656/2

balbasty commented 5 months ago

I get a page not found

satra commented 5 months ago

perhaps it requires signing in.

balbasty commented 5 months ago

I have created an account but it still tells me "Oops! That page doesn’t exist or is private."

Maybe I need to suscribe to some channel?

satra commented 5 months ago

sorry, it seems like it was a dm. here you go.

hopefully this gets you going in the right direction. the minimal environment: pip install imagecodecs-numcodecs s3fs zarr dask to run the following code

import numpy as np
import dask.array as da
import zarr

from imagecodecs.numcodecs import Jpegxl
from imagecodecs import jpegxl_version

print(jpegxl_version())

level = 4
s3arr = da.from_zarr(f"s3://dandiarchive/zarr/427771c5-9047-4d99-bc48-a26ea3e1e56d/{level}/")
s3arr_in_mem = np.squeeze(s3arr.compute())

compressor= Jpegxl(distance=0.5, lossless=False, effort=1, numthreads=10)

store = zarr.DirectoryStore('test.jxl.zarr', dimension_separator="/")
root = zarr.group(store=store, overwrite=True)
foo = root.create_dataset('0', data=s3arr_in_mem, chunks=(128, 128, 128), compressor=compressor)
store.close()
foo.info