Example #1
0
        public static List <double[]> GetDtwPairingFeature(this List <Vertex> list, int inputScale = 1)
        {
            var xs = new List <double>();
            var ys = new List <double>();

            for (int i = 0, cnt = 0; i < list.Count; i++)
            {
                if (ScalePredicate(list, i, cnt, inputScale))
                {
                    xs.Add(list[i].PosF.X);
                    ys.Add(list[i].PosF.Y);
                    cnt = 0;
                }
                else
                {
                    cnt++;
                }
            }
            int n = xs.Count;

            if (n != xs.Count || n != ys.Count)
            {
                throw new Exception();
            }
            var directions = Translations.GetDirections(xs, ys);

            return(Translations.MergeLists(new List <double>[]
            {
                xs,
                ys,
                directions
            }
                                           ));
        }
Example #2
0
        public void Transform(Signature signature)
        {
            this.LogInformation("DirectionExtraction - transform started");
            var xs         = signature.GetFeature <List <double> >(InputX);
            var ys         = signature.GetFeature <List <double> >(InputY);
            var directions = Translations.GetDirections(xs, ys);

            signature.SetFeature <List <double> >(OutputDirections, directions);
            this.LogInformation("DirectionExtraction - transform finished");
        }