From 4c29921686c8aa2964881826ed51e5ee900d4405 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 28 Jul 2026 10:44:08 -0300 Subject: [PATCH 01/29] remove leftover reference to bikeshed --- README.md | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/README.md b/README.md index 4821dff2..cf8f3600 100644 --- a/README.md +++ b/README.md @@ -14,16 +14,9 @@ See also [CONTRIBUTING.md](./contributing/index.md) Specifications have been moved to [ome/ngff-spec](https://github.com/ome/ngff-spec). -### Editing specifications - -Specifications are written in markdown, or technically -[bikeshed](https://github.com/tabatkins/bikeshed) -- a markdown document, with -special extensions understood by the bikeshed tool. The bikeshed tool is run -during the Sphinx build step (see conf.py). - # RFCs -Requests for comments (RFCs) are used to discuss and capture high-level decisions within the NGFF community. +Requests for comments (RFCs) are used to discuss and capture high-level decisions within the NGFF community. RFCs are contained under the `rfc` directory at the moment but may be moved out into a separate repo in the future. @@ -37,5 +30,3 @@ RFCs are contained under the `rfc` directory at the moment but may be moved out - - From 87eb2e615a845a30af8de9ea0f047a7e7416b087 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 28 Jul 2026 11:54:39 -0300 Subject: [PATCH 02/29] fix broken links in a-z --- help-desk/index.md | 58 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 48 insertions(+), 10 deletions(-) diff --git a/help-desk/index.md b/help-desk/index.md index cadbd2ac..bec2a33a 100644 --- a/help-desk/index.md +++ b/help-desk/index.md @@ -1,8 +1,8 @@ # Help Desk -* [Glossary](#glossary) -* [FAQs](#faqs) -* [Where to seek for help](#where-to-seek-for-help) +- [Glossary](#glossary) +- [FAQs](#faqs) +- [Where to seek for help](#where-to-seek-for-help) ## Glossary @@ -29,11 +29,23 @@ Jump to: [Back to top](#glossary) +### D + +[Back to top](#glossary) + +### E + +[Back to top](#glossary) + +### F + +[Back to top](#glossary) + ### G [Back to top](#glossary) -### H +### H **HCS** - Dedicated layout of OME-Zarr files representing the used wells and plates for High Content Screening (HCS). The layout allows a user to efficiently address and analyze specific data from specific wells. @@ -41,12 +53,24 @@ Jump to: [Back to top](#glossary) +### I + +[Back to top](#glossary) + ### J **JSON file** - A simple standardized human-readable data format for sharing data using nested key-value pairs. [Back to top](#glossary) +### K + +[Back to top](#glossary) + +### L + +[Back to top](#glossary) + ### M **Multiscale** - Multiscale means storing the same image at multiple resolutions (full size, half size, quarter size, etc.). This makes it easy for tools to zoom and navigate very large images quickly—just like how map apps load lower-resolution versions first, then sharpen the view as you zoom in. @@ -54,6 +78,7 @@ Jump to: [Back to top](#glossary) ### N + **NGFF** - Next Generation File Format (NGFF) is a community for solving problems related to producing open-source software for microscopy data. [Back to top](#glossary) @@ -76,6 +101,10 @@ Jump to: [Back to top](#glossary) +### Q + +[Back to top](#glossary) + ### R **RFC** - Request For Comments (RFC) is a process for proposing a change to the standardized specification for OME-Zarr files. @@ -84,7 +113,7 @@ Jump to: ### S -**Shard/ing** - Like [Chunks](#c), sharding is a way of breaking up pixel data for more efficient access. Shards are groups of chunks with headers in front of them for describing the chunks inside. +**Shard/ing** - Like [Chunks](#c), sharding is a way of breaking up pixel data for more efficient access. Shards are groups of chunks in a single object with headers describing the chunks inside. [Back to top](#glossary) @@ -96,6 +125,9 @@ Jump to: ### U +[Back to top](#glossary) + +### V [Back to top](#glossary) @@ -105,6 +137,14 @@ Jump to: [Back to top](#glossary) +### X + +[Back to top](#glossary) + +### Y + +[Back to top](#glossary) + ### Z **Zarr** -- A file format, see the [main page](#../) for more information about what a Zarr is and the benefits of using Zarr. @@ -172,15 +212,13 @@ That is often the case. OME-Zarr include multiresolution data (i.e. pyramids), w Not yet fully. Some workarounds are possible (1D arrays, mesh formats), but this is an active area of development. - - ## Where to look for help + If you have questions or need help with OME-Zarr, you can reach out through the following channels: -| Where | Description | When to use | +| Where | Description | When to use | |-------|-------------| --------------| -| [Image.sc Forum](https://forum.image.sc) | A community forum for image analysis and bioimaging. | To know when to use the tags [ngff](https://forum.image.sc/tag/ngff), [ome-ngff](https://forum.image.sc/tag/ome-ngff), and [ome-zarr](https://forum.image.sc/tag/ome-zarr) in the forum please read [Landing Page](https://ngff.openmicroscopy.org/index.html), Glossary and FAQs in this page. | +| [Image.sc Forum](https://forum.image.sc) | A community forum for image analysis and bioimaging. | To know when to use the tags [ngff](https://forum.image.sc/tag/ngff), [ome-ngff](https://forum.image.sc/tag/ome-ngff), and [ome-zarr](https://forum.image.sc/tag/ome-zarr) in the forum please read [Landing Page](https://ngff.openmicroscopy.org/index.html), Glossary and FAQs in this page. | | [ome/ngff GitHub Issues](https://github.com/ome/ngff/issues) | The official repository for OME-NGFF specifications and related discussions. | For reporting bugs, suggesting features, or discussing technical aspects of the OME-NGFF specifications. | | Office Hours | Regularly scheduled virtual meetings where you can ask questions and get help from the NGFF community | Office hours rotate between APAC/AU/EU- and AMER/AU/EU-friendly times. Join them when you want to chat about OME-Zarr. Read more in the [Community](../community/index.md) page. | | OME-Zarr libraries GitHub Issues| Various repositories for OME-Zarr libraries. | For issues specific to a particular OME-Zarr library, use the respective GitHub repository's issue. | | In person events | Conferences, workshops, and meetups where you can connect with the NGFF community. | To network, learn, and discuss OME-Zarr in person. Check the [Community](../community/index.md) page for upcoming events. | - From 2e0f2e1697b27f5d4061dcdf9d4123c17e471765 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 28 Jul 2026 11:55:27 -0300 Subject: [PATCH 03/29] fix internal link for 0.5 (soon to change) --- specifications/index.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/specifications/index.md b/specifications/index.md index e84b8ad8..2ff0644e 100644 --- a/specifications/index.md +++ b/specifications/index.md @@ -1,9 +1,8 @@ -Specifications -============== +# Specifications OME-Zarr files have standardized metadata (that is the OME portion of "OME-Zarr") - each new version of OME-Zarr files has its own specification. Those specifications are listed below. -The current released version of the OME-Zarr specification is [0.5](0.5/ngff_spec/index.md). +The current released version of the OME-Zarr specification is [0.5](0.5/index.md). ```{toctree} :maxdepth: 1 @@ -17,4 +16,4 @@ dev/index.md 0.1/index.md dev/version_history -``` \ No newline at end of file +``` From 70d2f4f78ac4c6cdbdf5e11cab8abf874def7717 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 28 Jul 2026 11:55:46 -0300 Subject: [PATCH 04/29] Fix boldface errors --- index.md | 62 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/index.md b/index.md index b6300c6a..d7f2ccd1 100644 --- a/index.md +++ b/index.md @@ -15,12 +15,12 @@ In summary, OME-Zarr allows you to store, share and stream large images. You can An OME-Zarr is a file format optimized for storing, viewing, & sharing large images. There are two parts to an OME-Zarr: -* **The "Zarr" part describes how the pixel data for the images are laid out** -* **The "OME" part, which stands for [Open Microscopy Environment](https://www.openmicroscopy.org/), describes metadata about the pixel data. This includes metadata such as: - * spatial relationships - * high content screening data - * well data - * [and more](./specifications/index)! +- **The "Zarr" part describes how the pixel data for the images are laid out**. [Zarr](https://zarr.dev) is a next-generation data format used for scientific datasets in multiple domains. +- **The "OME" part describes metadata about the pixel data.** OME stands for [Open Microscopy Environment](https://www.openmicroscopy.org/). This includes metadata such as: + - spatial relationships + - high content screening data + - well data + - [and more](./specifications/index)! ## Why would I use OME-Zarr? @@ -28,14 +28,14 @@ In general, OME-Zarr is growing as a default [FAIR](https://en.wikipedia.org/wik OME-Zarr files have two major benefits: -* **Standardization:** "OME-Zarr" is a "Zarr" with embedded standardized metadata in the Open Microscopy Environment (OME) format. - * **_Sharing_**: It eases cross-organization file sharing, aiding organizational collaboration and data sharing. Repositories like the [Image Data Resource](https://idr.openmicroscopy.org/) and [BioImage Archive](https://www.ebi.ac.uk/bioimage-archive/) are currently migrating to having OME-Zarr as a standard format for _all_ their data. - * **_Interoperability_**: Standardized metadata enables the ability to "mix and match" tools from different organizations, benefiting from the strengths of multiple tools as needed. +- **Standardization:** "OME-Zarr" is a "Zarr" with embedded standardized metadata in the Open Microscopy Environment (OME) format. + - **_Sharing_**: It eases cross-organization file sharing, aiding organizational collaboration and data sharing. Repositories like the [Image Data Resource](https://idr.openmicroscopy.org/) and [BioImage Archive](https://www.ebi.ac.uk/bioimage-archive/) are currently migrating to having OME-Zarr as a standard format for _all_ their data. + - **_Interoperability_**: Standardized metadata enables the ability to "mix and match" tools from different organizations, benefiting from the strengths of multiple tools as needed. -* **Parallel access**: Chunking is inherent to "Zarr" files. This means "Zarr" files are stored in independently-accessible blocks. - * **_Storage_**: Microscopy images can be quite large and can therefore reach Cloud system storage limits for individual files; the chunked nature of a Zarr can alleviate this issue. Some storage systems may also duplicate byte-equivalent files, so a chunked file like Zarr may save storage space. - * **_Viewing_**: Viewers can target specific chunks to load based upon the current view, reducing lag, & enabling massive images to be viewed within browsers. - * **_Cost_**: When viewing or reading data, the total cost of accessing a Zarr file on the cloud may be less than a more monolithic file format due to the more efficient data access patterns. Ex. A viewer can just access the chunks of the image it needs to display rather than the entire image. +- **Parallel access**: Chunking is inherent to "Zarr" files. This means "Zarr" files are stored in independently-accessible blocks. + - **_Storage_**: Microscopy images can be quite large and can therefore reach Cloud system storage limits for individual files; the chunked nature of a Zarr can alleviate this issue. Some storage systems may also duplicate byte-equivalent files, so a chunked file like Zarr may save storage space. + - **_Viewing_**: Viewers can target specific chunks to load based upon the current view, reducing lag, & enabling massive images to be viewed within browsers. + - **_Cost_**: When viewing or reading data, the total cost of accessing a Zarr file on the cloud may be less than a more monolithic file format due to the more efficient data access patterns. Ex. A viewer can just access the chunks of the image it needs to display rather than the entire image. Of note, both benefits contribute to **_AI-readiness_**: the standardized metadata & access patterns provide a common layer for machine-learning workflows, reducing the friction for developers to build and test models. @@ -45,33 +45,33 @@ The [tools](./tools/index), [data](./data/index), and [ecosystem](./ecosystem/in While the format matures, it may be frustrating to use OME-Zarr in some cases, for example: -* If you are working with small images, not planning to share them and your current tools already work well, then using OME-Zarr may not be necessary. Planned expansions to the specification (such as single-file Zarrs) will make it more convenient in these scenarios. +- If you are working with small images, not planning to share them and your current tools already work well, then using OME-Zarr may not be necessary. Planned expansions to the specification (such as single-file Zarrs) will make it more convenient in these scenarios. -* If you need specific conditions for which OME-Zarr support is not mature, you may need to use a different file format. - * Particularly, if your original file is lossy compressed, you will see a large increase in file size (about an order of magnitude) as the images are decompressed into OME-Zarr, since transferring lossy compressed tiles is not yet supported. This currently impacts most whole slide image (WSI) formats such as SVS, CZI, and NDPI, which are lossy JPEG compressed by default. +- If you need specific conditions for which OME-Zarr support is not mature, you may need to use a different file format. + - Particularly, if your original file is lossy compressed, you will see a large increase in file size (about an order of magnitude) as the images are decompressed into OME-Zarr, since transferring lossy compressed tiles is not yet supported. This currently impacts most whole slide image (WSI) formats such as SVS, CZI, and NDPI, which are lossy JPEG compressed by default. ## Who is using OME-Zarr? These are _some_ of the organizations (and their dataset pages) that are using OME-Zarr for their data. -* [Allen Institute](https://bff.allencell.org/datasets) -* biohub -* [Broad Institute](https://broadinstitute.github.io/cellpainting-gallery/overview.html) -* [EMBL - Image Data Resource (IDR)](https://idr.openmicroscopy.org/) -* [Howard Hughes Medical Institute, Janelia (HHMI)](https://openorganelle.janelia.org/) -* [Jackson Laboratory (JAX)](https://images.jax.org/) -* ... [and more](./data/index) +- [Allen Institute](https://bff.allencell.org/datasets) +- biohub +- [Broad Institute](https://broadinstitute.github.io/cellpainting-gallery/overview.html) +- [EMBL - Image Data Resource (IDR)](https://idr.openmicroscopy.org/) +- [Howard Hughes Medical Institute, Janelia (HHMI)](https://openorganelle.janelia.org/) +- [Jackson Laboratory (JAX)](https://images.jax.org/) +- ... [and more](./data/index) ## How do I use OME-Zarr? -* Already have a Zarr? - * Check out the [tools section](./tools/index)! -* Want to create a Zarr? - * Check out the [tools section](./tools/index)! -* Want to see or download a Zarr? - * Check out the [data section](./data/index)! -* Want to cite OME-Zarr/NGFF in your work? - * Check out the [publications section](./publications/index)! +- Already have a Zarr? + - Check out the [tools section](./tools/index)! +- Want to create a Zarr? + - Check out the [tools section](./tools/index)! +- Want to see or download a Zarr? + - Check out the [data section](./data/index)! +- Want to cite OME-Zarr/NGFF in your work? + - Check out the [publications section](./publications/index)! ## Have other questions? From 4edff7a4c6fb373de470321697e0041ba74190c5 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 28 Jul 2026 11:58:32 -0300 Subject: [PATCH 05/29] change links to use https --- boilerplate/header.include | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boilerplate/header.include b/boilerplate/header.include index 79b2fd56..7bd9e500 100644 --- a/boilerplate/header.include +++ b/boilerplate/header.include @@ -10,7 +10,7 @@
- OME logo (6 circles in a hexagon) + OME logo (6 circles in a hexagon)

[TITLE]

[LONGSTATUS], From d327d106a157e4ea1be05c6b35d0f952c10dfd23 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 29 Jul 2026 08:47:28 -0300 Subject: [PATCH 06/29] fix anchors and refs in rfc1 --- contributing/specification/index.md | 2 +- resources/data/index.md | 2 +- rfc/1/index.md | 7 +++++-- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/contributing/specification/index.md b/contributing/specification/index.md index ca262d33..07c01557 100644 --- a/contributing/specification/index.md +++ b/contributing/specification/index.md @@ -6,7 +6,7 @@ request for comment (RFC) documents. In the future we will flesh out this page with a guide to RFCs, but in the meantime the RFC process is outlined in the -[Implementation section of RFC 1](../rfc/1/index.md#implementation). +[Implementation section of RFC 1](rfc1-implementation). ## Comment on a Request For Comment (RFC) diff --git a/resources/data/index.md b/resources/data/index.md index aef32357..3a51d379 100644 --- a/resources/data/index.md +++ b/resources/data/index.md @@ -16,7 +16,7 @@ Resources curating OME-Zarr sample data, for demonstration and testing purposes. | BIA Samples | [BIA Samples logo](https://uk1s3.embassy.ebi.ac.uk/bia-integrator-data/pages/omengff.html) | Sample OME-Zarr datasets from the BioImage Archive for testing | | Sanger Institute Samples | [Sanger Institute Samples logo](https://www.sanger.ac.uk/project/ome-zarr/) | Datasets from the Sanger Institute that have been converted to OME-Zarr to test and encourage the file format | | SSBD samples | [SSBD samples logo](https://ssbd.riken.jp/ssbd-ome-ngff-samples) | Sample OME-Zarr datasets from the Systems Science of Biological Dynamics database (SSBD) for testing and demonstration purposes | -| OME 2024 NGFF challenge | [OME 2024 NGFF challenge logo](https://ome.github.io/) | Close to 500 TB of data in the OME-Zarr 0.5 format | +| OME 2024 NGFF challenge | [OME 2024 NGFF challenge logo](https://ome.github.io/) | Close to 500 TB of data in the OME-Zarr 0.5 format | ## Data portals diff --git a/rfc/1/index.md b/rfc/1/index.md index ee7fba5f..20818232 100644 --- a/rfc/1/index.md +++ b/rfc/1/index.md @@ -238,6 +238,7 @@ right direction. **Reviewers** should strive to provide feedback which informs * **Commenters** are other members of the community who, though not contacted as **Reviewers**, have provided feedback that they would like added to the official record of the RFC. +(rfc1-implementation)= ## Implementation The RFC process can be represented as a state diagram with the various stakeholders responsible for forward motion. @@ -322,7 +323,8 @@ to the **Editors**, either via a public PR adding the review in markdown to the RFC's subdirectory or by emailing the **Editors** directly. (This latter course should only be used when necessary.) -(rfc-recommendations)= Possible recommendations from **Reviewers** in ascending order of support are: +(rfc-recommendations)= +Possible recommendations from **Reviewers** in ascending order of support are: * “Reject” suggests that a **Reviewer** considers there to be no merit to an RFC. This should be a last recourse. Instead, suggestions in a “Major @@ -367,7 +369,8 @@ contact **Reviewers** to see if their recommendations have changed. > 🕑 Authors responses to Reviewers should be returned to the Editors in less than two weeks. -(anchor-rebuttal-r6)= This brings a critical, and possibly iterative, decision point (R6). If all **Reviewers** `approve` and there are no further changes needed, the RFC can progress to S1 as soon as there are two in-progress implementations. If the **Reviewers** do _not_ approve, then the **Editors** will make one of three decisions (R7): +(anchor-rebuttal-r6)= +This brings a critical, and possibly iterative, decision point (R6). If all **Reviewers** `approve` and there are no further changes needed, the RFC can progress to S1 as soon as there are two in-progress implementations. If the **Reviewers** do _not_ approve, then the **Editors** will make one of three decisions (R7): * The **Editors** MAY provide **Authors** a list of necessary changes. These will be based on the **Reviewers** suggestions but possibly modified, e.g., to remove contradictions. * The **Editors** MAY decide that the RFC is to be closed (R9). This is the decision that SHOULD be chosen if there is a unanimous `Reject` recommendation. The **Authors** MAY then decide to re-draft a new RFC (D2). From b310e48e1b85cfeccdd9c70cf3da30aa739dcbe9 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 29 Jul 2026 09:24:01 -0300 Subject: [PATCH 07/29] fix internal links and anchors --- contributing/specification/index.md | 4 +- help-desk/index.md | 5 ++- index.md | 13 +++--- resources/data/index.md | 1 + resources/ecosystem/index.md | 3 +- resources/rfc-status-codes/index.md | 17 +++---- resources/tools/index.md | 3 +- rfc/1/index.md | 2 + rfc/1/templates/review_template.md | 1 + rfc/3/comments/3/index.md | 2 + rfc/3/versions/2026-07-17/index.md | 69 +++++++++++++---------------- 11 files changed, 60 insertions(+), 60 deletions(-) diff --git a/contributing/specification/index.md b/contributing/specification/index.md index 07c01557..7090703d 100644 --- a/contributing/specification/index.md +++ b/contributing/specification/index.md @@ -13,7 +13,7 @@ meantime the RFC process is outlined in the If you want to leave a suggestion or comment on an RFC that is under review, please leave a comment in a new page under the "comments/" directory for the relevant RFC. A template is also available for formatting your comment: -[template](../rfc/1/templates/review_template). +[template](rfc1-review-template). ## How to change the specification @@ -143,7 +143,7 @@ Other useful admonitions and directives (e.g., `hint`, `note`) can be found [her ## Building *only* the spec document -The spec document under the [ngff-spec](github.com/ome/ngff-spec) repository can be built as a standalone document to make writing and rendering a smoother experience. +The spec document under the [ngff-spec](https://github.com/ome/ngff-spec) repository can be built as a standalone document to make writing and rendering a smoother experience. To build the spec document, you first need to install the necessary dependencies: After cloning the ngff-spec repo, navigate into the repository on your machine and install the dependencies using pip: diff --git a/help-desk/index.md b/help-desk/index.md index bec2a33a..c3567770 100644 --- a/help-desk/index.md +++ b/help-desk/index.md @@ -91,7 +91,7 @@ Jump to: **OME-NGFF** - OME-NGFF refers to the resulting efforts of the OME & NGFF communities. -**OME-Zarr** - An OME-Zarr is a standardized file format for microscopy images. More details on the [main page](#../). +**OME-Zarr** - An OME-Zarr is a standardized file format for microscopy images. More details on the [main page](#main-page). [Back to top](#glossary) @@ -147,7 +147,7 @@ Jump to: ### Z -**Zarr** -- A file format, see the [main page](#../) for more information about what a Zarr is and the benefits of using Zarr. +**Zarr** -- A file format, see the [main page](#main-page) for more information about what a Zarr is and the benefits of using Zarr. **Zarr Group** - A Zarr group is like a folder inside a dataset. It can hold arrays, metadata, or other groups, helping organize complex data into a clear hierarchy. Think of it as a way to keep all related images and information neatly together. @@ -212,6 +212,7 @@ That is often the case. OME-Zarr include multiresolution data (i.e. pyramids), w Not yet fully. Some workarounds are possible (1D arrays, mesh formats), but this is an active area of development. +(where-to-seek-for-help)= ## Where to look for help If you have questions or need help with OME-Zarr, you can reach out through the following channels: diff --git a/index.md b/index.md index d7f2ccd1..c54d30c9 100644 --- a/index.md +++ b/index.md @@ -1,3 +1,4 @@ +(main-page)= # Next-Generation File Formats (NGFF) + OME-Zarr Welcome to the Next-Generation File Formats (NGFF) main page! This site is dedicated to providing resources for the NGFF community and those that are interested in getting started with OME-Zarr. @@ -39,7 +40,7 @@ OME-Zarr files have two major benefits: Of note, both benefits contribute to **_AI-readiness_**: the standardized metadata & access patterns provide a common layer for machine-learning workflows, reducing the friction for developers to build and test models. -The [tools](./tools/index), [data](./data/index), and [ecosystem](./ecosystem/index) may provide a better sense of the range of scientific use cases that may benefit from OME-Zarr. The [publications](./publications/index) page provides a list of publications that have used OME-Zarr in their work. +The [tools](#resources-tools), [data](#resources-data), and [ecosystem](#resources-ecosystem) may provide a better sense of the range of scientific use cases that may benefit from OME-Zarr. The [publications](#resources-publications) page provides a list of publications that have used OME-Zarr in their work. ## When would I not use OME-Zarr? @@ -60,18 +61,18 @@ These are _some_ of the organizations (and their dataset pages) that are using O - [EMBL - Image Data Resource (IDR)](https://idr.openmicroscopy.org/) - [Howard Hughes Medical Institute, Janelia (HHMI)](https://openorganelle.janelia.org/) - [Jackson Laboratory (JAX)](https://images.jax.org/) -- ... [and more](./data/index) +- ... [and more](#resources-data) ## How do I use OME-Zarr? - Already have a Zarr? - - Check out the [tools section](./tools/index)! + - Check out the [tools section](#resources-tools)! - Want to create a Zarr? - - Check out the [tools section](./tools/index)! + - Check out the [tools section](#resources-tools)! - Want to see or download a Zarr? - - Check out the [data section](./data/index)! + - Check out the [data section](#resources-data)! - Want to cite OME-Zarr/NGFF in your work? - - Check out the [publications section](./publications/index)! + - Check out the [publications section](#resources-publications)! ## Have other questions? diff --git a/resources/data/index.md b/resources/data/index.md index 3a51d379..e1c875dc 100644 --- a/resources/data/index.md +++ b/resources/data/index.md @@ -1,3 +1,4 @@ +(resources-data)= # Data Resources Looking for test data? [IDR Samples](https://idr.github.io/ome-ngff-samples/) aims at covering the different corners of the specification. diff --git a/resources/ecosystem/index.md b/resources/ecosystem/index.md index 4b9dbf4f..10c92ea1 100644 --- a/resources/ecosystem/index.md +++ b/resources/ecosystem/index.md @@ -1,8 +1,9 @@ +(resources-ecosystem)= # Ecosystem Workflows and data formats that adopt OME-Zarr and build upon it for extended capabilities and interoperabilitieswith additional systems. -It extends the [tools](../tools/index.md) section by including projects that are not necessarily tools for viewing, writing, reading, converting, validating or processing OME-Zarr data, but that are still part of a ecosystem of projects with first-class, dedicated support for OME-Zarr. +It extends the [tools](#resources-tools) section by including projects that are not necessarily tools for viewing, writing, reading, converting, validating or processing OME-Zarr data, but that are still part of a ecosystem of projects with first-class, dedicated support for OME-Zarr. It fits microscope acquisition software, analysis pipelines, standards and extensions, gallery-like displays, integrative workflows, and the like. diff --git a/resources/rfc-status-codes/index.md b/resources/rfc-status-codes/index.md index 651c74b4..22c26a43 100644 --- a/resources/rfc-status-codes/index.md +++ b/resources/rfc-status-codes/index.md @@ -1,18 +1,13 @@ -RFC status codes -============ - - -[RFC 1](../../rfc/1) defined a Request for Comments process for the NGFF community, which is used to drive changes. The text listed a set of codes used to define how a change progresses from an idea to actual adoption. +# RFC status codes +[RFC 1](#rfc-1) defined a Request for Comments process for the NGFF community, which is used to drive changes. The text listed a set of codes used to define how a change progresses from an idea to actual adoption. ![State diagram of the RFC process](../../rfc/1/diagram.png) -This resource is a (non-normative) table describing the different codes used in that specification that outline the states of the RFCs. It is _not_ a full description of the RFC process. +This resource is a (non-normative) table describing the different codes used in that specification that outline the states of the RFCs. It is _not_ a full description of the RFC process. The status codes indicating ends of an RFC process are outlined in **bold**. -Wait times provide a sense on how fast the process is expected to move to the next phase. The actual time may vary in practice, given factors such as the time of the year and current capacity. - - +Wait times provide a sense on how fast the process is expected to move to the next phase. The actual time may vary in practice, given factors such as the time of the year and current capacity. | Phase | Code | Description | Wait time | Action by | | ----- | ------ | --------------------------------------------------------------------------------------------------- | --------------- | ----------------- | @@ -26,7 +21,7 @@ Wait times provide a sense on how fast the process is expected to move to the ne | RFC | R2 | REVIEWERS submit REVIEWS with recommendations as new PRs. | NA | REVIEWER + EDITOR | | RFC | R3 | EDITORS merge REVIEWS and send to AUTHOR for RESPONSE | NA | AUTHOR + EDITOR | | RFC | R4 | AUTHORS prepare RESPONSE and changes to RFC | NA | AUTHOR | -| RFC | R5 | EDITORS merge RESPONSE and changes to RFC, contacts REVIEWERS | 2 weeks | REVIEWER + EDITOR | +| RFC | R5 | EDITORS merge RESPONSE and changes to RFC, contacts REVIEWERS | 2 weeks | REVIEWER + EDITOR | | RFC | R6 | REVIEWERS approve? | NA | REVIEWER | | RFC | R7 | If no, EDITORS approve? | NA | EDITOR | | RFC | R8 | If changes necessary, AUTHORS prepare changes to RFC and/or RESPONSE. If they are major, back to R1 | NA | AUTHOR | @@ -35,4 +30,4 @@ Wait times provide a sense on how fast the process is expected to move to the ne | SPEC | S1 | RFC accepted! AUTHORS or EDITORS update the SPEC | NA | AUTHOR + EDITOR | | SPEC | S2 | Clarifications needed? | If yes, 4 weeks | EDITOR | | SPEC | S3 | Update implementations | NA | EDITOR | -| SPEC | **S4** | SPEC adopted | NA | EDITOR | \ No newline at end of file +| SPEC | **S4** | SPEC adopted | NA | EDITOR | diff --git a/resources/tools/index.md b/resources/tools/index.md index 82e84b32..89642e6e 100644 --- a/resources/tools/index.md +++ b/resources/tools/index.md @@ -1,3 +1,4 @@ +(resources-tools)= # Tools A list of tools and libraries with OME-Zarr support. These are developed by various members of the NGFF community. If you think your tool/library should be listed here, please [open a pull request](https://github.com/ome/ngff). @@ -109,7 +110,7 @@ Want to validate a Zarr? Use one of these. | Name | Link | Description | | -------- | ------- | ------- | -| ome-ngff-validator | [OME NGFF Validator logo](https://ome.github.io/ome-ngff-validator/) | Web page for validating OME-Zarr files. | +| ome-ngff-validator | [OME NGFF Validator logo](https://ome.github.io/ome-ngff-validator/) | Web page for validating OME-Zarr files. | | ome-zarr-models | [![image](https://github.githubassets.com/favicons/favicon.svg)](https://github.com/ome-zarr-models/ome-zarr-models-py) | Python package and command line interface that can validate OME-Zarr files | | yaozarrs | [![image](https://github.githubassets.com/favicons/favicon.svg)](https://github.com/imaging-formats/yaozarrs) | Bottom-up python library with models and CLI for creating & validating OME-Zarr groups and documents with optional extras for array-backend-agnostic I/O | diff --git a/rfc/1/index.md b/rfc/1/index.md index 20818232..a4a931b6 100644 --- a/rfc/1/index.md +++ b/rfc/1/index.md @@ -1,6 +1,8 @@ RFC-1: RFC Process ================== +(rfcs:rfc1)= + Definition of the NGFF “Request for Comment” (RFC) process ```{toctree} diff --git a/rfc/1/templates/review_template.md b/rfc/1/templates/review_template.md index 10597d42..f1d37f7c 100644 --- a/rfc/1/templates/review_template.md +++ b/rfc/1/templates/review_template.md @@ -1,3 +1,4 @@ +(rfc1-review-template)= # Review Template Replace the title above of this file with “RFC-NUM: Review NUM” diff --git a/rfc/3/comments/3/index.md b/rfc/3/comments/3/index.md index 289e8be4..02e3e405 100644 --- a/rfc/3/comments/3/index.md +++ b/rfc/3/comments/3/index.md @@ -1,5 +1,7 @@ # RFC-3: Comment 3 +(rfcs:rfc3:comment3)= + | **Role** | Name | GitHub Handle | Institution | |----------|------|---------------|-------------| | **Author** | [Cornelia Wetzker](https://orcid.org/0000-0002-8367-5163) | [cwetzker](https://github.com/cwetzker) | TU Dresden | diff --git a/rfc/3/versions/2026-07-17/index.md b/rfc/3/versions/2026-07-17/index.md index 954d514f..78178c27 100644 --- a/rfc/3/versions/2026-07-17/index.md +++ b/rfc/3/versions/2026-07-17/index.md @@ -86,19 +86,19 @@ This RFC is currently in RFC state `R1` (send for review). - [btbest](https://github.com/btbest) - - 2026-02-02 - - [Comment](./comments/1/index) + - [Comment](#rfcs:rfc3:comment1) * - Commenter - Chris Barnes - [clbarnes](https://github.com/clbarnes) - German BioImaging - 2026-02-05 - - [Comment](./comments/2/index) + - [Comment](#rfcs:rfc3:comment2) * - Commenter - Cornelia Wetzker - [cwetzker](https://github.com/cwetzker) - Technische Universität Dresden - 2026-03-19 - - [Comment](./comments/3/index) + - [Comment](#rfcs:rfc3:comment3) ``` ## Overview @@ -109,7 +109,7 @@ conversion of proprietary datasets, usage by microscope vendors[^1], and usage by novel microscopy modalities[^2]. This RFC removes these restrictions, opening NGFF to many more users within its -target domain (and beyond). Because it *only* removes restrictions, existing +target domain (and beyond). Because it _only_ removes restrictions, existing valid OME-Zarr datasets will remain valid after implementation of this proposal. @@ -144,7 +144,6 @@ and, > (`yx`) and images are stacked along the other (anisotropic) axis (`z`), the > spatial axes SHOULD be ordered as `zyx`. - and, > - Every Zarr array referred to by a `path` MUST have the same number of @@ -158,9 +157,9 @@ hamper the adoption of OME-Zarr as an acquisition-time format due to performance concerns: many acquisitions happen in TZCYX order (all channels are acquired together for each z-slice), which violates the "axes must be ordered by type" requirement. In such cases, scientists must first acquire their data -and *then* transpose it — an expensive proposition for large datasets. (Note: +and _then_ transpose it — an expensive proposition for large datasets. (Note: Admittedly, Zarr transpose codecs, as well as the mapAxis transformation from -RFC-5, already offer solutions to this problem. However, the *simplest* +RFC-5, already offer solutions to this problem. However, the _simplest_ solution of flexible array ordering with default codecs and only scale and translation transforms is only open after this RFC.) @@ -195,7 +194,7 @@ fluorophore decay lifetime can be used to get more information about the sample, for example by separating fluorophores not only according to their emission spectra but also their lifetime. The decay measurement constitutes an additional time axis called `u` or `µ` and can result in a 6-dimensional -dataset with axes `CTUZYX`. (See [comment 3](./comments/3/index), and [this +dataset with axes `CTUZYX`. (See [comment 3](#rfcs:rfc3:comment3), and [this paper][flim-paper].) FLIM data currently cannot be represented in OME-Zarr, causing users to use @@ -219,7 +218,7 @@ important part of data quality checks. Currently, this kind of microscopy data cannot be stored in OME-Zarr. Within the same workflow, the crystal orientation is usually encoded as three -*Euler angles* or four *quaternion* components stored at each pixel position. +_Euler angles_ or four _quaternion_ components stored at each pixel position. Although it's possible to use the "custom" axis for this purpose, a dedicated axis with a clear naming convention is more ergonomic for scientists. @@ -241,17 +240,17 @@ to save these intermediate image products for later reprocessing. ### Overlapping labels -OME-Zarr can represent not only raw images, but also *label images*, or +OME-Zarr can represent not only raw images, but also _label images_, or segmentations. Traditionally, segmentations assigned a single integer value to each pixel in the source image. However, newer segmentation methods produce -*coarse-to-fine* segmentations, with semantic meaning. For images spanning many +_coarse-to-fine_ segmentations, with semantic meaning. For images spanning many scales, as produced by modern microscopes, we may want to segment tissues, cells within those tissues, and organelles within those cells. These three levels of segmentations can be stacked along a new "coarseness" axis. -Similarly, new segmentation methods can produce *overlapping binary masks*. Due -to the overlap, they *cannot* be stored as traditional integer masks (one value -per pixel), but are typically instead stored as *n* boolean masks. For this +Similarly, new segmentation methods can produce _overlapping binary masks_. Due +to the overlap, they _cannot_ be stored as traditional integer masks (one value +per pixel), but are typically instead stored as _n_ boolean masks. For this mask, an extra "instance" axis is needed in addition to the [TCZ]YX axes of a source image. @@ -261,7 +260,7 @@ Downstream computational products are necessary for the analysis of microscopy data, and these should ideally be stored in formats compatible with the tooling used to work with the raw data. The format aims to be flexible enough to accommodate these products, such as segmentations (the `label-image` section), -or the outputs of registrations (see [rfc-5](../5/index)). +or the outputs of registrations (see [rfc-5](#rfcs:rfc5:version3)). Some outputs may naturally contain arbitrary dimensions, for example, a grid search of the parameter space for a denoising algorithm may contain an @@ -290,7 +289,8 @@ After this specification change, tools may encounter OME-Zarr files that don't match the earlier expectations of containing a subset of the TCZYX axes. This proposal is agnostic as to what to do in those situations, and indeed the appropriate action depends on the tool, but some suggestions include: -- fail with an informative error message. (i.e. *partial* implementations are + +- fail with an informative error message. (i.e. _partial_ implementations are OK, especially if well-documented.) - prompt the user about which axes to treat as spatial. - arbitrarily choose which axes to treat as spatial. @@ -304,36 +304,31 @@ document, taking as base the current development version: > - The length of `axes` must be between 2 and 5 and MUST be equal to the > dimensionality of the Zarr arrays storing the image data (see > `datasets:path`). -> > - `axes` MUST contain 2 or 3 entries of `type:space` -> > - `axes` MAY contain one additional entry of `type:time` -> > - `axes` MAY contain one additional entry of `type:channel` or a null / > custom type. -> > - `axes` entries MUST be ordered by `type` where the `time` axis must come > first (if present), followed by the `channel` or custom axis (if present) > and the axes of type `space`. -> > - If there are three spatial axes where two correspond to the image plane > (`yx`) and images are stacked along the other (anisotropic) axis (`z`), the > spatial axes SHOULD be ordered as `zyx`. -2. The following lines are *added* to "multiscales metadata": +2. The following lines are _added_ to "multiscales metadata": > 0. The length of the axis names MUST match the number of axes of the array. -> 1. *If* a dataset contains exactly 2 spatial dimensions, those dimensions +> 1. _If_ a dataset contains exactly 2 spatial dimensions, those dimensions > SHOULD be named `y` and `x`, except where rule 4 applies. -> 2. *If* a dataset contains exactly 3 spatial dimensions, those dimensions +> 2. _If_ a dataset contains exactly 3 spatial dimensions, those dimensions > SHOULD be named 'z', 'y', and 'x', except where rule 4 applies. -> 3. *If* a dataset contains exactly 1 time dimension, it should be named `t`. +> 3. _If_ a dataset contains exactly 1 time dimension, it should be named `t`. > 4. When image data axes map straightforwardly to axes with common names in > the relevant field of practice, those axes SHOULD be named according to > such conventions. For example, spatial frequency axes resulting from a > Fourier transformation of `z', 'y', and 'x' SHOULD be named 'w', 'v', and -> `u`, respectively. Similarly, a temporal frequency axis resulting from -> a Fourier transformation of the `t` axis SHOULD be named `w` or `ω`. +`u`, respectively. Similarly, a temporal frequency axis resulting from +a Fourier transformation of the `t`axis SHOULD be named`w`or`ω`. > 5. Axis names MUST NOT be repeated within a dataset, and SHOULD NOT be > different only by upper/lower-case. For example, the same dataset SHOULD > NOT have both an `X` and an `x` axis. @@ -370,7 +365,7 @@ the RFC. Developers of visualization libraries and software are concerned that this PR may result in a "wild west" of OME-Zarr datasets that have little in common, -making it difficult for tools to decide *which* axes to display. More details +making it difficult for tools to decide _which_ axes to display. More details about these concerns are developed below in the "Drawbacks" section. ## Backwards Compatibility @@ -426,21 +421,21 @@ have assuaged most implementation concerns][recap comment]. ## Performance The current OME-Zarr specification ensures arrays are stored in order TCZYX. -With C-order array data, this ensures efficient access for *some* but not *all* +With C-order array data, this ensures efficient access for _some_ but not _all_ access patterns. By removing restrictions on axis orderings, a new class of "mistake" is possible, as someone could save an array in order XYTCZ, which would combine poorly with C-order arrays to view XY planes. However, it is -arguable that Zarr chunking is in fact more important here — XYTCZ *could* be +arguable that Zarr chunking is in fact more important here — XYTCZ _could_ be a perfectly cromulent axis ordering for XY planes if the Zarr chunk size was (1024, 1024, 1, 1, 1). Moreover, imposing a fixed axis ordering can incur performance penalties at -*write* time (where performance is often critical) if the data is not already +_write_ time (where performance is often critical) if the data is not already in the expected order. Therefore, this proposal argues that any performance implications are better addressed through good documentation and good defaults. Indeed, more flexible -dimension ordering could *improve* performance in some scenarios, such as +dimension ordering could _improve_ performance in some scenarios, such as "pixel drilling", that is, extracting the value of a single x/y position over time. @@ -475,7 +470,6 @@ an informative error message (e.g. "The given dataset contains an unknown axis This RFC is placed in the public domain. - [nat methods paper]: https://www.nature.com/articles/s41592-021-01326-w [ome-model]: https://github.com/ome/ngff/pull/239/files#r1609781780 [ngff 0.4]: https://ngff.openmicroscopy.org/specifications/0.4/index.html @@ -502,11 +496,12 @@ This RFC is placed in the public domain. [zulip-rfc-3-thread]: https://imagesc.zulipchat.com/#narrow/channel/328251-NGFF/topic/RFC-3.3A.20remove.20dimension.20restrictions/near/568178521 [^1]: https://github.com/ome/ngff/pull/239#issuecomment-2122809286 + [^2]: https://github.com/ome/ngff/pull/239#issuecomment-2149119404 ## Changelog -| Date | Description | Link | -| ---------- | ---------------------------- | ---------------------------------------------------------------------------- | -| 2024-10-08 | RFC assigned and published | [https://github.com/ome/ngff/pull/239](https://github.com/ome/ngff/pull/239) | -| 2026-07-04 | Updated to address comments, elaborate on use cases, include specific changes to spec doc, and add test data | [https://github.com/ome/ngff/pull/560](https://github.com/ome/ngff/pull/560) | +| Date | Description | Link | +| ---------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | +| 2024-10-08 | RFC assigned and published | [https://github.com/ome/ngff/pull/239](https://github.com/ome/ngff/pull/239) | +| 2026-07-04 | Updated to address comments, elaborate on use cases, include specific changes to spec doc, and add test data | [https://github.com/ome/ngff/pull/560](https://github.com/ome/ngff/pull/560) | From da508020d90c099e6fac5e82fcb54ce8ce5c97b4 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 29 Jul 2026 09:24:12 -0300 Subject: [PATCH 08/29] fix link to rfc1 --- resources/rfc-status-codes/index.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/resources/rfc-status-codes/index.md b/resources/rfc-status-codes/index.md index 22c26a43..7f487f04 100644 --- a/resources/rfc-status-codes/index.md +++ b/resources/rfc-status-codes/index.md @@ -1,13 +1,18 @@ -# RFC status codes +RFC status codes +============ + + +[RFC 1](#rfcs:rfc1) defined a Request for Comments process for the NGFF community, which is used to drive changes. The text listed a set of codes used to define how a change progresses from an idea to actual adoption. -[RFC 1](#rfc-1) defined a Request for Comments process for the NGFF community, which is used to drive changes. The text listed a set of codes used to define how a change progresses from an idea to actual adoption. ![State diagram of the RFC process](../../rfc/1/diagram.png) -This resource is a (non-normative) table describing the different codes used in that specification that outline the states of the RFCs. It is _not_ a full description of the RFC process. +This resource is a (non-normative) table describing the different codes used in that specification that outline the states of the RFCs. It is _not_ a full description of the RFC process. The status codes indicating ends of an RFC process are outlined in **bold**. -Wait times provide a sense on how fast the process is expected to move to the next phase. The actual time may vary in practice, given factors such as the time of the year and current capacity. +Wait times provide a sense on how fast the process is expected to move to the next phase. The actual time may vary in practice, given factors such as the time of the year and current capacity. + + | Phase | Code | Description | Wait time | Action by | | ----- | ------ | --------------------------------------------------------------------------------------------------- | --------------- | ----------------- | @@ -21,7 +26,7 @@ Wait times provide a sense on how fast the process is expected to move to the ne | RFC | R2 | REVIEWERS submit REVIEWS with recommendations as new PRs. | NA | REVIEWER + EDITOR | | RFC | R3 | EDITORS merge REVIEWS and send to AUTHOR for RESPONSE | NA | AUTHOR + EDITOR | | RFC | R4 | AUTHORS prepare RESPONSE and changes to RFC | NA | AUTHOR | -| RFC | R5 | EDITORS merge RESPONSE and changes to RFC, contacts REVIEWERS | 2 weeks | REVIEWER + EDITOR | +| RFC | R5 | EDITORS merge RESPONSE and changes to RFC, contacts REVIEWERS | 2 weeks | REVIEWER + EDITOR | | RFC | R6 | REVIEWERS approve? | NA | REVIEWER | | RFC | R7 | If no, EDITORS approve? | NA | EDITOR | | RFC | R8 | If changes necessary, AUTHORS prepare changes to RFC and/or RESPONSE. If they are major, back to R1 | NA | AUTHOR | @@ -30,4 +35,4 @@ Wait times provide a sense on how fast the process is expected to move to the ne | SPEC | S1 | RFC accepted! AUTHORS or EDITORS update the SPEC | NA | AUTHOR + EDITOR | | SPEC | S2 | Clarifications needed? | If yes, 4 weeks | EDITOR | | SPEC | S3 | Update implementations | NA | EDITOR | -| SPEC | **S4** | SPEC adopted | NA | EDITOR | +| SPEC | **S4** | SPEC adopted | NA | EDITOR | \ No newline at end of file From a3d8cc73bf9a1682ae60fd6b295ef4f28450e706 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 29 Jul 2026 09:25:19 -0300 Subject: [PATCH 09/29] Add html-proofer linking thanks @elichad; closes #535 --- .github/workflows/html-proofer.yml | 48 ++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 .github/workflows/html-proofer.yml diff --git a/.github/workflows/html-proofer.yml b/.github/workflows/html-proofer.yml new file mode 100644 index 00000000..a60ceaad --- /dev/null +++ b/.github/workflows/html-proofer.yml @@ -0,0 +1,48 @@ +name: "Build and Lint Site" + +on: + push: + branches: ["main"] + pull_request: + branches: ["main"] + +jobs: + build-site: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 1 + + # dependencies + - uses: ruby/setup-ruby@v1 + with: + ruby-version: "3.3" + - uses: actions/setup-node@v4 + with: + node-version: "19" + - name: Install dependencies + working-directory: ./docs + run: | + pip install + gem install bundler + bundle config path vendor/bundle + bundle install + + - name: Build the site + working-directory: ./docs + run: bundle exec jekyll build --future --strict_front_matter + + - name: Validate all links, enforce alt text + working-directory: ./docs + run: | + bundle exec htmlproofer --ignore-files "/.*\/specifications\/(0\.[0-9]+|dev)\/.*/,/.*webpack-macros\.html/,/.*\/rfc\/4\/markdown\/.*/,/.*\/rfc\/5\/.*/,/.*\/rfc\/1\/.*/,/.*\/0\.[0-9]+(\.html|\/.*)/,/.*\/ro-crate-preview\.html/,/.*\/examples\/.*\/index\.html/" --disable-external true --enforce-https false --swap-urls '^/ro-crate/:/' ./_site + - name: Ensure no unexpected encoded HTML in output + working-directory: ./docs + run: | + ! fgrep -R 'lt;blockquote' _site + + - name: Ensure no unexpected jekyll in output + working-directory: ./docs + run: | + ! fgrep -R 'site.pages' _site From 62f9f6d7eb6d983c00ef3f8aec753b54a04224f5 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 29 Jul 2026 09:31:09 -0300 Subject: [PATCH 10/29] adapt html-proofer action to this context --- .github/workflows/html-proofer.yml | 54 +++++++++++++++++++----------- 1 file changed, 34 insertions(+), 20 deletions(-) diff --git a/.github/workflows/html-proofer.yml b/.github/workflows/html-proofer.yml index a60ceaad..8bedcf03 100644 --- a/.github/workflows/html-proofer.yml +++ b/.github/workflows/html-proofer.yml @@ -1,10 +1,29 @@ name: "Build and Lint Site" on: - push: - branches: ["main"] + workflow_dispatch: pull_request: branches: ["main"] + paths: + - "specifications/**" + - "rfc/**" + - "resources/**" + - "community/**" + - "contributing/**" + - "help-desk/**" + - "_html_extra/**" + - "_static/**" + - "_ext/**" + - "images/**" + - "**/*.md" + - "conf.py" + - "requirements.txt" + - "readthedocs.yml" + - ".github/workflows/build-lint.yml" + +concurrency: + group: build-lint-${{ github.ref }} + cancel-in-progress: true jobs: build-site: @@ -13,36 +32,31 @@ jobs: - uses: actions/checkout@v4 with: fetch-depth: 1 + submodules: recursive # dependencies - uses: ruby/setup-ruby@v1 with: ruby-version: "3.3" + - uses: actions/setup-python@v5 + with: + python-version: "3.13" - uses: actions/setup-node@v4 with: - node-version: "19" + node-version: "22" + - name: Install dependencies - working-directory: ./docs run: | - pip install - gem install bundler - bundle config path vendor/bundle - bundle install + pip install -r requirements.txt + pip install specifications/dev + gem install html-proofer - name: Build the site - working-directory: ./docs - run: bundle exec jekyll build --future --strict_front_matter + run: sphinx-build -b html . _build/html - name: Validate all links, enforce alt text - working-directory: ./docs - run: | - bundle exec htmlproofer --ignore-files "/.*\/specifications\/(0\.[0-9]+|dev)\/.*/,/.*webpack-macros\.html/,/.*\/rfc\/4\/markdown\/.*/,/.*\/rfc\/5\/.*/,/.*\/rfc\/1\/.*/,/.*\/0\.[0-9]+(\.html|\/.*)/,/.*\/ro-crate-preview\.html/,/.*\/examples\/.*\/index\.html/" --disable-external true --enforce-https false --swap-urls '^/ro-crate/:/' ./_site - - name: Ensure no unexpected encoded HTML in output - working-directory: ./docs - run: | - ! fgrep -R 'lt;blockquote' _site + run: htmlproofer --ignore-files "/.*\/specifications\/(0\.[0-9]+|dev)\/.*/,/.*webpack-macros\.html/,/.*\/rfc\/4\/markdown\/.*/,/.*\/rfc\/5\/.*/,/.*\/rfc\/1\/.*/,/.*\/0\.[0-9]+(\.html|\/.*)/" --disable-external ./_build/html - - name: Ensure no unexpected jekyll in output - working-directory: ./docs + - name: Ensure no unexpected encoded HTML in output run: | - ! fgrep -R 'site.pages' _site + ! fgrep -R 'lt;blockquote' _build/html \ No newline at end of file From 7fc4159dbc7b31d64574af1f7ade7e354bf62538 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 4 Aug 2026 16:35:22 -0300 Subject: [PATCH 11/29] docs: rollback auto-formatting on rfc 3 --- rfc/3/versions/2026-07-17/index.md | 63 ++++++++++++++++-------------- 1 file changed, 34 insertions(+), 29 deletions(-) diff --git a/rfc/3/versions/2026-07-17/index.md b/rfc/3/versions/2026-07-17/index.md index 78178c27..53789aa5 100644 --- a/rfc/3/versions/2026-07-17/index.md +++ b/rfc/3/versions/2026-07-17/index.md @@ -109,7 +109,7 @@ conversion of proprietary datasets, usage by microscope vendors[^1], and usage by novel microscopy modalities[^2]. This RFC removes these restrictions, opening NGFF to many more users within its -target domain (and beyond). Because it _only_ removes restrictions, existing +target domain (and beyond). Because it *only* removes restrictions, existing valid OME-Zarr datasets will remain valid after implementation of this proposal. @@ -144,6 +144,7 @@ and, > (`yx`) and images are stacked along the other (anisotropic) axis (`z`), the > spatial axes SHOULD be ordered as `zyx`. + and, > - Every Zarr array referred to by a `path` MUST have the same number of @@ -157,9 +158,9 @@ hamper the adoption of OME-Zarr as an acquisition-time format due to performance concerns: many acquisitions happen in TZCYX order (all channels are acquired together for each z-slice), which violates the "axes must be ordered by type" requirement. In such cases, scientists must first acquire their data -and _then_ transpose it — an expensive proposition for large datasets. (Note: +and *then* transpose it — an expensive proposition for large datasets. (Note: Admittedly, Zarr transpose codecs, as well as the mapAxis transformation from -RFC-5, already offer solutions to this problem. However, the _simplest_ +RFC-5, already offer solutions to this problem. However, the *simplest* solution of flexible array ordering with default codecs and only scale and translation transforms is only open after this RFC.) @@ -194,7 +195,7 @@ fluorophore decay lifetime can be used to get more information about the sample, for example by separating fluorophores not only according to their emission spectra but also their lifetime. The decay measurement constitutes an additional time axis called `u` or `µ` and can result in a 6-dimensional -dataset with axes `CTUZYX`. (See [comment 3](#rfcs:rfc3:comment3), and [this +dataset with axes `CTUZYX`. (See [comment 3](./comments/3/index), and [this paper][flim-paper].) FLIM data currently cannot be represented in OME-Zarr, causing users to use @@ -218,7 +219,7 @@ important part of data quality checks. Currently, this kind of microscopy data cannot be stored in OME-Zarr. Within the same workflow, the crystal orientation is usually encoded as three -_Euler angles_ or four _quaternion_ components stored at each pixel position. +*Euler angles* or four *quaternion* components stored at each pixel position. Although it's possible to use the "custom" axis for this purpose, a dedicated axis with a clear naming convention is more ergonomic for scientists. @@ -240,17 +241,17 @@ to save these intermediate image products for later reprocessing. ### Overlapping labels -OME-Zarr can represent not only raw images, but also _label images_, or +OME-Zarr can represent not only raw images, but also *label images*, or segmentations. Traditionally, segmentations assigned a single integer value to each pixel in the source image. However, newer segmentation methods produce -_coarse-to-fine_ segmentations, with semantic meaning. For images spanning many +*coarse-to-fine* segmentations, with semantic meaning. For images spanning many scales, as produced by modern microscopes, we may want to segment tissues, cells within those tissues, and organelles within those cells. These three levels of segmentations can be stacked along a new "coarseness" axis. -Similarly, new segmentation methods can produce _overlapping binary masks_. Due -to the overlap, they _cannot_ be stored as traditional integer masks (one value -per pixel), but are typically instead stored as _n_ boolean masks. For this +Similarly, new segmentation methods can produce *overlapping binary masks*. Due +to the overlap, they *cannot* be stored as traditional integer masks (one value +per pixel), but are typically instead stored as *n* boolean masks. For this mask, an extra "instance" axis is needed in addition to the [TCZ]YX axes of a source image. @@ -260,7 +261,7 @@ Downstream computational products are necessary for the analysis of microscopy data, and these should ideally be stored in formats compatible with the tooling used to work with the raw data. The format aims to be flexible enough to accommodate these products, such as segmentations (the `label-image` section), -or the outputs of registrations (see [rfc-5](#rfcs:rfc5:version3)). +or the outputs of registrations (see [rfc-5](../5/index)). Some outputs may naturally contain arbitrary dimensions, for example, a grid search of the parameter space for a denoising algorithm may contain an @@ -289,8 +290,7 @@ After this specification change, tools may encounter OME-Zarr files that don't match the earlier expectations of containing a subset of the TCZYX axes. This proposal is agnostic as to what to do in those situations, and indeed the appropriate action depends on the tool, but some suggestions include: - -- fail with an informative error message. (i.e. _partial_ implementations are +- fail with an informative error message. (i.e. *partial* implementations are OK, especially if well-documented.) - prompt the user about which axes to treat as spatial. - arbitrarily choose which axes to treat as spatial. @@ -304,31 +304,36 @@ document, taking as base the current development version: > - The length of `axes` must be between 2 and 5 and MUST be equal to the > dimensionality of the Zarr arrays storing the image data (see > `datasets:path`). +> > - `axes` MUST contain 2 or 3 entries of `type:space` +> > - `axes` MAY contain one additional entry of `type:time` +> > - `axes` MAY contain one additional entry of `type:channel` or a null / > custom type. +> > - `axes` entries MUST be ordered by `type` where the `time` axis must come > first (if present), followed by the `channel` or custom axis (if present) > and the axes of type `space`. +> > - If there are three spatial axes where two correspond to the image plane > (`yx`) and images are stacked along the other (anisotropic) axis (`z`), the > spatial axes SHOULD be ordered as `zyx`. -2. The following lines are _added_ to "multiscales metadata": +2. The following lines are *added* to "multiscales metadata": > 0. The length of the axis names MUST match the number of axes of the array. -> 1. _If_ a dataset contains exactly 2 spatial dimensions, those dimensions +> 1. *If* a dataset contains exactly 2 spatial dimensions, those dimensions > SHOULD be named `y` and `x`, except where rule 4 applies. -> 2. _If_ a dataset contains exactly 3 spatial dimensions, those dimensions +> 2. *If* a dataset contains exactly 3 spatial dimensions, those dimensions > SHOULD be named 'z', 'y', and 'x', except where rule 4 applies. -> 3. _If_ a dataset contains exactly 1 time dimension, it should be named `t`. +> 3. *If* a dataset contains exactly 1 time dimension, it should be named `t`. > 4. When image data axes map straightforwardly to axes with common names in > the relevant field of practice, those axes SHOULD be named according to > such conventions. For example, spatial frequency axes resulting from a > Fourier transformation of `z', 'y', and 'x' SHOULD be named 'w', 'v', and -`u`, respectively. Similarly, a temporal frequency axis resulting from -a Fourier transformation of the `t`axis SHOULD be named`w`or`ω`. +> `u`, respectively. Similarly, a temporal frequency axis resulting from +> a Fourier transformation of the `t` axis SHOULD be named `w` or `ω`. > 5. Axis names MUST NOT be repeated within a dataset, and SHOULD NOT be > different only by upper/lower-case. For example, the same dataset SHOULD > NOT have both an `X` and an `x` axis. @@ -365,7 +370,7 @@ the RFC. Developers of visualization libraries and software are concerned that this PR may result in a "wild west" of OME-Zarr datasets that have little in common, -making it difficult for tools to decide _which_ axes to display. More details +making it difficult for tools to decide *which* axes to display. More details about these concerns are developed below in the "Drawbacks" section. ## Backwards Compatibility @@ -421,21 +426,21 @@ have assuaged most implementation concerns][recap comment]. ## Performance The current OME-Zarr specification ensures arrays are stored in order TCZYX. -With C-order array data, this ensures efficient access for _some_ but not _all_ +With C-order array data, this ensures efficient access for *some* but not *all* access patterns. By removing restrictions on axis orderings, a new class of "mistake" is possible, as someone could save an array in order XYTCZ, which would combine poorly with C-order arrays to view XY planes. However, it is -arguable that Zarr chunking is in fact more important here — XYTCZ _could_ be +arguable that Zarr chunking is in fact more important here — XYTCZ *could* be a perfectly cromulent axis ordering for XY planes if the Zarr chunk size was (1024, 1024, 1, 1, 1). Moreover, imposing a fixed axis ordering can incur performance penalties at -_write_ time (where performance is often critical) if the data is not already +*write* time (where performance is often critical) if the data is not already in the expected order. Therefore, this proposal argues that any performance implications are better addressed through good documentation and good defaults. Indeed, more flexible -dimension ordering could _improve_ performance in some scenarios, such as +dimension ordering could *improve* performance in some scenarios, such as "pixel drilling", that is, extracting the value of a single x/y position over time. @@ -470,6 +475,7 @@ an informative error message (e.g. "The given dataset contains an unknown axis This RFC is placed in the public domain. + [nat methods paper]: https://www.nature.com/articles/s41592-021-01326-w [ome-model]: https://github.com/ome/ngff/pull/239/files#r1609781780 [ngff 0.4]: https://ngff.openmicroscopy.org/specifications/0.4/index.html @@ -496,12 +502,11 @@ This RFC is placed in the public domain. [zulip-rfc-3-thread]: https://imagesc.zulipchat.com/#narrow/channel/328251-NGFF/topic/RFC-3.3A.20remove.20dimension.20restrictions/near/568178521 [^1]: https://github.com/ome/ngff/pull/239#issuecomment-2122809286 - [^2]: https://github.com/ome/ngff/pull/239#issuecomment-2149119404 ## Changelog -| Date | Description | Link | -| ---------- | ------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- | -| 2024-10-08 | RFC assigned and published | [https://github.com/ome/ngff/pull/239](https://github.com/ome/ngff/pull/239) | -| 2026-07-04 | Updated to address comments, elaborate on use cases, include specific changes to spec doc, and add test data | [https://github.com/ome/ngff/pull/560](https://github.com/ome/ngff/pull/560) | +| Date | Description | Link | +| ---------- | ---------------------------- | ---------------------------------------------------------------------------- | +| 2024-10-08 | RFC assigned and published | [https://github.com/ome/ngff/pull/239](https://github.com/ome/ngff/pull/239) | +| 2026-07-04 | Updated to address comments, elaborate on use cases, include specific changes to spec doc, and add test data | [https://github.com/ome/ngff/pull/560](https://github.com/ome/ngff/pull/560) | From fb988cb50f49278fd72f71ad5993485ea7ce253f Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 4 Aug 2026 16:40:04 -0300 Subject: [PATCH 12/29] docs: Fix broken internal links after rollback --- rfc/3/versions/2026-07-17/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rfc/3/versions/2026-07-17/index.md b/rfc/3/versions/2026-07-17/index.md index 53789aa5..074f3043 100644 --- a/rfc/3/versions/2026-07-17/index.md +++ b/rfc/3/versions/2026-07-17/index.md @@ -195,7 +195,7 @@ fluorophore decay lifetime can be used to get more information about the sample, for example by separating fluorophores not only according to their emission spectra but also their lifetime. The decay measurement constitutes an additional time axis called `u` or `µ` and can result in a 6-dimensional -dataset with axes `CTUZYX`. (See [comment 3](./comments/3/index), and [this +dataset with axes `CTUZYX`. (See [comment 3](#rfcs:rfc3:comment3), and [this paper][flim-paper].) FLIM data currently cannot be represented in OME-Zarr, causing users to use @@ -261,7 +261,7 @@ Downstream computational products are necessary for the analysis of microscopy data, and these should ideally be stored in formats compatible with the tooling used to work with the raw data. The format aims to be flexible enough to accommodate these products, such as segmentations (the `label-image` section), -or the outputs of registrations (see [rfc-5](../5/index)). +or the outputs of registrations (see [rfc-5](#rfcs:rfc5:version3)). Some outputs may naturally contain arbitrary dimensions, for example, a grid search of the parameter space for a denoising algorithm may contain an From f704c1112f315a87a4ddb96ce8c14f888d058991 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 4 Aug 2026 16:47:20 -0300 Subject: [PATCH 13/29] move questions in the landing page to the FAQ --- help-desk/index.md | 217 ++++++++++++++++++++++++++++++--------------- index.md | 3 +- 2 files changed, 149 insertions(+), 71 deletions(-) diff --git a/help-desk/index.md b/help-desk/index.md index c3567770..05b6a6f8 100644 --- a/help-desk/index.md +++ b/help-desk/index.md @@ -1,8 +1,153 @@ # Help Desk -- [Glossary](#glossary) -- [FAQs](#faqs) - [Where to seek for help](#where-to-seek-for-help) +- [FAQs](#faqs) +- [Glossary](#glossary) + +(where-to-seek-for-help)= + +## Where to look for help + +If you have questions or need help with OME-Zarr, you can get the most up-to-date information through the following channels: + +| Where | Description | When to use | +|-------|-------------| --------------| +| [Image.sc Forum](https://forum.image.sc) | A community forum for image analysis and bioimaging. | To know when to use the tags [ngff](https://forum.image.sc/tag/ngff), [ome-ngff](https://forum.image.sc/tag/ome-ngff), and [ome-zarr](https://forum.image.sc/tag/ome-zarr) in the forum please read [Landing Page](https://ngff.openmicroscopy.org/index.html), Glossary and FAQs in this page. | +| [ome/ngff GitHub Issues](https://github.com/ome/ngff/issues) | The official repository for OME-NGFF specifications and related discussions. | For reporting bugs, suggesting features, or discussing technical aspects of the OME-NGFF specifications. | +| Office Hours | Regularly scheduled virtual meetings where you can ask questions and get help from the NGFF community | Office hours rotate between APAC/AU/EU- and AMER/AU/EU-friendly times. Join them when you want to chat about OME-Zarr. Read more in the [Community](../community/index.md) page. | +| OME-Zarr libraries GitHub Issues| Various repositories for OME-Zarr libraries. | For issues specific to a particular OME-Zarr library, use the respective GitHub repository's issue. | +| In person events | Conferences, workshops, and meetups where you can connect with the NGFF community. | To network, learn, and discuss OME-Zarr in person. Check the [Community](../community/index.md) page for upcoming events. | + + +## FAQs + +First, we are sharing some high-value questions, that once lived in the NGFF landing page, to then proceed with a more comprehensive list of FAQs. + +### NGFF vs OME-Zarr, what is the difference? + +**OME-Zarr** is the file format that the NGFF community has settled on to address issues of scalability and interoperability described below. + +**NGFF** is the community-driven process for designing the next generation of bioimaging formats. NGFF brings together the community to define shared specifications, metadata standards, and best practices. OME-Zarr implements those decisions, providing a practical, open, and scalable way to store and share modern microscopy data. As the NGFF specifications evolve, OME-Zarr evolves with them — ensuring the format reflects the needs and experience of the wider community. + +### What is an OME-Zarr? + +An OME-Zarr is a file format optimized for storing, viewing, & sharing large images. +There are two parts to an OME-Zarr: + +- **The "Zarr" part describes how the pixel data for the images are laid out**. [Zarr](https://zarr.dev) is a next-generation data format used for scientific datasets in multiple domains. +- **The "OME" part describes metadata about the pixel data.** OME stands for [Open Microscopy Environment](https://www.openmicroscopy.org/). This includes metadata such as: + - spatial relationships + - high content screening data + - well data + - [and more](./specifications/index)! + +### Why would I use OME-Zarr? + +In general, OME-Zarr is growing as a default [FAIR](https://en.wikipedia.org/wiki/FAIR_data) choice for storing and sharing microscopy images. + +OME-Zarr files have two major benefits: + +- **Standardization:** "OME-Zarr" is a "Zarr" with embedded standardized metadata in the Open Microscopy Environment (OME) format. + - **_Sharing_**: It eases cross-organization file sharing, aiding organizational collaboration and data sharing. Repositories like the [Image Data Resource](https://idr.openmicroscopy.org/) and [BioImage Archive](https://www.ebi.ac.uk/bioimage-archive/) are currently migrating to having OME-Zarr as a standard format for _all_ their data. + - **_Interoperability_**: Standardized metadata enables the ability to "mix and match" tools from different organizations, benefiting from the strengths of multiple tools as needed. + +- **Parallel access**: Chunking is inherent to "Zarr" files. This means "Zarr" files are stored in independently-accessible blocks. + - **_Storage_**: Microscopy images can be quite large and can therefore reach Cloud system storage limits for individual files; the chunked nature of a Zarr can alleviate this issue. Some storage systems may also duplicate byte-equivalent files, so a chunked file like Zarr may save storage space. + - **_Viewing_**: Viewers can target specific chunks to load based upon the current view, reducing lag, & enabling massive images to be viewed within browsers. + - **_Cost_**: When viewing or reading data, the total cost of accessing a Zarr file on the cloud may be less than a more monolithic file format due to the more efficient data access patterns. Ex. A viewer can just access the chunks of the image it needs to display rather than the entire image. + +Of note, both benefits contribute to **_AI-readiness_**: the standardized metadata & access patterns provide a common layer for machine-learning workflows, reducing the friction for developers to build and test models. + +The [tools](#resources-tools), [data](#resources-data), and [ecosystem](#resources-ecosystem) may provide a better sense of the range of scientific use cases that may benefit from OME-Zarr. The [publications](#resources-publications) page provides a list of publications that have used OME-Zarr in their work. + +### When would I not use OME-Zarr? + +While the format matures, it may be frustrating to use OME-Zarr in some cases, for example: + +- If you are working with small images, not planning to share them and your current tools already work well, then using OME-Zarr may not be necessary. Planned expansions to the specification (such as single-file Zarrs) will make it more convenient in these scenarios. + +- If you need specific conditions for which OME-Zarr support is not mature, you may need to use a different file format. + - Particularly, if your original file is lossy compressed, you will see a large increase in file size (about an order of magnitude) as the images are decompressed into OME-Zarr, since transferring lossy compressed tiles is not yet supported. This currently impacts most whole slide image (WSI) formats such as SVS, CZI, and NDPI, which are lossy JPEG compressed by default. + +### Who is using OME-Zarr? + +These are _some_ of the organizations (and their dataset pages) that are using OME-Zarr for their data. + +- [Allen Institute](https://bff.allencell.org/datasets) +- biohub +- [Broad Institute](https://broadinstitute.github.io/cellpainting-gallery/overview.html) +- [EMBL - Image Data Resource (IDR)](https://idr.openmicroscopy.org/) +- [Howard Hughes Medical Institute, Janelia (HHMI)](https://openorganelle.janelia.org/) +- [Jackson Laboratory (JAX)](https://images.jax.org/) +- ... [and more](#resources-data) + +### How do I use OME-Zarr? + +- Already have a Zarr? + - Check out the [tools section](#resources-tools)! +- Want to create a Zarr? + - Check out the [tools section](#resources-tools)! +- Want to see or download a Zarr? + - Check out the [data section](#resources-data)! +- Want to cite OME-Zarr/NGFF in your work? + - Check out the [publications section](#resources-publications)! + +### Other FAQs + +**1. Why OME-Zarr as a format?** + +OME-Zarr brings many benefits over traditional file formats, such as proprietary ones or OME-TIFF: a few examples are excellent performance, suitability to current research data needs, cloud-friendliness, a dedicated community of developers, and AI-readiness. + +**2. What problems does it solve?** + +The two largest problems that led to the initial development of OME-Zarr are data streaming and metadata interoperability. Imaging data has been suffering with increasingly large files, and downloading all of a dataset to view a small part of it was a common issue aggravated by data sizes. Meanwhile, the microscopy community has long had to deal with inconsistent metadata between file formats. OME-Zarr also brings a standardized access protocol to imaging data, and offers a format that is ready to be adopted by repositories and archives. + +**3. What is the future of OME-Tiff?** + +OME-TIFF is not going anywhere anytime soon - a lot of legacy data exists in that format and there are no deprecation plans. However, community and developer support is increasingly limited, performance can be an issue, and the intrinsic data and metadata structures in those files are fairly limited. Further, Adobe owns the TIFF license. + +**4. Is a converter not enough?** + +Conversion tools are a first step in a long-term transition to OME-Zarr. Ideally, data producers and vendors would initially enable translation of their file formats to OME-Zarr, then transitioning to providing export and import options, before fully adopting the new format. + +**5. What are the benefits for adopting such a format compared to my own?** + +A standardized file format provides many advantages compared to a bespoke, "home-grown" one. A wider developer base means increased stability and interoperability, benefitting the final user experience. Community support decreases the burden on any one individual and reduce development costs. Finally, OME-Zarr is uniquely suited for the modern research environment and AI-ready. + +**6. What are the downsides of moving to OME-Zarr from my own format?** + +As with any initiative involving community consensus, feature adoption and scope definitions can be comparatively slower, and allow for less individual ownership of the format itself. A rich ecosystem of tools and implementations also mean these can be both deep and broad, sometimes increasing the difficulty for finding the "right ones" for a given problem. + +**7. Does this format work for non-microscopy data too?** + +OME-Zarrs are, by definition, Zarr files with added structures defined by the OME community. These structures have been defined and developed to attend to the needs of the microscopy community, but are by no means limited to those. If you work on other kinds of large multidimensional arrays and you find the OME-Zarr metadata structures useful for your work, great! You might also need different kinds of structures; if you believe these would also be useful for a broader community, engaging with the RFC process is always welcome; otherwise, you might want to consider "pure" Zarr. + +**8. Is OME-Zarr a stable format?** + +OME-Zarr is (still) an evolving specification. Large breaking changes (i.e. changes in the binary storage format) are not currently planned for the future, but the metadata standards can (and will) evolve in ways that might be backwards-incompatible until an 1.0 release. A conversion path between versions until 1.0 is possible. + +**9. What's the difference between OME, OMERO, OME-Zarr, and just Zarr?** + +- OME: community developing many open-source microscopy software projects +- OMERO: one of such projects. a data management platform that uses the OME data model to unify data from many file formats +- OME-Zarr: the file format that the community has settled on to address issues of scalability and interoperability +- Zarr: the "base" file format upon which OME-Zarr builds. A general solution for storing large multidimensional arrays with the same advantages of OME-Zarr, but with fewer mechanisms to describe and annotate microscopy data. + +**10. Is OME-Zarr AI-ready?** + +Yes! The chunked nature of OME-Zarr and its focus on being cloud-native are particularly well-suited for tasks such as ML algorithms where individual inputs are of a small size, but large parallelism is necessary. OME-Zarr allows for excellent performance on both parallel reads and writes, while simplifying data management compared to individually managing thousands of small files. + +**11. I want to convert all my data to OME-Zarr right now. Can I safely delete my proprietary files and be sure I am not losing information?** + +Not yet. Pixel data is safe, but the metadata completeness is still a current issue. Vendors need to export their metadata fully, and we as a community need to push for this. + +**12. Are OME-Zarr files larger than proprietary ones?** + +That is often the case. OME-Zarr include multiresolution data (i.e. pyramids), which adds data. This is optional, but performance without pyramids suffer. There is a trade-off between file size and user experience in this case. + +**13. Does OME-Zarr support sparse arrays and layers?** + +Not yet fully. Some workarounds are possible (1D arrays, mesh formats), but this is an active area of development. ## Glossary @@ -155,71 +300,3 @@ Jump to: If you think any term is missing or needs to be updated, please open a PR to the [ngff-website repository](https://github.com/ome/ngff). -## FAQs - -**1. Why OME-Zarr as a format?** - -OME-Zarr brings many benefits over traditional file formats, such as proprietary ones or OME-TIFF: a few examples are excellent performance, suitability to current research data needs, cloud-friendliness, a dedicated community of developers, and AI-readiness. - -**2. What problems does it solve?** - -The two largest problems that led to the initial development of OME-Zarr are data streaming and metadata interoperability. Imaging data has been suffering with increasingly large files, and downloading all of a dataset to view a small part of it was a common issue aggravated by data sizes. Meanwhile, the microscopy community has long had to deal with inconsistent metadata between file formats. OME-Zarr also brings a standardized access protocol to imaging data, and offers a format that is ready to be adopted by repositories and archives. - -**3. What is the future of OME-Tiff?** - -OME-TIFF is not going anywhere anytime soon - a lot of legacy data exists in that format and there are no deprecation plans. However, community and developer support is increasingly limited, performance can be an issue, and the intrinsic data and metadata structures in those files are fairly limited. Further, Adobe owns the TIFF license. - -**4. Is a converter not enough?** - -Conversion tools are a first step in a long-term transition to OME-Zarr. Ideally, data producers and vendors would initially enable translation of their file formats to OME-Zarr, then transitioning to providing export and import options, before fully adopting the new format. - -**5. What are the benefits for adopting such a format compared to my own?** - -A standardized file format provides many advantages compared to a bespoke, "home-grown" one. A wider developer base means increased stability and interoperability, benefitting the final user experience. Community support decreases the burden on any one individual and reduce development costs. Finally, OME-Zarr is uniquely suited for the modern research environment and AI-ready. - -**6. What are the downsides of moving to OME-Zarr from my own format?** - -As with any initiative involving community consensus, feature adoption and scope definitions can be comparatively slower, and allow for less individual ownership of the format itself. A rich ecosystem of tools and implementations also mean these can be both deep and broad, sometimes increasing the difficulty for finding the "right ones" for a given problem. - -**7. Does this format work for non-microscopy data too?** - -OME-Zarrs are, by definition, Zarr files with added structures defined by the OME community. These structures have been defined and developed to attend to the needs of the microscopy community, but are by no means limited to those. If you work on other kinds of large multidimensional arrays and you find the OME-Zarr metadata structures useful for your work, great! You might also need different kinds of structures; if you believe these would also be useful for a broader community, engaging with the RFC process is always welcome; otherwise, you might want to consider "pure" Zarr. - -**8. Is OME-Zarr a stable format?** - -OME-Zarr is (still) an evolving specification. Large breaking changes (i.e. changes in the binary storage format) are not currently planned for the future, but the metadata standards can (and will) evolve in ways that might be backwards-incompatible until an 1.0 release. A conversion path between versions until 1.0 is possible. - -**9. What's the difference between OME, OMERO, OME-Zarr, and just Zarr?** - -- OME: community developing many open-source microscopy software projects -- OMERO: one of such projects. a data management platform that uses the OME data model to unify data from many file formats -- OME-Zarr: the file format that the community has settled on to address issues of scalability and interoperability -- Zarr: the "base" file format upon which OME-Zarr builds. A general solution for storing large multidimensional arrays with the same advantages of OME-Zarr, but with fewer mechanisms to describe and annotate microscopy data. - -**10. Is OME-Zarr AI-ready?** - -Yes! The chunked nature of OME-Zarr and its focus on being cloud-native are particularly well-suited for tasks such as ML algorithms where individual inputs are of a small size, but large parallelism is necessary. OME-Zarr allows for excellent performance on both parallel reads and writes, while simplifying data management compared to individually managing thousands of small files. - -**11. I want to convert all my data to OME-Zarr right now. Can I safely delete my proprietary files and be sure I am not losing information?** - -Not yet. Pixel data is safe, but the metadata completeness is still a current issue. Vendors need to export their metadata fully, and we as a community need to push for this. - -**12. Are OME-Zarr files larger than proprietary ones?** - -That is often the case. OME-Zarr include multiresolution data (i.e. pyramids), which adds data. This is optional, but performance without pyramids suffer. There is a trade-off between file size and user experience in this case. - -**13. Does OME-Zarr support sparse arrays and layers?** - -Not yet fully. Some workarounds are possible (1D arrays, mesh formats), but this is an active area of development. - -(where-to-seek-for-help)= -## Where to look for help - -If you have questions or need help with OME-Zarr, you can reach out through the following channels: -| Where | Description | When to use | -|-------|-------------| --------------| -| [Image.sc Forum](https://forum.image.sc) | A community forum for image analysis and bioimaging. | To know when to use the tags [ngff](https://forum.image.sc/tag/ngff), [ome-ngff](https://forum.image.sc/tag/ome-ngff), and [ome-zarr](https://forum.image.sc/tag/ome-zarr) in the forum please read [Landing Page](https://ngff.openmicroscopy.org/index.html), Glossary and FAQs in this page. | -| [ome/ngff GitHub Issues](https://github.com/ome/ngff/issues) | The official repository for OME-NGFF specifications and related discussions. | For reporting bugs, suggesting features, or discussing technical aspects of the OME-NGFF specifications. | -| Office Hours | Regularly scheduled virtual meetings where you can ask questions and get help from the NGFF community | Office hours rotate between APAC/AU/EU- and AMER/AU/EU-friendly times. Join them when you want to chat about OME-Zarr. Read more in the [Community](../community/index.md) page. | -| OME-Zarr libraries GitHub Issues| Various repositories for OME-Zarr libraries. | For issues specific to a particular OME-Zarr library, use the respective GitHub repository's issue. | -| In person events | Conferences, workshops, and meetups where you can connect with the NGFF community. | To network, learn, and discuss OME-Zarr in person. Check the [Community](../community/index.md) page for upcoming events. | diff --git a/index.md b/index.md index c54d30c9..d7b5dbf4 100644 --- a/index.md +++ b/index.md @@ -1,4 +1,5 @@ (main-page)= + # Next-Generation File Formats (NGFF) + OME-Zarr Welcome to the Next-Generation File Formats (NGFF) main page! This site is dedicated to providing resources for the NGFF community and those that are interested in getting started with OME-Zarr. @@ -74,7 +75,7 @@ These are _some_ of the organizations (and their dataset pages) that are using O - Want to cite OME-Zarr/NGFF in your work? - Check out the [publications section](#resources-publications)! -## Have other questions? +## Have questions? Check out the pages below, including the [FAQ](help-desk/index.md#faqs) page. From 5e0e75b94a50d5abbafc0f7f12237dbe6ba1dddc Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 4 Aug 2026 17:32:49 -0300 Subject: [PATCH 14/29] Draft new look for the landing page --- community/index.md | 1 + help-desk/index.md | 4 +- index.md | 115 +++++++++++++++------------------------- resources/index.md | 14 ++--- specifications/index.md | 2 + 5 files changed, 56 insertions(+), 80 deletions(-) diff --git a/community/index.md b/community/index.md index 56d19353..5cb94119 100644 --- a/community/index.md +++ b/community/index.md @@ -1,3 +1,4 @@ +(community-main)= # Community ## Community Calls diff --git a/help-desk/index.md b/help-desk/index.md index 05b6a6f8..0c829206 100644 --- a/help-desk/index.md +++ b/help-desk/index.md @@ -1,3 +1,5 @@ +(help-desk-main)= + # Help Desk - [Where to seek for help](#where-to-seek-for-help) @@ -39,7 +41,7 @@ There are two parts to an OME-Zarr: - spatial relationships - high content screening data - well data - - [and more](./specifications/index)! + - [and more](#specifications-main)! ### Why would I use OME-Zarr? diff --git a/index.md b/index.md index d7b5dbf4..6b4d480c 100644 --- a/index.md +++ b/index.md @@ -1,91 +1,60 @@ (main-page)= -# Next-Generation File Formats (NGFF) + OME-Zarr + + OME-Zarr format for High Content Screening (HCS). Source: Moore et al., Nature Methods 18, 1496–1498 (2021) + +
-Welcome to the Next-Generation File Formats (NGFF) main page! This site is dedicated to providing resources for the NGFF community and those that are interested in getting started with OME-Zarr. +# OME-Zarr -In summary, OME-Zarr allows you to store, share and stream large images. You can browse samples of such data from the Image Data Resource at . +A cloud-friendly, FAIR, AI-ready, community-driven open format for bioimaging data. -## NGFF vs OME-Zarr, what is the difference? +OME-Zarr is a combination of the [Zarr](https://zarr.dev) format for cloud-optimized storage of scientific arrays and a custom [Open Microscopy Environment (OME)](https://www.openmicroscopy.org/) metadata model, tailored for modern bioimaging needs. -**OME-Zarr** is the file format that the NGFF community has settled on to address issues of scalability and interoperability described below. +It is the technical choice for a Next Generation File Format (NGFF) for bioimaging data: -**NGFF** is the community-driven process for designing the next generation of bioimaging formats. NGFF brings together the community to define shared specifications, metadata standards, and best practices. OME-Zarr implements those decisions, providing a practical, open, and scalable way to store and share modern microscopy data. As the NGFF specifications evolve, OME-Zarr evolves with them — ensuring the format reflects the needs and experience of the wider community. +:::{card} Community +:link: community-main +:link-type: ref -## What is an OME-Zarr? +A global community of developers and users working together to streamline bioimaging data management and analysis. +::: -An OME-Zarr is a file format optimized for storing, viewing, & sharing large images. -There are two parts to an OME-Zarr: +:::{card} Specifications +:link: specifications-main +:link-type: ref -- **The "Zarr" part describes how the pixel data for the images are laid out**. [Zarr](https://zarr.dev) is a next-generation data format used for scientific datasets in multiple domains. -- **The "OME" part describes metadata about the pixel data.** OME stands for [Open Microscopy Environment](https://www.openmicroscopy.org/). This includes metadata such as: - - spatial relationships - - high content screening data - - well data - - [and more](./specifications/index)! +Details for developers and implementers of OME-Zarr on the stable and development releases of the specification. +::: -## Why would I use OME-Zarr? +:::{card} RFC +:link: rfc-main +:link-type: ref -In general, OME-Zarr is growing as a default [FAIR](https://en.wikipedia.org/wiki/FAIR_data) choice for storing and sharing microscopy images. +The documents and discussions through which the community shapes the development of OME-Zarr. Anyone can participate. +::: -OME-Zarr files have two major benefits: +:::{card} Resources +:link: resources-main +:link-type: ref -- **Standardization:** "OME-Zarr" is a "Zarr" with embedded standardized metadata in the Open Microscopy Environment (OME) format. - - **_Sharing_**: It eases cross-organization file sharing, aiding organizational collaboration and data sharing. Repositories like the [Image Data Resource](https://idr.openmicroscopy.org/) and [BioImage Archive](https://www.ebi.ac.uk/bioimage-archive/) are currently migrating to having OME-Zarr as a standard format for _all_ their data. - - **_Interoperability_**: Standardized metadata enables the ability to "mix and match" tools from different organizations, benefiting from the strengths of multiple tools as needed. +A collection of resources for users and developers, including datasets, tools, publications, and learning materials. +::: -- **Parallel access**: Chunking is inherent to "Zarr" files. This means "Zarr" files are stored in independently-accessible blocks. - - **_Storage_**: Microscopy images can be quite large and can therefore reach Cloud system storage limits for individual files; the chunked nature of a Zarr can alleviate this issue. Some storage systems may also duplicate byte-equivalent files, so a chunked file like Zarr may save storage space. - - **_Viewing_**: Viewers can target specific chunks to load based upon the current view, reducing lag, & enabling massive images to be viewed within browsers. - - **_Cost_**: When viewing or reading data, the total cost of accessing a Zarr file on the cloud may be less than a more monolithic file format due to the more efficient data access patterns. Ex. A viewer can just access the chunks of the image it needs to display rather than the entire image. +::: {card} Publications +:link: resources-publications +:link-type: ref +A collection of publications related to OME-Zarr. The original paper is available at: -Of note, both benefits contribute to **_AI-readiness_**: the standardized metadata & access patterns provide a common layer for machine-learning workflows, reducing the friction for developers to build and test models. +_Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021). [https://doi.org/10.1038/s41592-021-01326-w](https://doi.org/10.1038/s41592-021-01326-w)_ +::: -The [tools](#resources-tools), [data](#resources-data), and [ecosystem](#resources-ecosystem) may provide a better sense of the range of scientific use cases that may benefit from OME-Zarr. The [publications](#resources-publications) page provides a list of publications that have used OME-Zarr in their work. -## When would I not use OME-Zarr? - -While the format matures, it may be frustrating to use OME-Zarr in some cases, for example: - -- If you are working with small images, not planning to share them and your current tools already work well, then using OME-Zarr may not be necessary. Planned expansions to the specification (such as single-file Zarrs) will make it more convenient in these scenarios. - -- If you need specific conditions for which OME-Zarr support is not mature, you may need to use a different file format. - - Particularly, if your original file is lossy compressed, you will see a large increase in file size (about an order of magnitude) as the images are decompressed into OME-Zarr, since transferring lossy compressed tiles is not yet supported. This currently impacts most whole slide image (WSI) formats such as SVS, CZI, and NDPI, which are lossy JPEG compressed by default. - -## Who is using OME-Zarr? - -These are _some_ of the organizations (and their dataset pages) that are using OME-Zarr for their data. - -- [Allen Institute](https://bff.allencell.org/datasets) -- biohub -- [Broad Institute](https://broadinstitute.github.io/cellpainting-gallery/overview.html) -- [EMBL - Image Data Resource (IDR)](https://idr.openmicroscopy.org/) -- [Howard Hughes Medical Institute, Janelia (HHMI)](https://openorganelle.janelia.org/) -- [Jackson Laboratory (JAX)](https://images.jax.org/) -- ... [and more](#resources-data) - -## How do I use OME-Zarr? - -- Already have a Zarr? - - Check out the [tools section](#resources-tools)! -- Want to create a Zarr? - - Check out the [tools section](#resources-tools)! -- Want to see or download a Zarr? - - Check out the [data section](#resources-data)! -- Want to cite OME-Zarr/NGFF in your work? - - Check out the [publications section](#resources-publications)! - -## Have questions? - -Check out the pages below, including the [FAQ](help-desk/index.md#faqs) page. - -```{toctree} -:maxdepth: 1 - -community/index -contributing/index -specifications/index -rfc/index -resources/index -help-desk/index -``` +::: {card} Help Desk +:link: help-desk/index +:link-type: ref +A collection of frequently asked questions (FAQs) and a glossary of terms related to OME-Zarr. +::: diff --git a/resources/index.md b/resources/index.md index 5c31cb79..7d860664 100644 --- a/resources/index.md +++ b/resources/index.md @@ -1,3 +1,5 @@ +(resources-main)= + # Resources ```{toctree} @@ -9,9 +11,9 @@ This section provides resources related to OME-Zarr for users from all experience levels. -* [Data Resources](data/index.md) - A list of publicly available OME-Zarr datasets for testing and exploration. -* [Publications](publications/index.md) - Publications and preprints related to OME-Zarr and NGFF. -* [Tools](tools/index.md) - A list of tools for viewing, reading, writing, converting, validating and processing OME-Zarr data. -* [Learning and Teaching Resources](learning-and-teaching-material/index.md) - A collection of tutorials, guides, slides, notebooks and other materials for OME-Zarr. -* [OME-Zarr Ambassador Toolkit](ambassador-toolkit/index.md) - Slides, talking points and FAQs for confidently giving talks about OME-Zarr. -* [Ecosystem](ecosystem/index.md) - Workflows and data formats that adopt OME-Zarr and build upon it +- [Data Resources](data/index.md) - A list of publicly available OME-Zarr datasets for testing and exploration. +- [Publications](publications/index.md) - Publications and preprints related to OME-Zarr and NGFF. +- [Tools](tools/index.md) - A list of tools for viewing, reading, writing, converting, validating and processing OME-Zarr data. +- [Learning and Teaching Resources](learning-and-teaching-material/index.md) - A collection of tutorials, guides, slides, notebooks and other materials for OME-Zarr. +- [OME-Zarr Ambassador Toolkit](ambassador-toolkit/index.md) - Slides, talking points and FAQs for confidently giving talks about OME-Zarr. +- [Ecosystem](ecosystem/index.md) - Workflows and data formats that adopt OME-Zarr and build upon it diff --git a/specifications/index.md b/specifications/index.md index 2ff0644e..7854fbcf 100644 --- a/specifications/index.md +++ b/specifications/index.md @@ -1,3 +1,5 @@ +(specifications-main)= + # Specifications OME-Zarr files have standardized metadata (that is the OME portion of "OME-Zarr") - each new version of OME-Zarr files has its own specification. Those specifications are listed below. From 64930c5215b3d4d754164d0a3856eb6c764ea61c Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 5 Aug 2026 06:34:07 -0300 Subject: [PATCH 15/29] feat: arrange cards in grid with placeholders --- index.md | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) diff --git a/index.md b/index.md index 6b4d480c..e93c83af 100644 --- a/index.md +++ b/index.md @@ -16,45 +16,55 @@ OME-Zarr is a combination of the [Zarr](https://zarr.dev) format for cloud-optim It is the technical choice for a Next Generation File Format (NGFF) for bioimaging data: -:::{card} Community +::::{grid} 1 2 2 3 +:gutter: 3 + +:::{grid-item-card} Community :link: community-main :link-type: ref +:img-top: https://placehold.co/600x300?text=Community A global community of developers and users working together to streamline bioimaging data management and analysis. ::: -:::{card} Specifications +:::{grid-item-card} Specifications :link: specifications-main :link-type: ref +:img-top: https://placehold.co/600x300?text=Specifications -Details for developers and implementers of OME-Zarr on the stable and development releases of the specification. +Details for developers and implementers of OME-Zarr on the stable and development releases of the specification. ::: -:::{card} RFC +:::{grid-item-card} RFC :link: rfc-main :link-type: ref +:img-top: https://placehold.co/600x300?text=RFC The documents and discussions through which the community shapes the development of OME-Zarr. Anyone can participate. ::: -:::{card} Resources +:::{grid-item-card} Resources :link: resources-main :link-type: ref +:img-top: https://placehold.co/600x300?text=Resources A collection of resources for users and developers, including datasets, tools, publications, and learning materials. ::: -::: {card} Publications +:::{grid-item-card} Publications :link: resources-publications :link-type: ref -A collection of publications related to OME-Zarr. The original paper is available at: +:img-top: https://placehold.co/600x300?text=Publications -_Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021). [https://doi.org/10.1038/s41592-021-01326-w](https://doi.org/10.1038/s41592-021-01326-w)_ +A collection of publications related to OME-Zarr. The original paper: _Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021)._ ::: - -::: {card} Help Desk +:::{grid-item-card} Help Desk :link: help-desk/index :link-type: ref -A collection of frequently asked questions (FAQs) and a glossary of terms related to OME-Zarr. +:img-top: https://placehold.co/600x300?text=Help+Desk + +A collection of frequently asked questions (FAQs) and a glossary of terms related to OME-Zarr. ::: + +:::: From bf6853448563d57d5d6c17f6bd6e66b3f4b91e4a Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 5 Aug 2026 07:05:33 -0300 Subject: [PATCH 16/29] Add images+emojis to main page Also centers the OME-Zarr title/hero with custom.css. --- _static/custom.css | 24 +++++++++++++++ conf.py | 1 + images/contributors-map-light.png | Bin 0 -> 189691 bytes images/resources-screenshot.png | Bin 0 -> 33586 bytes images/spec-screenshot.png | Bin 0 -> 18968 bytes index.md | 49 ++++++++++++++---------------- 6 files changed, 47 insertions(+), 27 deletions(-) create mode 100644 _static/custom.css create mode 100644 images/contributors-map-light.png create mode 100644 images/resources-screenshot.png create mode 100644 images/spec-screenshot.png diff --git a/_static/custom.css b/_static/custom.css new file mode 100644 index 00000000..42802a0f --- /dev/null +++ b/_static/custom.css @@ -0,0 +1,24 @@ +/* center the H1 that immediately precedes the hero tagline */ +h1:has(+ .ome-hero) { + text-align: center; + font-size: 4rem; + font-weight: 700; + letter-spacing: -0.02em; + margin-bottom: 0.5rem; +} + +.ome-hero { + text-align: center; + margin: 0 auto 3rem; +} + +.ome-hero p { + font-size: 1.25rem; + color: var(--pst-color-text-muted); + max-width: 42rem; + margin: 0 auto; +} + +@media (max-width: 768px) { + .ome-hero h1 { font-size: 2.5rem; } +} \ No newline at end of file diff --git a/conf.py b/conf.py index 55152f5e..be15a961 100644 --- a/conf.py +++ b/conf.py @@ -81,6 +81,7 @@ html_css_files = [ "https://cdn.datatables.net/v/dt/dt-1.11.5/datatables.min.css", + "custom.css" ] html_js_files = [ diff --git a/images/contributors-map-light.png b/images/contributors-map-light.png new file mode 100644 index 0000000000000000000000000000000000000000..8b258806870f17bd96ab83b369cc0a2b1a80a006 GIT binary patch literal 189691 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�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
    kpUPYZLt8&2jx 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 literal 0 HcmV?d00001 diff --git a/images/resources-screenshot.png b/images/resources-screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..26e6e715c33819c4797943663f3e9964158ead13 GIT binary patch literal 33586 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

    Qj0;r@Vx>5N7P1t~C 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 - OME-Zarr format for High Content Screening (HCS). Source: Moore et al., Nature Methods 18, 1496–1498 (2021) - -
    - # OME-Zarr -A cloud-friendly, FAIR, AI-ready, community-driven open format for bioimaging data. +:::{div} ome-hero -OME-Zarr is a combination of the [Zarr](https://zarr.dev) format for cloud-optimized storage of scientific arrays and a custom [Open Microscopy Environment (OME)](https://www.openmicroscopy.org/) metadata model, tailored for modern bioimaging needs. - -It is the technical choice for a Next Generation File Format (NGFF) for bioimaging data: +A cloud-friendly, FAIR, AI-ready, community-driven open format for bioimaging data. +::: ::::{grid} 1 2 2 3 :gutter: 3 -:::{grid-item-card} Community +:::{grid-item-card} Community 💬 :link: community-main :link-type: ref -:img-top: https://placehold.co/600x300?text=Community +:img-top: ./images/contributors-map-light.png A global community of developers and users working together to streamline bioimaging data management and analysis. ::: -:::{grid-item-card} Specifications +:::{grid-item-card} Specifications 📜 :link: specifications-main :link-type: ref -:img-top: https://placehold.co/600x300?text=Specifications +:img-top: ./images/spec-screenshot.png Details for developers and implementers of OME-Zarr on the stable and development releases of the specification. ::: -:::{grid-item-card} RFC +:::{grid-item-card} RFCs ❗ :link: rfc-main :link-type: ref -:img-top: https://placehold.co/600x300?text=RFC +:img-top: ./rfc/1/drawing.png The documents and discussions through which the community shapes the development of OME-Zarr. Anyone can participate. ::: -:::{grid-item-card} Resources +:::{grid-item-card} Resources 📚 :link: resources-main :link-type: ref -:img-top: https://placehold.co/600x300?text=Resources +:img-top: ./images/resources-screenshot.png A collection of resources for users and developers, including datasets, tools, publications, and learning materials. ::: -:::{grid-item-card} Publications +:::{grid-item-card} Publications 📢 :link: resources-publications :link-type: ref -:img-top: https://placehold.co/600x300?text=Publications +:img-top: https://media.springernature.com/full/springer-static/image/art%3A10.1007%2Fs00418-023-02209-1/MediaObjects/418_2023_2209_Fig1_HTML.png?as=webp -A collection of publications related to OME-Zarr. The original paper: _Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021)._ +Papers and preprints written by the OME-NGFF community or using OME-Zarr. ::: -:::{grid-item-card} Help Desk -:link: help-desk/index +:::{grid-item-card} Help Desk ☎️ +:link: help-desk-main :link-type: ref -:img-top: https://placehold.co/600x300?text=Help+Desk +:img-top: ./images/hackathons/IMG_9605.jpeg -A collection of frequently asked questions (FAQs) and a glossary of terms related to OME-Zarr. +FAQs and directions on getting support with OME-Zarr. ::: :::: + +OME-Zarr is a combination of the [Zarr](https://zarr.dev) format for cloud-optimized storage of scientific arrays and a custom [Open Microscopy Environment (OME)](https://www.openmicroscopy.org/) metadata model, tailored for modern bioimaging needs. + +It is the technical choice for a Next Generation File Format (NGFF) for bioimaging data. For the background, see _Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021)._ From 87c407c4e1daa55bdf2578e5b7cc9a115c5b70d2 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 5 Aug 2026 07:10:24 -0300 Subject: [PATCH 17/29] add DOI to paper below --- index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/index.md b/index.md index 655671d7..016b0208 100644 --- a/index.md +++ b/index.md @@ -62,4 +62,4 @@ FAQs and directions on getting support with OME-Zarr. OME-Zarr is a combination of the [Zarr](https://zarr.dev) format for cloud-optimized storage of scientific arrays and a custom [Open Microscopy Environment (OME)](https://www.openmicroscopy.org/) metadata model, tailored for modern bioimaging needs. -It is the technical choice for a Next Generation File Format (NGFF) for bioimaging data. For the background, see _Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021)._ +It is the technical choice for a Next Generation File Format (NGFF) for bioimaging data. For the background, see _Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021). [doi:10.1038/s41592-021-01326-w](https://doi.org/10.1038/s41592-021-01326-w)_ From 73542a3dbe52207895404a6841a874b0410c4b4e Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 5 Aug 2026 13:26:30 -0300 Subject: [PATCH 18/29] Re-add TOC tree --- index.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/index.md b/index.md index 016b0208..8c94bb0a 100644 --- a/index.md +++ b/index.md @@ -63,3 +63,14 @@ FAQs and directions on getting support with OME-Zarr. OME-Zarr is a combination of the [Zarr](https://zarr.dev) format for cloud-optimized storage of scientific arrays and a custom [Open Microscopy Environment (OME)](https://www.openmicroscopy.org/) metadata model, tailored for modern bioimaging needs. It is the technical choice for a Next Generation File Format (NGFF) for bioimaging data. For the background, see _Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021). [doi:10.1038/s41592-021-01326-w](https://doi.org/10.1038/s41592-021-01326-w)_ + +```{toctree} +:maxdepth: 1 + +community/index +contributing/index +specifications/index +rfc/index +resources/index +help-desk/index +``` From 1160b791ed503ce0e6b91059ce299589b7a9facd Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 5 Aug 2026 13:28:53 -0300 Subject: [PATCH 19/29] Fix link to RFCs; re-remove TOC tree --- index.md | 11 ----------- rfc/index.md | 12 +++++++----- 2 files changed, 7 insertions(+), 16 deletions(-) diff --git a/index.md b/index.md index 8c94bb0a..016b0208 100644 --- a/index.md +++ b/index.md @@ -63,14 +63,3 @@ FAQs and directions on getting support with OME-Zarr. OME-Zarr is a combination of the [Zarr](https://zarr.dev) format for cloud-optimized storage of scientific arrays and a custom [Open Microscopy Environment (OME)](https://www.openmicroscopy.org/) metadata model, tailored for modern bioimaging needs. It is the technical choice for a Next Generation File Format (NGFF) for bioimaging data. For the background, see _Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021). [doi:10.1038/s41592-021-01326-w](https://doi.org/10.1038/s41592-021-01326-w)_ - -```{toctree} -:maxdepth: 1 - -community/index -contributing/index -specifications/index -rfc/index -resources/index -help-desk/index -``` diff --git a/rfc/index.md b/rfc/index.md index 79660a17..0376531c 100644 --- a/rfc/index.md +++ b/rfc/index.md @@ -1,3 +1,5 @@ +(rfc-main)= + # RFCs ```{toctree} @@ -16,11 +18,11 @@ and additional details. The RFC process itself is defined as [RFC-1](1/index.md). Key sections include: -* [Stakeholders](1/index.md#stakeholders) -* [DRAFT](1/index.md#draft) -* [RFC](1/index.md#rfc) -* [SPEC](1/index.md#spec) -* [Policies](1/index.md#policies) +- [Stakeholders](1/index.md#stakeholders) +- [DRAFT](1/index.md#draft) +- [RFC](1/index.md#rfc) +- [SPEC](1/index.md#spec) +- [Policies](1/index.md#policies) If you are interested in submitting an RFC, start with the introduction under ["Proposal"](1/index.md#proposal). Once you From fc58554eae643399113dd1ca8d8104e2a5cd1a7b Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 5 Aug 2026 13:30:02 -0300 Subject: [PATCH 20/29] Make the toctree hidden --- index.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/index.md b/index.md index 016b0208..9b5d9fe5 100644 --- a/index.md +++ b/index.md @@ -63,3 +63,15 @@ FAQs and directions on getting support with OME-Zarr. OME-Zarr is a combination of the [Zarr](https://zarr.dev) format for cloud-optimized storage of scientific arrays and a custom [Open Microscopy Environment (OME)](https://www.openmicroscopy.org/) metadata model, tailored for modern bioimaging needs. It is the technical choice for a Next Generation File Format (NGFF) for bioimaging data. For the background, see _Moore, J., Allan, C., Besson, S. et al. OME-NGFF: a next-generation file format for expanding bioimaging data-access strategies. Nature Methods 18, 1496–1498 (2021). [doi:10.1038/s41592-021-01326-w](https://doi.org/10.1038/s41592-021-01326-w)_ + +```{toctree} +:maxdepth: 1 +:hidden: + +community/index +contributing/index +specifications/index +rfc/index +resources/index +help-desk/index +``` From ad50db551a98988a2a900dd7c99cc0f97803bb37 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Wed, 5 Aug 2026 13:43:13 -0300 Subject: [PATCH 21/29] Improve organization of images and text on the grid --- _static/custom.css | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/_static/custom.css b/_static/custom.css index 42802a0f..6ec69377 100644 --- a/_static/custom.css +++ b/_static/custom.css @@ -1,4 +1,4 @@ -/* center the H1 that immediately precedes the hero tagline */ +/* hero */ h1:has(+ .ome-hero) { text-align: center; font-size: 4rem; @@ -6,19 +6,33 @@ h1:has(+ .ome-hero) { letter-spacing: -0.02em; margin-bottom: 0.5rem; } - .ome-hero { text-align: center; margin: 0 auto 3rem; } - .ome-hero p { font-size: 1.25rem; color: var(--pst-color-text-muted); max-width: 42rem; margin: 0 auto; } - @media (max-width: 768px) { .ome-hero h1 { font-size: 2.5rem; } -} \ No newline at end of file +} + +/* cards */ +.sd-row { align-items: stretch; } +.sd-col { display: flex; } +.sd-card { + border-radius: 12px; + overflow: hidden; + transition: transform 0.15s ease, box-shadow 0.15s ease; +} +.sd-card:hover { + transform: translateY(-4px); + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); +} +.sd-card img { + aspect-ratio: 16 / 9; + object-fit: cover; +} From e4b5913f9c150d35f52dfb5835043a5cef068089 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Fri, 7 Aug 2026 07:05:40 -0300 Subject: [PATCH 22/29] fix css media tags Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> --- _static/custom.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/_static/custom.css b/_static/custom.css index 6ec69377..faaa97f3 100644 --- a/_static/custom.css +++ b/_static/custom.css @@ -17,7 +17,7 @@ h1:has(+ .ome-hero) { margin: 0 auto; } @media (max-width: 768px) { - .ome-hero h1 { font-size: 2.5rem; } + h1:has(+ .ome-hero) { font-size: 2.5rem; } } /* cards */ From 3b8ac6d60cd0b7e8a83bdc620f83045b43fd1e72 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 7 Aug 2026 10:08:01 +0000 Subject: [PATCH 23/29] Remove duplicated Y/Z glossary sections Co-authored-by: lubianat <7917951+lubianat@users.noreply.github.com> --- help-desk/index.md | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/help-desk/index.md b/help-desk/index.md index 8a87f129..8ad6a042 100644 --- a/help-desk/index.md +++ b/help-desk/index.md @@ -300,17 +300,4 @@ Jump to: [Back to top](#glossary) -### Y - -[Back to top](#glossary) - -### Z - -**Zarr** -- A file format, see the [main page](#main-page) for more information about what a Zarr is and the benefits of using Zarr. - -**Zarr Group** - A Zarr group is like a folder inside a dataset. It can hold arrays, metadata, or other groups, helping organize complex data into a clear hierarchy. Think of it as a way to keep all related images and information neatly together. - -[Back to top](#glossary) - If you think any term is missing or needs to be updated, please open a PR to the [ngff-website repository](https://github.com/ome/ngff). - From ebd99587c39ded3bb3ae8c25676e4ba450d85ef3 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Fri, 7 Aug 2026 07:25:55 -0300 Subject: [PATCH 24/29] disable pre-fetch for cards (fix navigation bug) --- _static/main.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/_static/main.js b/_static/main.js index fc7a88ee..2f96384d 100644 --- a/_static/main.js +++ b/_static/main.js @@ -1,3 +1,8 @@ $(document).ready( function () { $('table.datatable').DataTable(); + + document.querySelectorAll('.bd-content .sd-card, .bd-content .sd-card a').forEach(function (el) { + el.setAttribute('rel', 'noprefetch'); + el.setAttribute('data-turbo-prefetch', 'false'); + }); } ); From b3f8bed00b05432b3a15d65c2d29cf6973ecaf30 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Fri, 7 Aug 2026 10:25:15 -0300 Subject: [PATCH 25/29] Remove custom css for hovering; testing if it works on RTD --- _static/custom.css | 6 ++---- _static/main.js | 5 ----- specifications/dev | 2 +- 3 files changed, 3 insertions(+), 10 deletions(-) diff --git a/_static/custom.css b/_static/custom.css index faaa97f3..e5b5af1d 100644 --- a/_static/custom.css +++ b/_static/custom.css @@ -23,15 +23,13 @@ h1:has(+ .ome-hero) { /* cards */ .sd-row { align-items: stretch; } .sd-col { display: flex; } + .sd-card { border-radius: 12px; overflow: hidden; transition: transform 0.15s ease, box-shadow 0.15s ease; } -.sd-card:hover { - transform: translateY(-4px); - box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); -} + .sd-card img { aspect-ratio: 16 / 9; object-fit: cover; diff --git a/_static/main.js b/_static/main.js index 2f96384d..fc7a88ee 100644 --- a/_static/main.js +++ b/_static/main.js @@ -1,8 +1,3 @@ $(document).ready( function () { $('table.datatable').DataTable(); - - document.querySelectorAll('.bd-content .sd-card, .bd-content .sd-card a').forEach(function (el) { - el.setAttribute('rel', 'noprefetch'); - el.setAttribute('data-turbo-prefetch', 'false'); - }); } ); diff --git a/specifications/dev b/specifications/dev index ad84ca01..fd8e71b8 160000 --- a/specifications/dev +++ b/specifications/dev @@ -1 +1 @@ -Subproject commit ad84ca013b64dd2ba6bc12af5d13ba3158fefabf +Subproject commit fd8e71b814d9cee247ffec0b8b6998d9b41ff73f From 33ac9e60a4eb0e32566192ca8a6ce533e38b90ff Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Fri, 7 Aug 2026 10:39:50 -0300 Subject: [PATCH 26/29] Remove all custom CSS about cards --- _static/custom.css | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/_static/custom.css b/_static/custom.css index e5b5af1d..f3e4c21a 100644 --- a/_static/custom.css +++ b/_static/custom.css @@ -19,18 +19,3 @@ h1:has(+ .ome-hero) { @media (max-width: 768px) { h1:has(+ .ome-hero) { font-size: 2.5rem; } } - -/* cards */ -.sd-row { align-items: stretch; } -.sd-col { display: flex; } - -.sd-card { - border-radius: 12px; - overflow: hidden; - transition: transform 0.15s ease, box-shadow 0.15s ease; -} - -.sd-card img { - aspect-ratio: 16 / 9; - object-fit: cover; -} From 01f2cdd155643b37db9790789e4eeea3622e4e09 Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Fri, 7 Aug 2026 10:57:55 -0300 Subject: [PATCH 27/29] try to disable injected linkpreview from cards --- _static/custom.css | 22 +++++++++++++++++++++- _static/main.js | 7 +++++++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/_static/custom.css b/_static/custom.css index f3e4c21a..adeb607c 100644 --- a/_static/custom.css +++ b/_static/custom.css @@ -17,5 +17,25 @@ h1:has(+ .ome-hero) { margin: 0 auto; } @media (max-width: 768px) { - h1:has(+ .ome-hero) { font-size: 2.5rem; } + .ome-hero h1 { font-size: 2.5rem; } } + +/* cards */ +.sd-row { align-items: stretch; } +.sd-col { display: flex; } +.sd-card { + border-radius: 12px; + overflow: hidden; + transition: transform 0.15s ease, box-shadow 0.15s ease; +} +.sd-card:hover { + transform: translateY(-4px); + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08); +} +.sd-card img { + aspect-ratio: 16 / 9; + object-fit: cover; +} + +.tooltip[data-linkpreview-href] { display: none !important; pointer-events: none !important; } +.tooltip[data-linkpreview-href] iframe { display: none !important; } diff --git a/_static/main.js b/_static/main.js index fc7a88ee..879fb44e 100644 --- a/_static/main.js +++ b/_static/main.js @@ -1,3 +1,10 @@ $(document).ready( function () { $('table.datatable').DataTable(); } ); + +document.addEventListener("readthedocs-addons-data-ready", function () { + document.querySelectorAll("a.link-preview, .sd-card a.sd-stretched-link").forEach(function (a) { + a.classList.remove("link-preview"); + a.removeAttribute("data-linkpreview-href"); + }); +}); From 699375ab9fecf978c2aae740da84c8cc240436eb Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Tue, 18 Aug 2026 09:05:16 -0300 Subject: [PATCH 28/29] Add TODOs that document the patches over RTD extension --- _static/custom.css | 3 +++ _static/main.js | 3 +++ 2 files changed, 6 insertions(+) diff --git a/_static/custom.css b/_static/custom.css index adeb607c..1fa0a001 100644 --- a/_static/custom.css +++ b/_static/custom.css @@ -37,5 +37,8 @@ h1:has(+ .ome-hero) { object-fit: cover; } +/* The snippet below is needed as sphinx-design cards with links + and the RTD link-preview extension are not playing well together. + TODO: Remove this if moving away from RTD or disabling the link-preview extension.*/ .tooltip[data-linkpreview-href] { display: none !important; pointer-events: none !important; } .tooltip[data-linkpreview-href] iframe { display: none !important; } diff --git a/_static/main.js b/_static/main.js index 879fb44e..6fc5c5e6 100644 --- a/_static/main.js +++ b/_static/main.js @@ -2,6 +2,9 @@ $(document).ready( function () { $('table.datatable').DataTable(); } ); +// The snippet below is needed as sphinx-design cards with links +// and the RTD link-preview extension don't play well together. +// TODO: Remove this if moving away from RTD or disabling the link-preview extension. document.addEventListener("readthedocs-addons-data-ready", function () { document.querySelectorAll("a.link-preview, .sd-card a.sd-stretched-link").forEach(function (a) { a.classList.remove("link-preview"); From c51bc80f725dd118221415c6ec28590f09e2036a Mon Sep 17 00:00:00 2001 From: Tiago Lubiana Date: Thu, 20 Aug 2026 13:54:23 -0300 Subject: [PATCH 29/29] Remove source link tip Co-authored-by: Kiya Govek --- conf.py | 1 + 1 file changed, 1 insertion(+) diff --git a/conf.py b/conf.py index be15a961..156a7529 100644 --- a/conf.py +++ b/conf.py @@ -93,6 +93,7 @@ "_html_extra", ] +html_show_sourcelink = False def build_served_html(): import glob