github.com/janelia-flyem/dvid@v1.0.0/datatype/common/proto/labelops.proto (about) 1 syntax = "proto3"; 2 package proto; 3 4 option go_package = "github.com/janelia-flyem/dvid/datatype/common/proto"; 5 6 message RenumberOp { 7 uint64 mutid = 1; 8 uint64 target = 2; 9 uint64 newlabel = 3; 10 } 11 12 message MergeOp { 13 uint64 mutid = 1; 14 uint64 target = 2; 15 repeated uint64 merged = 3; 16 } 17 18 message CleaveOp { 19 uint64 mutid = 1; 20 uint64 target = 2; 21 uint64 cleavedlabel = 3; 22 repeated uint64 cleaved = 4; 23 } 24 25 message MappingOp { 26 uint64 mutid = 1; 27 uint64 mapped = 2; 28 repeated uint64 original = 3; 29 } 30 31 message MappingOps { 32 repeated MappingOp mappings = 1; 33 } 34 35 message SplitOp { 36 uint64 mutid = 1; 37 uint64 target = 2; 38 uint64 newlabel = 3; 39 bool coarse = 4; // true if rles are block coords (coarse split), not voxels 40 bytes rles = 5; 41 map<uint64, SVSplit> svsplits = 6; 42 } 43 44 message SVSplit { 45 uint64 splitlabel = 1; 46 uint64 remainlabel = 2; 47 } 48 49 message SupervoxelSplitOp { 50 uint64 mutid = 1; 51 uint64 supervoxel = 2; 52 uint64 splitlabel = 3; 53 uint64 remainlabel = 4; 54 } 55 56 message OpCompleted { 57 uint64 mutid = 1; 58 string stage = 2; 59 } 60 61 message Affinity { 62 uint64 label1 = 1; 63 uint64 label2 = 2; 64 float value = 3; 65 } 66 67 message Affinities { 68 repeated uint64 labels = 1; 69 repeated float affinities = 2; 70 } 71 72 message AffinityTable { 73 map<uint64, Affinities> table = 1; 74 } 75 76 message SVCount { 77 map<uint64, uint32> counts = 1; 78 } 79 80 message LabelIndex { 81 map<uint64, SVCount> blocks = 1; // key is encoded block coord ZYX (packed little-endian 21-bit numbers where MSB is sign flag) 82 uint64 label = 2; 83 uint64 last_mut_id = 3; 84 string last_mod_time = 4; // string is time in RFC 3339 format 85 string last_mod_user = 5; 86 string last_mod_app = 6; 87 } 88 89 message LabelIndices { 90 repeated LabelIndex indices = 1; 91 }