Package datatype provides interfaces for arbitrary datatypes supported in DVID. Each datatype implements the interface and handles conversion of its data into the key-value pairs or other base storage elements. Each data type provides a domain-specific HTTP API and possibly command-line actions.
Data types are declared in the main dvid.go file under imports. An example:
// Declare the data types this DVID executable will support _ "github.com/janelia-flyem/dvid/datatype/imageblk" _ "github.com/janelia-flyem/dvid/datatype/labelblk" _ "randomsite.org/datatypes/myfoo"
Philosophy note: Rather than creating base packages that handle all sorts of similar data (e.g., uint8, uint16, rgab8, float32, n-dimensional float32), DVID code tries to be as simple as possible even if it means copying and replacing types. This will lend itself to using Go generate versus generics-style of programming. For now, though, it will simplify the code of each package.
|annotation||Package annotation supports point annotation management and queries.|
|common/downres||Package downres provides a system for computing multi-scale 3d arrays given mutations.|
|common/labels||Package labels supports label-based data types like labelblk, labelvol, labelsurf, labelsz, etc.|
|common/proto||Package proto is a generated protocol buffer package.|
|googlevoxels||Package googlevoxels implements DVID support for multi-scale tiles and volumes in XY, XZ, and YZ orientation using the Google BrainMaps API.|
|imageblk||Package imageblk implements DVID support for image blocks of various formats (uint8, uint16, rgba8).|
|imagetile||Package imagetile implements DVID support for imagetiles in XY, XZ, and YZ orientation.|
|keyvalue||Package keyvalue is a generated protocol buffer package.|
|labelarray||Package labelarray handles both volumes of label data as well as indexing to quickly find and generate sparse volumes of any particular label.|
|labelblk||Package labelblk supports only label volumes.|
|labelgraph||Package labelgraph implements DVID support for data using the underlying graph storage engine.|
|labelmap||Package labelmap handles both volumes of label data as well as indexing to quickly find and generate sparse volumes of any particular label.|
|labelsz||Package labelsz supports ranking labels by # annotations of each type.|
|labelvol||Package labelvol supports label-specific sparse volumes.|
|multichan16||Package multichan16 tailors the voxels data type for 16-bit fluorescent images with multiple channels that can be read from V3D Raw format.|
|roi||Package roi implements DVID support for Region-Of-Interest operations.|
|tarsupervoxels||Package tarsupervoxels implements DVID support for data blobs associated with supervoxels.|