qupath / qupath-extension-omero-web

QuPath extension to work with images through OMERO's web API
GNU General Public License v3.0
8 stars 12 forks source link

Raw pixel data from OMERO #4

Open will-moore opened 3 years ago

will-moore commented 3 years ago

Currently the OMERO web api doesn't provide raw pixel data. Pixel data in the form of OME-Zarr v0.1 can be provided by omero-ms-zarr but the limitation is lack of authentication.

I have tried another approach with https://github.com/will-moore/omero-web-zarr (not yet tested/supported by the OME team) which also uses OME-Zarr v0.1.

It's not yet included in the omero-web-standalone docker but you can add it by:

$ git clone git@github.com:ome/omero-web-docker.git

Make the modification to /standalone/Dockerfile and /standalone/01-default-webapps.omero as described in: https://github.com/ome/omero-web-docker/issues/60#issuecomment-880537864

Then:

$ cd standalone
$ docker build -t omero_web_zarr .
$ docker run -it --rm -e OMEROHOST=demo.openmicroscopy.org -p 4080:4080 omero_web_zarr

Then, for Image ID: 79248, the top-level URL is http://localhost:4080/zarr/image/79248.zarr leading to:

http://localhost:4080/zarr/image/79248.zarr/.zattrs http://localhost:4080/zarr/image/79248.zarr/0/.zarray http://localhost:4080/zarr/image/79248.zarr/0/.zarray/0.0.0.0.0 etc.

In time, omero-web-zarr will hopefully be included in the docker, and on the demo server etc. but I wanted to let you know that it's possible to start trying it now.

cc @jburel @joshmoore

melvingelbard commented 3 years ago

Hi Will,

This is great, thanks for sharing! I've managed to build it following your instructions, but any call to /zarr/image/[ID].zarr (or even just to /zarr/) returns a 404 page not found error. I think that something might have gone wrong during the build, despite not seeing any error message, because the webclient (localhost:4080) is clearly missing something and doesn't allow me to browse any of my images on the demo server:

Screenshot 2021-07-16 at 13 40 34

Unfortunately, I've got very little experience with Docker and omero-web-docker.. Is there anything I should be checking for this to work?

will-moore commented 3 years ago

Hi, I'm afraid I can't think of anything obvious (I'm also not super familiar with Docker). You could try to add -e CONFIG_omero_web_debug=true flag when running docker as described at https://github.com/ome/omero-web-docker. That will hopefully give more info from Django. From your screenshot it looks like you're missing all the static files, but that's a different issue from the /zarr 404s so I'm not sure what's up.

I'm also on holidays just now, along with most of the OME team, so this was probably a bit premature and we'll need to pick it up again in 2 or 3 weeks. But thanks for giving it a try and great to know you're interested. I've just seen https://forum.image.sc/t/next-call-on-next-gen-bioimaging-data-tools-early-september-2021/55333 where there's interest in discussing viewers that work with OME-ngff data. It would be great to add QuPath to the list!

melvingelbard commented 3 years ago

Hi Will, thanks for you help again! Hope you enjoy(ed) your holiday. I've managed to fix the previously-mentioned problems and can now request chunks of data from the IDR (e.g. http://localhost:4080/zarr/image/79248.zarr/0/0.0.0.0.0). I'm not sure how to get the actual uncompressed data in a usable form yet, but I'll keep investigating. I'll report any progress here. Cheers

joshmoore commented 3 years ago

@melvingelbard: likely the easiest is to make use of one of the existing Zarr libraries -- https://github.com/zarr-developers/zarr_implementations#zarr-implementations, with part of the decision coming down to classpath & jar size considerations.