Meta Configuration in DVID

NeuTu also relies on some configuration in the target DVID node to tune its behavior.

neutu_config

neutu_config is a keyvalue that stores the following keys:

user_status

It defines roles of some users. Currently it is mainly used for defining admin users:

{
  "admin": ["user1", "user2"]
}

body_status_v2

Its value is a JSON object that defines body statuses used by body annotation. The main field of the JSON object is "status" that maps to an array, in which each element is a JSON object that defines one status:

Schema for a status object
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "type": "object",
  "properties": {
    "name": {
      "description": "name of the status",
      "type": "string"
    },
    "protection": {
      "description": "protection level",
      "type": "integer"
    },
    "priority": {
      "description": "status with higher priority overwrites the lower one in merging",
      "type": "integer"
    },
    "final": {
      "description": "final status, which cannot be changed by non-admin",
      "type": "boolean"
    },
    "admin_level": {
      "description": "0 means nothing special and 1 means it can only be added by admin",
      "type": "integer"
    }
  },
  "required": [
    "name"
  ]
}

Protection level:

0: can be added or changed by anyone

4-6 (obsolete): can only be added by admin, but changed by anyone. It is obsolete and should use "admin_level": 1 instead for this purpose.

7-8: can only be added or changed by admin

>=9: can only be changed

{
  "status": [
    {
      "protection": 9,
      "priority": 0,
      "name": "Finalized",
      "expert": false,
      "final": true
    },
    {
      "protection": 5,
      "priority": 10,
      "name": "Traced",
      "expert": true,
      "final": false,
      "admin_level": 1
    },
    {
      "protection": 9,
      "priority": 20,
      "name": "Traced in ROI",
      "expert": false,
      "final": false
    },
    {
      "protection": 5,
      "priority": 30,
      "name": "Roughly traced",
      "expert": true,
      "final": false,
      "admin_level": 1
    },
    {
      "protection": 0,
      "priority": 40,
      "name": "Prelim Roughly traced",
      "expert": false,
      "final": false
    },
    {
      "protection": 9,
      "priority": 50,
      "name": "Partially traced",
      "expert": false,
      "final": false
    },
    {
      "protection": 0,
      "priority": 55,
      "name": "Unimportant",
      "expert": false,
      "final": false,
      "mergable": false
    },
    {
      "protection": 9,
      "priority": 60,
      "name": "Hard to trace",
      "expert": false,
      "final": false
    },
    {
      "protection": 9,
      "priority": 70,
      "name": "Anchor",
      "expert": false,
      "final": false,
      "admin_level": 1
    },
    {
      "protection": 0,
      "priority": 80,
      "name": "Leaves",
      "expert": false,
      "final": true
    },
    {
      "protection": 9,
      "priority": 90,
      "name": "0.5assign",
      "expert": false,
      "final": false
    },
    {
      "protection": 9,
      "priority": 100,
      "name": "Not examined",
      "expert": false,
      "final": false
    },
    {
      "protection": 0,
      "priority": 110,
      "name": "Orphan hotknife",
      "expert": false,
      "final": false
    },
    {
      "protection": 0,
      "priority": 120,
      "name": "Orphan",
      "expert": false,
      "final": false
    }
  ],
  "conflict": [
    ["roughly traced", "prelim roughly traced", "anchor", "traced"]
  ]
}

Last updated