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  }