/* D3D Resources */ public P300SpellerWindow(Session session, SpellerController spellerController) : base(session, spellerController) { SuspendLayout(); ControlBox = false; IsFullscreen = true; DoubleBuffered = false; FormBorderStyle = FormBorderStyle.None; WindowState = FormWindowState.Maximized; ResumeLayout(true); SpellerController.CancellingTrial += (sender, e) => { if (_trial != null) { StageProgram.Skip(); TrialCancelled = true; } }; if (session.StreamerCollection.TryFindFirst <BiosignalStreamer>(out var biosignalStreamer)) { biosignalStreamer.Attach(_p300Detector = new P300Detector( Experiment.Config.Test.Channels.Enumerate(1, biosignalStreamer.BiosignalSampler.ChannelNum).Select(i => (uint)(i - 1)).ToArray(), biosignalStreamer.BiosignalSampler.Frequency, (uint)biosignalStreamer.BiosignalSampler.Frequency, 0.5F)); } }
public EyeTrackingSpellerWindow(Session session, SpellerController spellerController) : base(session, spellerController) { SuspendLayout(); ControlBox = false; IsFullscreen = false; // ReSharper disable once VirtualMemberCallInConstructor DoubleBuffered = false; FormBorderStyle = FormBorderStyle.None; WindowState = FormWindowState.Maximized; ResumeLayout(true); _detector = new EyeTrackingDetector(); GazePointHandler.Point += (sender, e) => { if (e != null) { _detector.Accept(e.Value); } }; SpellerController.CancellingTrial += (sender, e) => { if (_trial != null) { StageProgram.Skip(); TrialCancelled = true; } }; }
public SsvepSpellerWindow(Session session, SpellerController spellerController) : base(session, spellerController) { SuspendLayout(); ControlBox = false; IsFullscreen = true; // ReSharper disable once VirtualMemberCallInConstructor DoubleBuffered = false; FormBorderStyle = FormBorderStyle.None; WindowState = FormWindowState.Maximized; ResumeLayout(true); SpellerController.CancellingTrial += (sender, e) => { if (_trial != null) { StageProgram.Skip(); TrialCancelled = true; } }; _stimulationPatterns = Paradigm.Config.Test.StimulationPatterns; if (session.StreamerCollection.TryFindFirst(out _biosignalStreamer)) { _hybridSsvepIdentifier = new HybridSsvepIdentifier(session.Clock, Paradigm.Config.Test.ComputeParallelLevel, _stimulationPatterns, Paradigm.Config.Test.FilterBank, Paradigm.Config.Test.SubBandMixingParams, Paradigm.Config.Test.HarmonicsCount, Paradigm.Config.Test.CcaThreshold, Paradigm.Config.Test.Channels.Enumerate(1, _biosignalStreamer.BiosignalSource.ChannelNum).Select(i => (uint)(i - 1)).ToArray(), _biosignalStreamer.BiosignalSource.Frequency, Paradigm.Config.Test.Trial.Duration, Paradigm.Config.Test.SsvepDelay); _biosignalStreamer.AttachConsumer(_hybridSsvepIdentifier); } }