Neuroglancer Precomputed Segment Properties Format

A collection of property values may be associated with uint64 segment IDs (usually corresponding to a segmentation volume, meshes, and/or skeletons).

Currently only inline properties are supported, where the complete list of segment IDs and associated property values is stored inline within the single info JSON file.

The properties are represented by a directory containing a single info JSON file.

info metadata file

The info file is JSON-formt text file, with the following schema:

json PrecomputedSegmentProperties : object

Precomputed segment properties

Required members:
@type : "neuroglancer_segment_properties"

Precomputed data kind.

Optional members:
inline : object

Inline properties and their values.

Required members:
ids : array of string

Segment IDs for which inline property values are specified.

IDs are specified as base-10 strings.

properties : object

Supported inline properties.

Required members:
id : string

String identifier to display in the UI.

Ignored if type is "label" or "description".

type : "label" | "description" | "string" | "tags" | "number"

Property type.

At most one property may have type "label" (which is displayed in the UI next to the segment ID), at most one property may have type "description", and at most one property may have type "tags".

values : array

Property value for each ID in ids.

  • If type is equal to "label", "description", or "string", each element must be a string.

  • If type is equal to "number", each element must be a number that will be converted to the specified data_type.

  • If type is equal to "tags", each element must be an array of integers (in increasing order), where each number specifies a 0-based index into the "tags" array.

Optional members:
description : string

Description of the property to display to the user.

Must not be present if type is "tags".

tags : array of string

List of valid tag values.

Must be specified if, and only if, type is "tags". The specified tags must all be distinct, must not contain spaces, and do not include the initial "#" character. Tags are matched case-insensitively.

tag_descriptions : array of string

Longer description for each of the tags.

May be present if type is "tags", otherwise must not be specified. The length must match the length of tags.

data_type : "uint8" | "int8" | "uint16" | "int16" | "uint32" | "int32" | "float32"

Data type for numerical properties.

Must be present if, and only if, type is "number".