hms-dbmi / viv

Library for multiscale visualization of high-resolution multiplexed bioimaging data on the web. Directly renders Zarr and OME-TIFF.
http://avivator.gehlenborglab.org
MIT License
286 stars 46 forks source link

Support Loading SVS Files #388

Open ilan-gold opened 3 years ago

ilan-gold commented 3 years ago

User story SVS files are common in the TCGA project: https://www.cancer.gov/about-nci/organization/ccg/research/structural-genomics/tcga

For example: https://portal.gdc.cancer.gov/files/85f18a9e-5e57-4823-82b8-1444af03d364

Luckily they are simply pyramidal tiff files which we can visualize with the right loader. We are missing JPEG2000 support though and it's not clear how important that is.

Preferred solution Write an SVS loader. This may require restructuring a bit of how the loaders tiff folder structure is set up at the moment.

bherr2 commented 3 years ago

KPMP uses SVS format too. We've talked to them about using VIV for their project. If they don't have to convert their SVS to ome.tiff, this might be an ideal solution for them. Could still work with a simple conversion too, but directly being able to load SVS files from their repository would be awesome.

See the current list of 400 SVS files here

ilan-gold commented 3 years ago

I downloaded one @bherr2 and while they are pyramidal, they seem to be a little bit chaotic. For example, different levels of the pyramid seem to use different compression schemes, and at least some seem to require JPEG2000/HTJ2K which we currently don't support but could by pulling the right codec (like from https://github.com/chafey/openjpegjs/tree/d88bd4de6011defa2dfc07de322e06c07bd47417). Also the tile size is 240 for the one I downloaded which I don't think will fly since it is not a power of 2 so we would need to manually "fix" the tile size as mentioned in #384 and done in #383 for zarr to a power of 2.

So there would be a bit of work for that but it should not be too bad and would also hammer out a few tasks on the to-do list anyway.

ilan-gold commented 3 years ago

Weighed against converting all of their data, I am not sure if this approach is better. Seems like it depends on what kind of risk they/you are willing to take on running into something irreconciliable with using the SVS files directly (instead of converting them explicitly to pyramidal OME-TIFF), like if they are all not pyramidal or something.

bherr2 commented 3 years ago

Ok, I'll let you know. I think it might be a good feature to have.