MCAEmotiv.Interop.EEGDataEntryExtensions.AverageEntry C# (CSharp) Method

AverageEntry() public static method

Averages a collection of entries together
public static AverageEntry ( this entries ) : EEGDataEntry
entries this
return EEGDataEntry
        public static EEGDataEntry AverageEntry(this IEnumerable<EEGDataEntry> entries)
        {
            var first = entries.First();
            var channels = new double[first.Data.Count];
            int marker = first.Marker, count = 0;
            foreach (var entry in entries)
            {
                for (int i = 0; i < channels.Length; i++)
                    channels[i] += entry.Data[i];
                count++;
            }

            return new EEGDataEntry(marker, first.TimeStamp, first.RelativeTimeStamp, channels.Select(d => d / count));
        }