cucim icon indicating copy to clipboard operation
cucim copied to clipboard

[FEA] Support BioFormats library through cuCIM

Open gigony opened this issue 4 years ago • 3 comments
trafficstars

Is your feature request related to a problem? Please describe.

We would like to start thinking about supporting BioFormats.

Bioformats is a pathway to access so many formats that we'll never want to implement ourselves.

Even if it's in Java, may as well find a way to hook into it as an option. There are way too many formats that we will have a hard time supporting. Bioformats handles lots of them, including proprietary ones.

Describe the solution you'd like TBD

Describe alternatives you've considered

We can make it easy to load various microscopy image formats while we support the formats in an optimized way.

One concern is that for such adaptation layer (plugin) without optimization, there is already a solution in Python so doing it in cuCIM could be a duplicated effort:

  • https://github.com/CellProfiler/python-bioformats/ which uses Java Virtual Machine to use BioFormats library (https://pythonhosted.org/python-bioformats/)
  • ITK also provides SCIFO-ITK integration (an ImageIO plugin for the Insight Toolkit (ITK) that uses Bio-Formats to read and write supported file formats.)
    • https://github.com/scifio/scifio-imageio
    • https://github.com/scifio/scifio-itk-bridge

Do we also want to provide such integration without optimization?

Additional context N/A

gigony avatar Aug 25 '21 23:08 gigony

Hi Gigon,

There are also some effort within the python microscopy community to move towards zarr arrays for acessing large images.

It would be great to have a faster interface (maybe using pinned memory) to communicate with zarr arrays and their chunks.

Dask, Open Microscopy Environment (OME) and Napari already support it.

Let me know if this should be it's own issue or if it should directed to the cupy repository.

JoOkuma avatar Aug 28 '21 17:08 JoOkuma

Hi @JoOkuma ,

Thank you for your feedback! We are also aware that supporting NGFF would be a future-proof feature to have and would like to focus on such formats after supporting major digital pathology formats (including .svs format). link.

I have created the issue to support Zarr format (https://github.com/rapidsai/cucim/issues/94), please give us your feedback. Thank you!

gigony avatar Aug 31 '21 21:08 gigony

General :thumbsup:  and a few comments:

  • The support level of python-bioformats (see this thread) would likely suggest using something else in the Python space
  • @tlambert03 & co. recently undertook something of that nature. See https://forum.image.sc/t/aicsimageio-4-2-0-release/58150 but do note the GPL licensing of the underling libraries.
  • Finally though the most immediate goal is always to get users their data as quickly as possible, there's a longer-term topic here that I wanted to raise: in the blog posts linked from #94 etc. the strategy we are trying to move the community towards is converting their data once to a long-term, open format and not trying to perform on-the-fly translation for every access. (Think of the CO2 savings!) Help there welcome.

~Josh   @ome

joshmoore avatar Nov 18 '21 07:11 joshmoore