API for 'keyvalue' datatype (github.com/janelia-flyem/dvid/datatype/tarsupervoxels) ============================================================================= 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 tarsupervoxels Adds newly named supervoxels tar support to repo with specified UUID. Example: $ dvid repo 3f8c new tarsupervoxels stuff Arguments: UUID Hexadecimal string with enough characters to uniquely identify a version node. data name Name of data to create, e.g., "supervoxel-meshes" settings Configuration settings in "key=value" format separated by spaces. ------------------ HTTP API (Level 2 REST): Note that browsers support HTTP PUT and DELETE via javascript but only GET/POST are included in HTML specs. For ease of use in constructing clients, HTTP POST is used to create or modify resources in an idempotent fashion. GET /node///help Returns data-specific help message. GET /node///info POST /node///info Retrieves or puts data properties. Example: GET /node/3f8c/supervoxel-meshes/info Returns JSON with configuration settings. Arguments: UUID Hexadecimal string with enough characters to uniquely identify a version node. data name Name of tarsupervoxels data instance. POST /node///sync? Establishes labelmap for which supervoxel mapping is used. Expects JSON to be POSTed with the following format: { "sync": "segmentation" } To delete syncs, pass an empty string of names with query string "replace=true": { "sync": "" } The tarsupervoxels data type only accepts syncs to label instances that provide supervoxel info. 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///supervoxel/ POST /node///supervoxel/ DEL /node///supervoxel/ Performs get, put or delete of data on a supervoxel depending on the HTTP verb. Example: GET /node/3f8c/supervoxel-meshes/supervoxel/18473948 Returns the data associated with the supervoxel 18473948 of instance "supervoxel-meshes". POST /node/3f8c/supervoxel-meshes/supervoxel/18473948 Stores data associated with supervoxel 18473948 of instance "supervoxel-meshes". The "Content-type" of the HTTP GET response and POST payload are "application/octet-stream" for arbitrary binary data. Arguments: UUID Hexadecimal string with enough characters to uniquely identify a version node. data name Name of tarsupervoxels data instance. label The supervoxel id. GET /node///tarfile/