It might be a good idea to implement openslide as a backend.
Whole slide scanners are becoming more and more popular, and community needs a good way to share scans.
Now I'm using vips to convert it to pyramid tiff, and then serve it via iipserver. Unfortunately final performance seems to be worse, then proof-of-concept deepzoom_server.py from openslide-python, maybe due to disk nature of operations.
Ofc iip definetely wins with scalability, and will probably be used anyway. On the other hand mrxs files are 10 times smaller, so depending on a hardware it might be faster to direct support openslide formats, then to use converted content.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Having taken a quick look at the Mirax docs http://openslide.org/formats/mirax/ isn't a Mirax file a collection of JPEG files like Deepzoom or Zoomify? If so, then I'm not sure what benefit there is from IIPImage reading such a file, as you can serve the JPEGs directly to a viewer, which would be much faster. This is also why they are so small compared to TIFF.
What viewer are you using with IIPImage and your converted OpenSlide images?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
It is not... In fact, internally it is, but from the users point of view MRXS as it is consist of .mrxs file, and a set of about 22 binary .dat files in a directory - one of the dat files is a set of jpeg, but It won't be easy to get them. The idea of serving them directly/after lossless transformation is interesting, but far too difficult to achieve.
I'm using iipmooviewer via IIP, and openseadragon via DeepZoom, both from iipserver, and openseadragon from deepzoom_server.py.
I've been trying to create static DeepZoom sets created with deepzoom_tile.py, but storing 332128 jpeg files (exactly) for one zoom level is far too much (especially when You want to serve more then 1000 slides).
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If testing counts - count me in! Unfortunately I can't code in C/C++.
Anyway - I know at least one big project that could profit from openslide support, as but they are using Aperio format. ( http://node15.cci.emory.edu/CDSA/ - openseadragon/iipserver version is being made.)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This fork of iipsrv uses the openslide library to decode Mirax (and other formats). Has anyone tried this fork out? How well and efficiently does it work with Mirax files?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Anonymous
Anonymous
-
2014-04-21
I tried once again now - got stuck at compilation, as required openslide headers are not defined in autogen scripts, etc.
I've managed to compile it a few months ago, but I can't get it working now. Although, I'm very interested in this feature. Could I open github issue for this?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi,
Does IIPImage handle Mirax files?
Thanks, Alex
No, only TIFF and JPEG2000 at the moment
OK, thanks, Alex
On 11/03/2013 15:10, Ruven wrote:
you could use vips to convert the mirax file to tiff. I do the same for Aperio images
https://github.com/openslide/openslide/wiki/OpenSlideAndVIPS
It might be a good idea to implement openslide as a backend.
Whole slide scanners are becoming more and more popular, and community needs a good way to share scans.
Now I'm using vips to convert it to pyramid tiff, and then serve it via iipserver. Unfortunately final performance seems to be worse, then proof-of-concept deepzoom_server.py from openslide-python, maybe due to disk nature of operations.
Ofc iip definetely wins with scalability, and will probably be used anyway. On the other hand mrxs files are 10 times smaller, so depending on a hardware it might be faster to direct support openslide formats, then to use converted content.
Having taken a quick look at the Mirax docs http://openslide.org/formats/mirax/ isn't a Mirax file a collection of JPEG files like Deepzoom or Zoomify? If so, then I'm not sure what benefit there is from IIPImage reading such a file, as you can serve the JPEGs directly to a viewer, which would be much faster. This is also why they are so small compared to TIFF.
What viewer are you using with IIPImage and your converted OpenSlide images?
It is not... In fact, internally it is, but from the users point of view MRXS as it is consist of .mrxs file, and a set of about 22 binary .dat files in a directory - one of the dat files is a set of jpeg, but It won't be easy to get them. The idea of serving them directly/after lossless transformation is interesting, but far too difficult to achieve.
I'm using iipmooviewer via IIP, and openseadragon via DeepZoom, both from iipserver, and openseadragon from deepzoom_server.py.
I've been trying to create static DeepZoom sets created with deepzoom_tile.py, but storing 332128 jpeg files (exactly) for one zoom level is far too much (especially when You want to serve more then 1000 slides).
OK, I see. It sounds like it could be possible to add this as a supported format. I'll look into this after iipsrv 1.0 is released.
If anyone is interested in working on this, please let me know.
If testing counts - count me in! Unfortunately I can't code in C/C++.
Anyway - I know at least one big project that could profit from openslide support, as but they are using Aperio format. ( http://node15.cci.emory.edu/CDSA/ - openseadragon/iipserver version is being made.)
Just curious: How does MIRAX differ from a JPG compressed, tiled. pyrimidal TIFF. which itself is an indexed collection of JPG encoded tiles?
In many ways, probably.
http://openslide.org/formats/mirax/
Also, You may be interested in this version of iipimage-server:
https://github.com/richstoner/iipsrv/commit/eca4004303f847c09cff5dc055b46c75695b0886
Last edit: boskar 2014-01-02
This fork of iipsrv uses the openslide library to decode Mirax (and other formats). Has anyone tried this fork out? How well and efficiently does it work with Mirax files?
I tried once again now - got stuck at compilation, as required openslide headers are not defined in autogen scripts, etc.
I've managed to compile it a few months ago, but I can't get it working now. Although, I'm very interested in this feature. Could I open github issue for this?
Ok, so currently:
and the output dzi file:
/iipsrv/iipsrv4.fcgi?DeepZoom=/home/patomorfa/sesja5/01_1.mrxs.dzi
so currently - not working for me with my raw sample.
also: anonymous user was also me ; )
Last edit: boskar 2014-04-21