示例#1
0
 public static LGSVL.SignalArray ConvertFrom(SignalDataArray data)
 {
     return(new LGSVL.SignalArray()
     {
         header = new Header()
         {
             seq = data.Sequence,
             stamp = Conversions.ConvertTime(data.Time),
             frame_id = data.Frame,
         },
         signals = data.Data.Select(d => new Signal()
         {
             id = d.Id,
             label = d.Label,
             score = d.Score,
             bbox = new BoundingBox3D()
             {
                 position = new Pose()
                 {
                     position = ConvertToPoint(d.Position),
                     orientation = Convert(d.Rotation),
                 },
                 size = ConvertToVector(d.Scale),
             }
         }).ToList(),
     });
 }
示例#2
0
 public static Lgsvl.SignalArray ConvertFrom(SignalDataArray data)
 {
     return(new Lgsvl.SignalArray()
     {
         header = new Ros.Header()
         {
             stamp = Convert(data.Time),
             frame_id = data.Frame,
         },
         signals = data.Data.Select(d => new Lgsvl.Signal()
         {
             id = d.SeqId,
             label = d.Label,
             score = (float)d.Score,
             bbox = new Lgsvl.BoundingBox3D()
             {
                 position = new Ros.Pose()
                 {
                     position = ConvertToPoint(d.Position),
                     orientation = Convert(d.Rotation),
                 },
                 size = ConvertToVector(d.Scale),
             }
         }).ToList(),
     });
 }
示例#3
0
        private void OnSignalDataReceived(IntPtr devicePtr, ChannelInfo info, SignalDataArray dataArray, IntPtr userData)
        {
            if (DevicePtr != devicePtr)
            {
                return;
            }
            var data = new NativeArrayMarshaler <double>().MarshalArray(dataArray.DoubleArray, dataArray.SamplesCount);

            free_SignalDataArray(dataArray);
            SignalChannelDataReceived?.Invoke(this, new SignalChannelData(data, info, dataArray.FirstSampleCount));
        }
示例#4
0
        public static Apollo.Perception.TrafficLightDetection ApolloConvertFrom(SignalDataArray data)
        {
            bool contain_lights = false;

            if (data.Data.Length > 0)
            {
                contain_lights = true;
            }

            var signals = new Apollo.Perception.TrafficLightDetection()
            {
                header = new Apollo.Header()
                {
                    timestamp_sec    = data.Time,
                    sequence_num     = data.Sequence,
                    camera_timestamp = (ulong)(data.Time * 1e9),
                },
                contain_lights = contain_lights,
                traffic_light  = new List <Apollo.Perception.TrafficLight>(),
            };

            foreach (SignalData d in data.Data)
            {
                var color = Apollo.Perception.Color.BLACK;
                if (d.Label == "green")
                {
                    color = Apollo.Perception.Color.GREEN;
                }
                else if (d.Label == "yellow")
                {
                    color = Apollo.Perception.Color.YELLOW;
                }
                else if (d.Label == "red")
                {
                    color = Apollo.Perception.Color.RED;
                }

                signals.traffic_light.Add
                (
                    new Apollo.Perception.TrafficLight()
                {
                    color      = color,
                    id         = d.Id,
                    confidence = 1.0,
                }
                );
            }

            return(signals);
        }
示例#5
0
        public static apollo.perception.TrafficLightDetection ConvertFrom(SignalDataArray data)
        {
            bool contain_lights = false;

            if (data.Data.Length > 0)
            {
                contain_lights = true;
            }

            var signals = new apollo.perception.TrafficLightDetection()
            {
                header = new apollo.common.Header()
                {
                    timestamp_sec    = data.Time,
                    sequence_num     = data.Sequence,
                    camera_timestamp = (ulong)(data.Time * 1e9),
                },
                contain_lights = contain_lights,
            };

            foreach (SignalData d in data.Data)
            {
                var color = apollo.perception.TrafficLight.Color.Black;
                if (d.Label == "green")
                {
                    color = apollo.perception.TrafficLight.Color.Green;
                }
                else if (d.Label == "yellow")
                {
                    color = apollo.perception.TrafficLight.Color.Yellow;
                }
                else if (d.Label == "red")
                {
                    color = apollo.perception.TrafficLight.Color.Red;
                }

                signals.traffic_light.Add
                (
                    new apollo.perception.TrafficLight()
                {
                    color      = color,
                    id         = d.Id,
                    confidence = 1.0,
                    blink      = false,
                }
                );
            }

            return(signals);
        }
示例#6
0
 private static extern void free_SignalDataArray(SignalDataArray signalArray);