Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
b7cd381
Create .gitignore
jo-mueller Sep 24, 2025
e20b3e9
Create .readthedocs.yaml
jo-mueller Sep 24, 2025
5cc0e82
configure jupyter-book
jo-mueller Sep 24, 2025
7a615b8
moved _includes to new directory
jo-mueller Sep 24, 2025
ef34d19
renamed bikeshed file to specification.md
jo-mueller Sep 24, 2025
4c80c2a
added ngff reference
jo-mueller Sep 24, 2025
d47a529
Create intro.md
jo-mueller Sep 24, 2025
62c89fc
create section header files
jo-mueller Sep 24, 2025
6606a9c
Create pre_build.py
jo-mueller Sep 24, 2025
640cdcf
Update _config.yml
jo-mueller Sep 24, 2025
5ef390b
create propper title
jo-mueller Sep 24, 2025
35e3983
added header information to project
jo-mueller Sep 25, 2025
d24b1fd
make code cleaner
jo-mueller Sep 25, 2025
e64e4ff
fixed myst references
jo-mueller Sep 25, 2025
169fe30
Create requirements.txt
jo-mueller Sep 25, 2025
b0bed90
move requirements to separate file
jo-mueller Sep 25, 2025
f927340
remove installation attempt
jo-mueller Sep 25, 2025
7c37de8
change conversion target folder
jo-mueller Sep 25, 2025
780e89f
fix conf.py location
jo-mueller Sep 25, 2025
d9539b6
Use spec-text as front-page
jo-mueller Sep 25, 2025
2cb1c2d
convert links to myst-references
jo-mueller Oct 1, 2025
53ab429
add zenodo reference
jo-mueller Oct 1, 2025
bec14e4
Delete intro.md
jo-mueller Oct 1, 2025
ce2d7ce
Moved citation info to separate section
jo-mueller Oct 1, 2025
b47a705
updated author and editor orchid details
jo-mueller Oct 1, 2025
099e34b
added version substitution
jo-mueller Oct 1, 2025
6ee7518
Use myST references throughout document
jo-mueller Oct 1, 2025
7455e8f
move version history in separate page
jo-mueller Oct 1, 2025
37cb58f
Update schemas.md
jo-mueller Oct 1, 2025
4043ae2
removed unnecessary exclude in toc
jo-mueller Oct 1, 2025
68cf5d2
use consistent header formatting in document
jo-mueller Oct 2, 2025
0d3a607
move version history to separate page
jo-mueller Oct 2, 2025
6df99af
increase header depth
jo-mueller Oct 2, 2025
9526cfb
Use MyST admonitions to format examples and hints
jo-mueller Oct 2, 2025
993ccc5
Explain styling in contribution guide
jo-mueller Oct 2, 2025
928e411
Delete header.include
jo-mueller Oct 2, 2025
bb9e5e6
add contribution section to toc
jo-mueller Oct 2, 2025
73c94cd
Add warning about WIP status
jo-mueller Oct 2, 2025
3b642c3
fix typo
jo-mueller Oct 2, 2025
625cc2d
update `multiscales_strict` example
jo-mueller Oct 7, 2025
bc54631
remove duplicate sentence
jo-mueller Oct 7, 2025
bb9f656
removed missleading comments and merged time-scaling back into multis…
jo-mueller Oct 7, 2025
3e04ec4
updated version
jo-mueller Oct 7, 2025
c467423
correct output coordinate system
jo-mueller Oct 7, 2025
6c259c4
Delete schemas.md
jo-mueller Oct 8, 2025
1a6d156
merge requirements files
jo-mueller Oct 8, 2025
afc0090
Delete transform-details.bs
jo-mueller Oct 8, 2025
ca04a60
removed obsolete schema
jo-mueller Oct 8, 2025
655493d
generate html files
jo-mueller Oct 8, 2025
b34b6df
add index page to schemas
jo-mueller Oct 8, 2025
c498368
build both html and md
jo-mueller Oct 8, 2025
a56352b
fix link to requirements file in contrib pages
jo-mueller Oct 8, 2025
0041999
text structure and clarity
jo-mueller Oct 8, 2025
8eb5eab
upgraded to Jupyter-book 2 and reorder repo
jo-mueller Oct 8, 2025
e038ec8
Revert "upgraded to Jupyter-book 2 and reorder repo"
jo-mueller Oct 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
97 changes: 97 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
*/.DS_Store
**/__pycache__/*
*/index.html
_build
_bikeshed
.tox
.vscode
.*plist

# do not sync auto-generated md files
docs/examples/
docs/schemas/

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
*.egg-info/
.installed.cfg
*.egg
*_version.py

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*,cover
.hypothesis/
.napari_cache

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask instance folder
instance/

# Sphinx documentation
docs/_build/

# MkDocs documentation
/site/

# PyBuilder
target/

# IPython Notebook
.ipynb_checkpoints

# pyenv
.python-version

# OS
.DS_Store

# written by setuptools_scm
*/_version.py

# PyBuilder
.idea
venv/
19 changes: 19 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
version: 2

build:
os: ubuntu-22.04
tools:
python: "3.13"
jobs:
pre_build:
# Generate the Sphinx configuration for this Jupyter Book so it builds.
- "jupyter-book config sphinx ."
- "python ./docs/pre_build.py"

python:
install:
- requirements: docs/requirements.txt


sphinx:
configuration: conf.py
83 changes: 83 additions & 0 deletions _config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Book settings
# Learn more at https://jupyterbook.org/customize/config.html
# Comprehensive example: https://github.com/executablebooks/jupyter-book/blob/master/docs/_config.yml

title: Next-generation file format specification
author: NGFF-community
logo: https://www.openmicroscopy.org/img/logos/ome-logomark.svg

