示例#1
0
    // Update is called once per frame
    void Update()
    {
        connectionText.text = connectionBuffer;

        MuseData museData = MuseData.CreateFromJSON(dataBuffer);

        if (museData.DataPacketType == "ALPHA_RELATIVE")
        {
            // Get the average relative alpha across each electrode
            float currentAlphaSum = 0;
            foreach (float f in museData.DataPacketValue)
            {
                currentAlphaSum += f;
            }

            float currentAlpha = currentAlphaSum / museData.DataPacketValue.Length;

            if (alphaSamples.Count > sampleSize)
            {
                alphaSamples.RemoveAt(0);
            }
            alphaSamples.Add(currentAlpha);

            float sum = 0;
            foreach (float f in alphaSamples)
            {
                sum += f;
            }

            mellowScore = Mathf.Clamp01(sum / alphaSamples.Count * handicap);             // Get moving avg of relative alpha score
        }

        // Display the data in the UI Text field
        dataText.text = "Mellow Score: " + mellowScore;
    }
示例#2
0
        internal static bool IsCombination(this MuseData data)
        {
            switch (data)
            {
            case MuseData.Absolutes:
            case MuseData.Relatives:
            case MuseData.Sessions:
            case MuseData.All:
                return(true);

            default:
                return(false);
            }
        }
示例#3
0
        public static bool CanConvertTo(this MuseData data, Type type)
        {
            switch (data)
            {
            case MuseData.EEG:
            case MuseData.NotchFilteredEEG:
            case MuseData.DeltaAbsolute:
            case MuseData.ThetaAbsolute:
            case MuseData.AlphaAbsolute:
            case MuseData.BetaAbsolute:
            case MuseData.GammaAbsolute:
            case MuseData.DeltaRelative:
            case MuseData.ThetaRelative:
            case MuseData.AlphaRelative:
            case MuseData.BetaRelative:
            case MuseData.GammaRelative:
            case MuseData.DeltaSessionScore:
            case MuseData.ThetaSessionScore:
            case MuseData.AlphaSessionScore:
            case MuseData.BetaSessionScore:
            case MuseData.GammaSessionScore:
                return(type == typeof(Channel));

            case MuseData.Accelerometer:
            case MuseData.Gyro:
                return(type == typeof(Direction));

            case MuseData.TouchingForehead:
            case MuseData.Horseshoe:
            case MuseData.IsGood:
            case MuseData.Blink:
            case MuseData.JawClench:
            case MuseData.Battery:
            case MuseData.DrlRef:
            case MuseData.All:
            default:
                break;
            }

            return(false);
        }