示例#1
0
        public EmotionsChartPresenter(
            IEmotionsChart chart,
            EmotionStateChannel stateChannel,
            SpectrumPowerChannel alphaLeft,
            SpectrumPowerChannel betaLeft,
            SpectrumPowerChannel alphaRight,
            SpectrumPowerChannel betaRight,
            EegIndexChannel indexChannel)
        {
            _stateChannel = stateChannel;
            _alphaLeft    = alphaLeft;
            _betaLeft     = betaLeft;
            _alphaRight   = alphaRight;
            _betaRight    = betaRight;
            _indexChannel = indexChannel;

            _chart      = chart;
            _chart.Mode = EmotionBarMode.Wait;

            _stateChannel.LengthChanged += StateChannelLengthChanged;
            _indexChannel.LengthChanged += _indexChannel_LengthChanged;
            _alphaLeft.LengthChanged    += _alphaLeft_LengthChanged;
            _betaLeft.LengthChanged     += _betaLeft_LengthChanged;
            _alphaRight.LengthChanged   += _alphaRight_LengthChanged;
            _betaRight.LengthChanged    += _betaRight_LengthChanged;
        }
示例#2
0
        public IndexChartPresenter(IEegIndexChart chart, EegIndexChannel channel, Button emotionsButton, Button emotionsStopButton, Control context)
        {
            _indexChart                 = chart;
            _channel                    = channel;
            _context                    = context;
            _emotionsButton             = emotionsButton;
            _emotionsStopButton         = emotionsStopButton;
            _emotionsButton.Enabled     = false;
            _emotionsStopButton.Enabled = false;
            _indexChart.Mode            = EegIndexChartMode.Empty;

            _indexChart.SizeChanged += _indexChart_SizeChanged;
            _channel.LengthChanged  += _channel_LengthChanged;
        }
示例#3
0
        private void OnDeviceConnected()
        {
            var deviceChannels = _currentDevice.Channels
                                 .Where(x => x.Type == ChannelType.Signal)
                                 .ToDictionary(channelInfo => channelInfo.Name, channelInfo => new EegChannel(_currentDevice, channelInfo));

            if (deviceChannels.ContainsKey("T3") && deviceChannels.ContainsKey("O1"))
            {
                T3O1SpectrumChannel = new SpectrumChannel(new BipolarDoubleChannel(deviceChannels["T3"], deviceChannels["O1"]));
                if (deviceChannels.ContainsKey("T4") && deviceChannels.ContainsKey("O2"))
                {
                    T4O2SpectrumChannel = new SpectrumChannel(new BipolarDoubleChannel(deviceChannels["T4"], deviceChannels["O2"]));
                    IndexChannel        = new EegIndexChannel(deviceChannels["T3"], deviceChannels["T4"], deviceChannels["O1"],
                                                              deviceChannels["O2"]);
                    ChannelsChanged?.Invoke(this, null);
                }
            }
        }
示例#4
0
        private void OnDeviceConnected()
        {
            BatteryChannel = new BatteryChannel(_currentDevice);

            var deviceChannels = _currentDevice.Channels
                                 .Where(x => x.Type == ChannelType.Signal)
                                 .ToDictionary(channelInfo => channelInfo.Name, channelInfo => new EegChannel(_currentDevice, channelInfo));

            if (deviceChannels.ContainsKey("T3") && deviceChannels.ContainsKey("O1"))
            {
                T3O1SignalChannel   = new BipolarDoubleChannel(deviceChannels["T3"], deviceChannels["O1"]);
                T3O1SpectrumChannel = new SpectrumChannel(T3O1SignalChannel);
                if (deviceChannels.ContainsKey("T4") && deviceChannels.ContainsKey("O2"))
                {
                    T4O21SignalChannel  = new BipolarDoubleChannel(deviceChannels["T4"], deviceChannels["O2"]);
                    T4O2SpectrumChannel = new SpectrumChannel(T4O21SignalChannel);
                    IndexChannel        = new EegIndexChannel(deviceChannels["T3"], deviceChannels["T4"], deviceChannels["O1"],
                                                              deviceChannels["O2"]);
                    IndexChannel.SetWeights(1.00, 1.00, 0.00, 0.00);
                    IndexChannel.Delay = 0.0;

                    IndexViewChannel = new EegIndexChannel(deviceChannels["T3"], deviceChannels["T4"], deviceChannels["O1"],
                                                           deviceChannels["O2"]);
                    IndexViewChannel.SetWeights(1.00, 1.00, 0.00, 1.00);
                    IndexViewChannel.Delay = 0.0;

                    AlphaLeftPowerChannel = new SpectrumPowerChannel(new List <SpectrumChannel> {
                        T3O1SpectrumChannel
                    }, 8, 14, "AlphaLeft");
                    BetaLeftPowerChannel = new SpectrumPowerChannel(new List <SpectrumChannel> {
                        T3O1SpectrumChannel
                    }, 14, 34, "BetaLeft");
                    AlphaRightPowerChannel = new SpectrumPowerChannel(new List <SpectrumChannel> {
                        T4O2SpectrumChannel
                    }, 8, 14, "AlphaRight");
                    BetaRightPowerChannel = new SpectrumPowerChannel(new List <SpectrumChannel> {
                        T4O2SpectrumChannel
                    }, 14, 34, "BetaRight");

                    ChannelsChanged?.Invoke(this, null);
                }
            }
        }
示例#5
0
 public IndexSettingsPresenter(IndexSettingsControl control, EegIndexChannel channel)
 {
     _control = control;
     _channel = channel;
     _control.SettingsChanged += _control_SettingsChanged;
 }