# Force re-execution of notebooks on each build.
# See https://jupyterbook.org/content/execute.html
# execute:
# execute_notebooks: off

# Define the name of the latex output file for PDF builds
latex:
latex_documents:
targetname: book.tex

# Add a bibtex file so that we can create citations
bibtex_bibfiles:
- references.bib

# Information about where the book exists on the web
repository:
url: https://github.com/ome/ngff-spec # Online location of your book
path_to_book: docs # Optional path to your book, relative to the repository root
branch: main # Which branch of the repository should be used when creating links (optional)

# Add GitHub buttons to your book
# See https://jupyterbook.org/customize/config.html#add-a-link-to-your-repository
html:
use_issues_button: true
use_repository_button: true
extra_footer: |
<div>
Copyright © 2020-<span id="current-year"></span>
<a href="https://www.openmicroscopy.org/"><abbr title="Open Microscopy Environment">OME</abbr></a><sup>®</sup>
(<a href="https://dundee.ac.uk/"><abbr title="University of Dundee">U. Dundee</abbr></a>).
OME trademark rules apply.
</div>
<script>
document.getElementById('current-year').textContent = new Date().getFullYear();
</script>

parse:
myst_heading_anchors: 3

myst:
enable_extensions:
- colon_fence
- deflist
- dollarmath
- linkify
- substitution


sphinx:
extra_extensions:
- sphinx.ext.autosummary
- sphinx.ext.autodoc
- sphinx.ext.napoleon # Enable support for NumPy and Google style docstrings
- sphinx.ext.intersphinx
- sphinx_inline_tabs
- sphinx_proof
- sphinx_examples
config:
html_show_copyright: false
add_module_names: True
autosummary_generate: True

myst_substitutions:
title: "OME-Zarr specification"
shortname: "ome-zarr"
level: "1"
status: "CG-FINAL"
tr_url: "https://ngff.openmicroscopy.org/0.5/"
url: "https://ngff.openmicroscopy.org/0.6-dev/"
issue_tracking: "[Forum](https://forum.image.sc/tag/ome-ngff), [Github](https://github.com/ome/ngff/issues)"
logo: "http://www.openmicroscopy.org/img/logos/ome-logomark.svg"
editor_name: "[Josh Moore](https://gerbi-gmb.de/)"
editor_affiliation: "German BioImaging e.V."
editor_orcid: "[https://orcid.org/0000-0003-4028-811X](https://orcid.org/0000-0003-4028-811X)"
version: "0.6.dev1"
17 changes: 17 additions & 0 deletions _toc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# Table of contents
# Learn more at https://jupyterbook.org/customize/toc.html

format: jb-book
root: specification

chapters:
- file: docs/examples
sections:
- glob: docs/examples/*
- file: docs/schemas/index
sections:
- glob: docs/schemas/markdown/*

- file: contribute
- file: citing
- file: version_history
13 changes: 13 additions & 0 deletions citing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Citing
======
(citing)=

[Next-generation file format (NGFF) specifications for storing bioimaging data in the cloud.](https://ngff.openmicroscopy.org/0.4)
J. Moore, *et al*. Open Microscopy Environment Consortium, 8 February 2022.

This edition of the specification is [https://ngff.openmicroscopy.org/{{version}}](https://ngff.openmicroscopy.org/{{version}}]).
The latest edition is publically available {cite}`ngff_spec_latest`.

```{bibliography}
:style: unsrt
```
83 changes: 83 additions & 0 deletions contribute.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
# Contribution guide

Contributions to the spec text, examples and schemas are highly welcome and
appreciated by the ngff community. If you propose an RFC (i.e., major change)
or a aminor change (pull request), please make sure to follow [these guidelines](https://ngff.openmicroscopy.org/contributing/index.html).

Major changes should follow the RFC process as it was laid out in [RFC1 ](https://ngff.openmicroscopy.org/rfc/1/index.html).

## Building the documentation

Build and inspect changes to the documentation before submitting a PR. To do so, you first need
to install the necessary dependecies:

```bash
pip install -r docs/requirements.txt
```

This document uses [jupyter-book](https://jupyterbook.org) to generate the pages and [MyST](https://mystmd.org)
markdown for formatting. After installing these via the dependencies, navigate into the repository on your machine
and build the book using the following command:

```bash
python docs/pre_build.py
jupyter-book build . --path-output docs
```

You'll find the built webpages under `docs/_build/html`.

### Formating hints

The specification uses MyST extensively for a number of formatting options to make the text
readible and improve structure.

#### Referencing

MyST allows a number of ways to reference and cross-reference inside this text and across
several of the pages in this repo. For an overview of supported referencing syntax, see the
[MyST doc pages](https://mystmd.org/guide/cross-references). It is recommended to use the
following syntax in this document for consitency:
```
anchor: (your-reference-name)=
reference: [This is a reference](your-reference-name)
```

#### Admonitions

We suggest using [admonitions](https://mystmd.org/guide/admonitions) for example code and
other highlighting. For examples, please use the following syntax to highlight your examples:

`````markdown
````{admonition} Example

Some informative text about your example
```json
"key": "value"
```
````
`````

which results in

````{admonition} Example

Some informative text about your example
```json
"key": "value"
```
````

If you want to link in example metadata from somewhere in this repo (i.e, a json file),
use this syntax:

`````markdown
````{admonition} Example

Some informative text about your example
```{literalinclude} path/to/example.json
:language: json
```
````
`````

Other useful admonitions (e.g., `hint`, `note`) can be found [here](https://mystmd.org/guide/directives)
4 changes: 0 additions & 4 deletions copyright.include

This file was deleted.

3 changes: 3 additions & 0 deletions docs/examples.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# JSON Examples

This document contains JSON examples for ngff-compliant metadata layouts.
Loading