API for labelsz data type (github.com/janelia-flyem/dvid/datatype/labelsz) ======================================================================================= Note: UUIDs referenced below are strings that may either be a unique prefix of a hexadecimal UUID string (e.g., 3FA22) or a branch leaf specification that adds a colon (":") followed by the case-dependent branch name. In the case of a branch leaf specification, the unique UUID prefix just identifies the repo of the branch, and the UUID referenced is really the leaf of the branch name. For example, if we have a DAG with root A -> B -> C where C is the current HEAD or leaf of the "master" (default) branch, then asking for "B:master" is the same as asking for "C". If we add another version so A -> B -> C -> D, then references to "B:master" now return the data from "D". Command-line: $ dvid repo new labelsz Adds newly named data of the 'type name' to repo with specified UUID. Example: $ dvid repo 3f8c new labelsz labelrankings Arguments: UUID Hexadecimal string with enough characters to uniquely identify a version node. data name Name of data to create, e.g., "labelrankings" settings Configuration settings in "key=value" format separated by spaces. Configuration Settings (case-insensitive keys) ROI Value must be in "," format where is the name of the static ROI that defines the extent of tracking and is the immutable version used for this labelsz. ------------------ HTTP API (Level 2 REST): GET /node///help Returns data-specific help message. GET /node///info POST /node///info Retrieves or puts DVID-specific data properties for this labelsz data instance. Example: GET /node/3f8c/labelrankings/info Returns JSON with configuration settings. Arguments: UUID Hexadecimal string with enough characters to uniquely identify a version node. data name Name of labelsz data. POST /api/repo/{uuid}/instance Creates a new instance of the given data type. Expects configuration data in JSON as the body of the POST. Configuration data is a JSON object with each property corresponding to a configuration keyword for the particular data type. JSON name/value pairs: REQUIRED "typename" Should equal "labelsz" REQUIRED "dataname" Name of the new instance OPTIONAL "versioned" If "false" or "0", the data is unversioned and acts as if all UUIDs within a repo become the root repo UUID. (True by default.) OPTIONAL "ROI" Value must be in "," format where is the name of the static ROI that defines the extent of tracking and is the immutable version used for this labelsz. POST /node///sync? Establishes data instances for which the label sizes are computed. Expects JSON to be POSTed with the following format: { "sync": "synapses" } To delete syncs, pass an empty string of names with query string "replace=true": { "sync": "" } The "sync" property should be followed by a comma-delimited list of data instances that MUST already exist. After this sync request, the labelsz data are computed for the first time and then kept in sync thereafter. It is not allowed to change syncs. You can, however, create a new labelsz data instance and sync it as required. The labelsz data type only accepts syncs to annotation data instances. GET Query-string Options: replace Set to "true" if you want passed syncs to replace and not be appended to current syncs. Default operation is false. GET /node///count/