Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
5d2caef
upgrade to Jupyter book 2
jo-mueller Oct 20, 2025
ec8f66e
correctly mark examples
jo-mueller Oct 20, 2025
75913fe
bump mystmd dependency
jo-mueller Oct 20, 2025
992aac0
pin mystmd
jo-mueller Oct 20, 2025
278c97f
hashpin template
jo-mueller Oct 20, 2025
6a4fd87
remove legacy dependencies
jo-mueller Oct 20, 2025
d5b63af
Create README.md for OME-NGFF specification
jo-mueller Oct 21, 2025
066145d
remove legacy files
jo-mueller Oct 21, 2025
deb17ef
use auto-built footer for copyright
jo-mueller Oct 21, 2025
a55a8e3
Merge branch 'upgrade-to-jupyter-book-2' of https://github.com/jo-mue…
jo-mueller Oct 21, 2025
e320b22
Update `coordinateSystems` metadata
jo-mueller Oct 21, 2025
a542576
Updated `axes` metadata and moved under `coordinateSystems` header level
jo-mueller Oct 21, 2025
599cb2e
Update array coordinate systems metadata and merge existing examples
jo-mueller Oct 21, 2025
0c3cb9d
Update coordinate convention metadata
jo-mueller Oct 21, 2025
9f8bed0
Updated coordinate transformations metadata
jo-mueller Oct 21, 2025
5c2c39f
updated matrix transformations
jo-mueller Oct 21, 2025
46e7e1c
update transformation types
jo-mueller Oct 21, 2025
d74cd54
update transformation types metadata
jo-mueller Oct 21, 2025
3ff61cf
harmonize link syntax
jo-mueller Oct 21, 2025
004ddf4
removed deprecated statement about `byDimension` transform
jo-mueller Oct 21, 2025
98dae14
harmonized indendations and json style
jo-mueller Oct 21, 2025
144f837
fixed `byDimension` metadata
jo-mueller Oct 21, 2025
1c6038d
make examples collapsible
jo-mueller Oct 21, 2025
1297598
renamed example folder
jo-mueller Oct 21, 2025
80011bb
add orcid logo to editor info
jo-mueller Oct 21, 2025
dee0b98
fix reference
jo-mueller Oct 22, 2025
a75d512
change precedence
jo-mueller Oct 22, 2025
e52f1fb
added examples for transformations with discrete axes
jo-mueller Oct 22, 2025
2faa956
fix link to example
jo-mueller Oct 22, 2025
8fb8ac1
untrack autogenerated files
jo-mueller Oct 22, 2025
7ad14ba
update affine examples and fix variable ordering
jo-mueller Oct 22, 2025
ad495b6
Fixed scale examples
jo-mueller Oct 22, 2025
51c8809
removed example from additional details
jo-mueller Oct 22, 2025
5d99680
specify affines/rotations as 2D matrices in parameter table
jo-mueller Oct 22, 2025
938fbce
renamed coordinate transformations schema
jo-mueller Oct 22, 2025
776b164
Refactor rotation property to use `mtxFlatOrNested`
jo-mueller Oct 22, 2025
b1d8b28
Merge remote-tracking branch 'upstream/main' into RFC5
jo-mueller Oct 22, 2025
b3b7e24
Delete schemas.md
jo-mueller Oct 22, 2025
dce4659
remove `mtxFloatOrNested`
jo-mueller Oct 24, 2025
bb63455
"zarr array" instead of "binary data"
jo-mueller Oct 29, 2025
fc7fef0
WIP: Update rfc5 schemas (#1)
jo-mueller Nov 3, 2025
ecec30b
sync PR with latest RFC5 proposal (#2)
jo-mueller Nov 3, 2025
06309d4
fix links
jo-mueller Nov 5, 2025
f4fbb96
fix schema resolution
jo-mueller Nov 5, 2025
63ba4bd
Merge remote-tracking branch 'upstream/main' into RFC5
jo-mueller Nov 24, 2025
031d5da
move example/schema index pages in _generated folder and fix encoding…
jo-mueller Nov 24, 2025
557f7b9
removed unnecessary code and added traceback print
jo-mueller Nov 24, 2025
0b842a2
Comment out example tests
jo-mueller Nov 24, 2025
b91fd82
correct versioning semantic
jo-mueller Nov 26, 2025
325c35e
typo
jo-mueller Nov 26, 2025
990dd78
Merge remote-tracking branch 'upstream/main' into RFC5
jo-mueller Nov 27, 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
16 changes: 16 additions & 0 deletions .github/workflows/validation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Validation
on:
push:
pull_request:

jobs:
validate:
name: Validation
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- run: python -mpip install --upgrade wheel tox
- run: tox
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ _bikeshed

# do not sync auto-generated md files
ngff_spec/_generated
ngff_spec/footer.md
ngff_spec/examples.md
ngff_spec/schemas.md

# Byte-compiled / optimized / DLL files
__pycache__/
Expand Down
60 changes: 0 additions & 60 deletions ngff_spec/examples.md

This file was deleted.

10 changes: 0 additions & 10 deletions ngff_spec/examples/coordSystems/arrayCoordSys.json

This file was deleted.

10 changes: 10 additions & 0 deletions ngff_spec/examples/coordinate_systems/arrayCoordSys.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"arrayCoordinateSystem" : {
"name" : "myDataArray",
"axes" : [
{"name": "k", "type": "array"},
{"name": "j", "type": "array"},
{"name": "i", "type": "array"}
]
}
}
44 changes: 22 additions & 22 deletions ngff_spec/examples/multiscales_strict/multiscales_example.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,61 +3,61 @@
"node_type": "group",
"attributes": {
"ome": {
"version": "0.6dev2",
"version": "0.5",
"multiscales": [
{
"name": "physical",
"name": "example",
"coordinateSystems": [
{
"name": "physical",
"axes": [
{ "name": "t", "type": "time", "unit": "millisecond" },
{ "name": "c", "type": "channel" },
{ "name": "z", "type": "space", "unit": "micrometer" },
{ "name": "y", "type": "space", "unit": "micrometer" },
{ "name": "x", "type": "space", "unit": "micrometer" }
]
}
{
"name": "intrinsic",
"axes": [
{ "name": "t", "type": "time", "unit": "millisecond" },
{ "name": "c", "type": "channel" },
{ "name": "z", "type": "space", "unit": "micrometer" },
{ "name": "y", "type": "space", "unit": "micrometer" },
{ "name": "x", "type": "space", "unit": "micrometer" }
]
}
],
"datasets": [
{
"path": "0",
"coordinateTransformations": [
{
// the voxel size for the first scale level (0.5 micrometer)
// the time unit (0.1 milliseconds), which is the same for each scale level
// and the time unit (0.1 milliseconds), which is the same for each scale level
"type": "scale",
"scale": [0.1, 1.0, 0.5, 0.5, 0.5],
"input": "0",
"output": "physical"
"output": "intrinsic"
}
]
},
{
"path": "1",
"coordinateTransformations": [
{
// the voxel size for the second scale level (1 micrometer)
// the time unit (0.1 milliseconds), which is the same for each scale level
// the voxel size for the second scale level (downscaled by a factor of 2 -> 1 micrometer)
// and the time unit (0.1 milliseconds), which is the same for each scale level
"type": "scale",
"scale": [0.1, 1.0, 1.0, 1.0, 1.0],
"input": "1",
"output": "physical"
"output": "intrinsic"
}
]
},
{
"path": "2",
"coordinateTransformations": [
{
// the voxel size for the third scale level (2 micrometer)
// the time unit (0.1 milliseconds), which is the same for each scale level
// the voxel size for the third scale level (downscaled by a factor of 4 -> 2 micrometer)
// and the time unit (0.1 milliseconds), which is the same for each scale level
"type": "scale",
"scale": [0.1, 1.0, 2.0, 2.0, 2.0],
"input": "2",
"output": "physical"
"output": "intrinsic"
}
]
]
}
],
"type": "gaussian",
Expand All @@ -72,4 +72,4 @@
]
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,76 +1,72 @@
{
"multiscales": [
"multiscales": [
{
"version": "0.6.dev2",
"name": "example",
"coordinateSystems" : [
{
"version": "0.5-dev",
"name": "example",
"coordinateSystems" : [
{
"name" : "exampleCoordinateSystem",
"axes": [
{"name": "t", "type": "time", "unit": "millisecond"},
{"name": "c", "type": "channel"},
{"name": "z", "type": "space", "unit": "micrometer"},
{"name": "y", "type": "space", "unit": "micrometer"},
{"name": "x", "type": "space", "unit": "micrometer"}
]
},
{
"name" : "array_0",
"axes": [
{"name": "t", "type": "time", "unit": "millisecond"},
{"name": "c", "type": "channel"},
{"name": "z", "type": "space", "unit": "micrometer"},
{"name": "y", "type": "space", "unit": "micrometer"},
{"name": "x", "type": "space", "unit": "micrometer"}
]
}
],
"datasets": [
{
"path": "0",
// the transformation of other arrays are defined relative to this, the highest resolution, array
"coordinateTransformations": [{
"type": "identity",
"input": "/0",
"output": "array_0"
}]
},
{
"path": "1",
"coordinateTransformations": [{
// the second scale level (downscaled by a factor of 2 relative to "0" in zyx)
"type": "scale",
"scale": [1, 1, 2, 2, 2],
"input" : "/1",
"output" : "array_0"
}]
},
{
"path": "2",
"coordinateTransformations": [{
// the third scale level (downscaled by a factor of 4 relative to "0" in zyx)
"type": "scale",
"scale": [1, 1, 4, 4, 4],
"input" : "/2",
"output" : "array_0"
}]
}
],
"coordinateTransformations": [{
// the time unit (0.1 milliseconds), the voxel size for all spatial axes of "0" (0.5 micrometers)
"type": "scale",
"scale": [0.1, 1.0, 0.5, 0.5, 0.5],
"input" : "array_0",
"output" : "exampleCoordinateSystem"
}],
"type": "gaussian",
"metadata": {
"description": "the fields in metadata depend on the downscaling implementation. Here, the parameters passed to the skimage function are given",
"method": "skimage.transform.pyramid_gaussian",
"version": "0.16.1",
"args": "[true]",
"kwargs": {"multichannel": true}
}
"name" : "world",
"axes": {
"t": {"type": "time", "unit": "millisecond"},
"c": {"type": "channel"},
"z": {"type": "space", "unit": "micrometer"},
"y": {"type": "space", "unit": "micrometer"},
"x": {"type": "space", "unit": "micrometer"}
}
},
{
"name" : "intrinsic",
"axes": [
{"name": "t", "type": "time", "unit": "millisecond"},
{"name": "c", "type": "channel"},
{"name": "z", "type": "space", "unit": "micrometer"},
{"name": "y", "type": "space", "unit": "micrometer"},
{"name": "x", "type": "space", "unit": "micrometer"}
]
}
],
"datasets": [
{
"path": "s0",
// the transformation of other arrays are
// defined relative to this, the highest resolution, array
"coordinateTransformations": [{
"type": "scale",
"scale": [1, 1, 1, 1, 1],
"input": "s0",
"output": "intrinsic"
}]
},
{
"path": "1",
"coordinateTransformations": [{
// the second scale level (downscaled by a factor of 2 relative to "0" in zyx)
"type": "scale",
"scale": [1, 1, 2, 2, 2],
"input" : "/1",
"output" : "array_0"
}]
},
{
"path": "2",
"coordinateTransformations": [{
// the third scale level (downscaled by a factor of 4 relative to "0" in zyx)
"type": "scale",
"scale": [1, 1, 4, 4, 4],
"input" : "/2",
"output" : "array_0"
}]
}
],
"coordinateTransformations": [
{
"name": "additional_translation",
"type": "translation",
"translation": [0, 0, 10, 20, 30],
"input": "intrinsic",
"output": "world"
}
]
]
}
]
}
Loading