GithubHelp home page GithubHelp logo

derthorsten / dvid Goto Github PK

View Code? Open in Web Editor NEW

This project forked from janelia-flyem/dvid

0.0 3.0 0.0 3.86 MB

Distributed, Versioned, Image-oriented Dataservice

License: Other

CMake 0.55% Go 99.45%

dvid's Introduction

DVID Picture

Status: In development, being tested at Janelia, and not ready for external use due to possible breaking changes. In near future, the label data types (labelblk, labelvol, and currently non-working labelsz and labelsurf) will be combined into one "labels64" type for better performance in some operations.

GoDoc Build Status

See the DVID Wiki for more information including installation and examples of use.

Web app for 3d inspection being served from and sending requests to DVID

DVID is a distributed, versioned, image-oriented datastore written to support Janelia Farm Research Center's brain imaging, analysis and visualization efforts. It's goal is to provide:

  • Easily extensible data types that allow tailoring of access speeds, storage space, and APIs.
  • The ability to use a variety of storage systems by either creating a data type for that system or using an ordered key/value datastore interface.
  • A framework for thinking of distribution and versioning of data similar to distributed version control systems like git.

Long-term, 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.

DVID's initial focus is on efficiently handling data essential for Janelia's connectomics research:

  • image and 64-bit label 3d volumes
  • 2d images in XY, XZ, YZ, and arbitrary orientation
  • multiscale 2d images in XY, XZ, and YZ, similar to quadtrees
  • low-latency sparse volumes corresponding to each unique label in a volume
  • label graphs
  • regions of interest represented via a coarse subdivision of space using block indices
  • 2d and 3d image and label data using Google BrainMaps API

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.

DVID is primarily written in Go and supports different storage backends, a REST HTTP API, and command-line access (likely minimized in near future). Some components are written in C, e.g., storage engines like Leveldb and fast codecs like lz4. DVID has been tested on both MacOS X and Linux (Fedora 16, CentOS 6, Ubuntu) but not on Windows.

Command-line and HTTP API documentation can be found in help constants within packages or by visiting the /api/help HTTP endpoint on a running DVID server. We are in the process of figuring out a nice way to document the APIs either through RAML or Swagger.

dvid's People

Contributors

docsavage avatar neomorphic avatar stuarteberg avatar

Watchers

James Cloos avatar Thorsten Beier avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.