Ejemplo n.º 1
0
        public Gesture SampleSignal(Gesture signal)
        {
            var sampledValues = new List<double[]>();
            var sampledSignal = new Gesture(sampledValues, signal.Label);

            for (var j = 0; j < SampleSteps; ++j) {
                sampledValues.Add(new double[3]);
                for (var i = 0; i < 3; ++i) {
                    var findex = 1.0 * (signal.Length - 1) * j / (SampleSteps - 1);
                    var res = findex - (int) findex;
                    sampledSignal.SetValue(j, i, (1-res) * signal.GetValue((int)findex, i) + ((int)findex + 1 < signal.Length - 1 ? res * signal.GetValue((int)findex + 1, i) : 0));
                }
            }

            return sampledSignal;
        }
Ejemplo n.º 2
0
        public Gesture SampleSignal(Gesture signal)
        {
            var sampledValues = new List<double[]>();
            var sampledSignal = new Gesture(sampledValues, signal.Label);

            var min = double.MaxValue;
            var max = double.MinValue;

            for (var i = 0; i < signal.Length; ++i) {
                for (var j = 0; j < 3; ++j) {
                    if (signal.GetValue(i, j) > max) max = signal.GetValue(i, j);
                    if (signal.GetValue(i, j) < min) min = signal.GetValue(i, j);
                }
            }

            for (var i = 0; i < signal.Length; ++i) {
                sampledValues.Add(new double[3]);
                for (var j = 0; j < 3; ++j) {
                    sampledSignal.SetValue(i, j, (signal.GetValue(i, j) - min) / (max - min));
                }
            }

            return sampledSignal;
        }