# OME TIFF pyramid format

**URL:** <https://discourse.itk.org/t/ome-tiff-pyramid-format/1610>\
**Category:** Uncategorized\
**Created:** [February 18, 2019, 5:28pm UTC](https://discourse.itk.org/t/ome-tiff-pyramid-format/1610 "2019-02-18T17:28:39Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![phcerdan](https://discourse.itk.org/user_avatar/discourse.itk.org/phcerdan/32/286_2.png) [@phcerdan](https://discourse.itk.org/u/phcerdan)\
**Post date:** [February 18, 2019, 5:28pm UTC](https://discourse.itk.org/t/ome-tiff-pyramid-format/1610/1 "2019-02-18T17:28:39Z")

</div>

> **[Update on the OME-TIFF pyramidal format](http://blog.openmicroscopy.org/file-formats/community/2018/11/29/ometiffpyramid/)**
>
> Designing an open multi-resolution file format

It would be neat to add an IO module for this format!

---

<div class="post-metadata">

**Author:** ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)\
**Post date:** [February 18, 2019, 7:27pm UTC](https://discourse.itk.org/t/ome-tiff-pyramid-format/1610/2 "2019-02-18T19:27:01Z")

</div>

We have an IO module for bioformats! 🎉

[https://github.com/scifio/scifio-imageio](https://github.com/scifio/scifio-imageio)

but, we could use more testing / infrastructure for the pyramids. Maybe it is worth a dedicated IO for OME-TIFF, too, based on the C++ library:

[https://gitlab.com/codelibre/ome-files](https://gitlab.com/codelibre/ome-files)

---

<div class="post-metadata">

**Author:** ![blowekamp](https://discourse.itk.org/user_avatar/discourse.itk.org/blowekamp/32/79_2.png) [@blowekamp](https://discourse.itk.org/u/blowekamp)\
**Post date:** [February 18, 2019, 8:05pm UTC](https://discourse.itk.org/t/ome-tiff-pyramid-format/1610/3 "2019-02-18T20:05:40Z")

</div>

Efficient OME TIFF stream reading is very important to many microscopy modalities. I have been thinking about a native C++ implementation base on that reference OME library.

The Pyramid feature is a very important and interesting one which requires some thought to integration in ITK generically. There are other formats which support multi-resolutions or thumbnails as well. The questions is: “What is ther a general interface that can be added to the ImageIO and/or the ImageFileReader to support getting information about multi-image files, and specifying which image to read?”🤔

Another example which comes to mind is the JPEG2000’s wavelet/multi-resolution compression.

---

<div class="post-metadata">

**Author:** ![pieper](https://discourse.itk.org/user_avatar/discourse.itk.org/pieper/32/22_2.png) [@pieper](https://discourse.itk.org/u/pieper)\
**Post date:** [April 25, 2020, 6:06pm UTC](https://discourse.itk.org/t/ome-tiff-pyramid-format/1610/4 "2020-04-25T18:06:04Z")

</div>

Hi @blowekamp, @matt.mccormick and @phcerdan - did you guys have any further thoughts on OME-TIFF and pyramids in ITK?

I’m interested in support for operating on pyramid data in dicom as well.

> **[Implementing the DICOM Standard for Digital Pathology](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6236926/)**
>
> Digital Imaging and Communications in Medicine (DICOM\[®\] ) is the standard for the representation, storage, and communication of medical images and related information. A DICOM file format and communication protocol for pathology have been defined;...

---

<div class="post-metadata">

**Author:** ![dclunie](https://discourse.itk.org/user_avatar/discourse.itk.org/dclunie/32/2178_2.png) [@dclunie](https://discourse.itk.org/u/dclunie)\
**Post date:** [April 25, 2020, 7:16pm UTC](https://discourse.itk.org/t/ome-tiff-pyramid-format/1610/5 "2020-04-25T19:16:01Z")

</div>

Or both at the same time:

[http://www.ncbi.nlm.nih.gov/pmc/articles/PMC6489422/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC6489422/)

Note also that many of the proprietary WSI formats are pyramidal tiled TIFF but not OME (which selected one of various different ways to organize the IFDs). E.g. consider SVS, which is very common.

David

---

<div class="post-metadata">

**Author:** ![matt.mccormick](https://discourse.itk.org/user_avatar/discourse.itk.org/matt.mccormick/32/7_2.png) [@matt.mccormick](https://discourse.itk.org/u/matt.mccormick)\
**Post date:** [April 27, 2020, 5:50pm UTC](https://discourse.itk.org/t/ome-tiff-pyramid-format/1610/6 "2020-04-27T17:50:35Z")

</div>

Along with @ctrueden’s, we recently updated the OME bioformats format in ITK C++:

> **[scifio/scifio-imageio](https://github.com/scifio/scifio-imageio)**
>
> SCIFIO ImageIO plugin for ITK. Contribute to scifio/scifio-imageio development by creating an account on GitHub.

In Python, you can new get nice OME bioformats support via [pyimagej](https://pypi.org/project/pyimagej/). pyimagej supports an Xarray conversion that preserves spatial metadata when working with Pyramids in the same way that the [ITK Python wrapping does](https://blog.kitware.com/itk-5-1-release-candidate-2-available-for-download/).

The standard way for serializing Xarray content is via [Zarr](https://zarr.readthedocs.io/en/stable/), and [OME is looking at Zarr](https://blog.openmicroscopy.org/community/file-formats/2019/06/25/formats/) for The Next OME-TIFF.

Regarding DICOM, the ideal implementation would present a simple, standard Zarr interface similar to how this [is being approach with HDF5 / Zarr](https://medium.com/pangeo/cloud-performant-reading-of-netcdf4-hdf5-data-using-the-zarr-library-1a95c5c92314).
