syntax = "proto2";
package Measure;

message Area3d
{
    optional double  x_min=1 [default=0.0];
    optional double  x_max=2 [default=12000];
    optional double  y_min=3 [default=4500];
    optional double  y_max=4 [default=11000];
    optional double  z_min=5 [default=60];
    optional double  z_max=6 [default=3000];
}

message YoloParameter
{
    optional string cfg=1 [default=""];
    optional string weights=2 [default=""];
    optional double min_x=3 [default=0.0];
    optional double max_x=4 [default=12000.0];
    optional double min_y=5 [default=4500.0];
    optional double max_y=6 [default=11000.];
    optional double freq=7 [default=25.];
}

message PointSiftParameter
{
    optional int64          point_size=1 [default=8192];
    optional int64          cls_num=2 [default=3];
    optional double         freq=3 [default=50];
    optional Area3d         area=4;
    optional string         graph=5 [default="seg_model_last.ckpt.meta"];
    optional string         cpkt=6 [default="seg_model_last.ckpt"];
}

message cnnParameter
{
    optional int64 length=1 [default=224];
    optional int64 width=2 [default=224];
    optional int64 height=3 [default=96];
    optional int64 freq=4 [default=25];
    optional int64 nclass=5 [default=3];
    optional string weights_file=6 [default="frozen_model.pb"];
}

message LocateParameter{
    optional    Area3d                  area=1;
    optional    cnnParameter            net_3dcnn_parameter=2;
    optional    PointSiftParameter        seg_parameter=3;
    optional    YoloParameter               yolo_parameter=4;
}