Skip to content
Snippets Groups Projects
Commit ea022bf5 authored by François  LAURENT's avatar François LAURENT
Browse files

clearer doc about labels arrays

parent dbbad970
No related branches found
No related tags found
No related merge requests found
Pipeline #97203 passed
......@@ -194,13 +194,14 @@ Time series of behavior tags are stored in *json* files as in the following exam
The `metadata`->`id` element gives a text identifier for the run/assay. Appart from this `id` element, none of the above-mentioned elements in object `metadata` is standard.
The `data` array lists the different moving objects (larvae) with their `id` (as a string) and time series of timestamps (float array `t`) and associated label specifications (object `labels`).
The `data` array lists the different moving objects (larvae) with their `id` (as a string) and time series of timestamps (float array `t`) and associated label specifications (array `labels`).
The top-level `labels` element can an object, with label names listed in child element `names`, or an array that lists names just like `names` does in the above example.
The top-level `labels` element can be an object, with the different label names listed in child element `names`. Alternatively, the top-level `labels` element can be an array that lists label names just like `labels`->`names` does in the above example.
The simpler array form is preferred for element `labels` when no additional information (such as `colors`) needs to be stored.
The `labels` elements in `data` are arrays with as many elements as in sibling `t`. Each element in `labels` can be a name (string), a list of names (possibly empty array of strings) or encoded as an index (integer) or indices (array of integers) in the top-level `labels` or `labels`->`names` array.
The `labels` elements in `data` are arrays with as many elements as in sibling `t`. Each element in `labels` can be a name (string) or a list of names (possibly empty array of strings).
Encoded labels start from index `1`. In the above example, `1` refers to `"run"`, `2` to `"bend"`, etc.
Alternatively, labels can be integer-encoded so that each element in `labels` is either an index (integer) or indices (possibly empty array of integers). Indices point to array elements in the top-level `labels` or `labels`->`names` array. Encoded labels start from index `1`. In the above example, `1` refers to `"run"`, `2` to `"bend"`, etc.
This format is inspired by the [WCON](https://github.com/openworm/tracker-commons/blob/master/discuss/Formats.md#json-as-a-candidate-format=) proposal.
Such a file can be made WCON-compliant prefixing occurences of `labels`, `secondarylabels` and `dependencies` by `@`. In addition, `x` and `y` should be added to `units` (with associated text units) and to every objects in `data` (with associated numeric data).
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment