-
Notifications
You must be signed in to change notification settings - Fork 33
Home
DVID is a distributed, versioned, image-oriented datastore written to support Janelia Farm Research Center's brain imaging, analysis and visualization efforts.
DVID aspires to be a "github for large image-oriented data" because each DVID server can manage multiple repositories, each of which contains an image-oriented repo with related data like an image volume, labels, and skeletons. The goal is to provide scientists with a github-like web client + server that can push/pull data to a collaborator's DVID server.
Although DVID is easily extensible by adding custom data types, each of which fulfill a minimal interface (e.g., HTTP request handling), DVID's initial focus is on efficiently storing and retrieving 3d grayscale and label data in a variety of ways:
- subvolumes
- images in XY, XZ, YZ, and arbitrary orientation
- multiscale 2d and 3d, similar to quadtrees and octrees
- sparse volumes determined by a label
- label maps that handle mapping of labels X -> Y
- label graphs
- regions of interest represented via a coarse subdivision of space using block indices
Each of the above is handled by built-in data types via a Level 2 REST HTTP API implemented by Go language packages within the datatype directory. When dealing with novel data, we typically use the generic keyvalue data type and store JSON-encoded or binary data until we understand the desired access patterns and API. When we outgrow the keyvalue type's GET, POST, and DELETE operations, we create a custom data type package with a specialized HTTP API.
Table of Contents
- DVID Overview
- Features
- Philosophy
- DVID Flexibility and Comparisons
- External Use of DVID
- Installation
- User's Guide
- Developer's Guide