Skip to content

N5 Metadata Dialects

bogovicj edited this page Aug 19, 2021 · 11 revisions

N5 Metadata Dialects

This page contains a list and description of known n5 metadata dialects.

N5-viewer

The n5-viewer metadata style is briefly described here.

Dataset-level attributes

Datasets may contain a pixelResolution field that is either

"pixelResolution": {
   "unit": "um",
   "dimensions": []
}

or

"pixelResolution": []

Datasets may contain a downsamplingFactors field.

COSEM

The COSEM metadata style is described here.

Dataset-level attributes

Datasets shall contain a transform field that describes how the discrete pixel grid should be arranged in physical space.

"transform": {
    "axes": [ ], 
    "units": [ ],
    "scale": [ ],
    "translate": [ ]
}

All fields below must have lengths equal to the dimensionality of the n5 dataset they describe.

  • axes: String[]
    • gives a label to axis indexes
    • examples: ["x","y","z"], ["z","y","x"]
  • units: String[]
    • the physical
    • examples ["nm","nm","nm"], ["microns","microns","microns"]
  • scale: number[]
    • physical scale factors (see physical spacing)
  • translate: number[]
    • physical translation (see physical spacing)

Physical spacing

Call the 0th, 1st, and 2nd dimensions of the dataset i, j, and k, respectively. Then if axis: ["x","y","z"], then The discrete point at (i,j,k), should be mapped to the physical point (x,y,z) as follows:

x = (scale[0] * i) + translate[0]
y = (scale[1] * j) + translate[1]
z = (scale[2] * k) + translate[2]

ImageJ

The ImageJ metadata dialect mirrors the metadata stored in ImageJ's ImagePlus class. Images of up to five dimensions are supported, i.e. 3D, multi-channel, time-series can be described with this dialect. This standard does not support multiscale datasets.

Dataset-level attributes

  • name: string
  • fps: number (float)
  • frameInterval: number (float)
  • pixelWidth: number (float)
  • pixelHeight: number (float)
  • pixelDepth: number (float)
  • xOrigin: number (float)
  • yOrigin: number (float)
  • zOrigin: number (float)
  • numChannels: number (integer)
  • numSlices: number (integer)
  • numFrames: number (integer)
  • type: number (integer)
  • unit: string
  • properties: object