SharpBCI
A multi-threaded brain control interface (BCI) library in C#
|
SharpBCI.ARModel | A simple AR model class which can predict the next value of X given AR parameters (phi), a constant factor (i.e., E[noise(X)]), and previous values of X O(p) performance |
SharpBCI.AsyncStreamReader | |
SharpBCI.AsyncStreamWriter | Used internally to asynchronously write a string to a file stream |
System.Numerics.Complex | Patch for lack of System.Numerics |
DSPLib.DFT | Performs a complex DFT w/Optimizations for .NET >= 4 |
DSPLib.DSP | |
SharpBCI.DummyAdapterSignal | A simple struct which defines a signal of given frequencies and amplitudes (per-channel) |
SharpBCI.DynamicTimeWarping | |
SharpBCI.EEGDeviceAdapter | An abstract base class from which all device adapters should inherit |
SharpBCI.CSVReadAdapter | A device adapter that can be used to replay or reemit the data logged during a previous session |
SharpBCI.InstrumentedDummyAdapter | An EEGDeviceAdapter which is used to emit a certain set of signals via StartSignal |
SharpBCI.DummyAdapter | A version of InstrumentedDummyAdapter which constantly emits a given DummyAdapterSignal Generally used for smoke-testing / debugging your SharpBCI pipeline |
SharpBCI.RemoteOSCAdapter | An EEGDeviceAdapter which connects to an EEGDevice via OSC It then asynchronously listens for messages on a given OSC socket and emits the appropriate EEGEvents for the received OSC message Target Hardware: Muse 2014 and Muse 2016 (via android-bridge.apk) |
SharpBCI.EEGEvent | A class which represent various types of events relating to EEG data |
DSPLib.FFT | Performs an in-place complex FFT |
SharpBCI.IArtifactDetector | An interface which defines an abstract artifact detector You can implement this to utilize classes which find the best detector implementation |
SharpBCI.ARArtifactDetector | A detector which uses an underlying AR model to detect artifacts |
SharpBCI.TournamentArtifactDetector | The TournamentArtifactDetector holds a "tournament" of some number ARArtifactDetectors (termed competitors) The majority consensus of the most well-fit models is the final determination of whether or not the data is an artifact |
IDisposable | |
SharpBCI.ILogOutput | |
SharpBCI.ConsoleLogger | |
SharpBCI.FileLogger | |
SharpBCI.IFilter< T > | |
SharpBCI.ConvolvingFilter | |
SharpBCI.ConvolvingDoubleEndedFilter | |
SharpBCI.ConvolvingSingleEndedFilter | |
SharpBCI.ExponentialFilter | |
SharpBCI.MovingAverageFilter | |
SharpBCI.MultiFilter< T > | |
SharpBCI.RecursiveFilter | |
SharpBCI.NarrowPassFilter | |
SharpBCI.NotchFilter | |
SharpBCI.IndexableQueue< T > | Weiss implementation of Circular Buffer with addition of indexability |
SharpBCI.IPipeable | All components of the SharpBCI pipeline are expected to implement this interface |
SharpBCI.IPredictorPipeable | Extends the typical pipeable to include training controls SharpBCI uses these functions to interface with the prediction mechanisms |
SharpBCI.AggregatePredictionPipeable | A pipeable which aggregates received EEGEvents into an array based on the reported EEGEvent timestamp and then uses an IPredictor<EEGEvent[]> to train/classify on them |
SharpBCI.Pipeable | |
SharpBCI.AggregatePredictionPipeable | A pipeable which aggregates received EEGEvents into an array based on the reported EEGEvent timestamp and then uses an IPredictor<EEGEvent[]> to train/classify on them |
SharpBCI.BandpassPipeable | A pipeable which implements a band-pass filter on all incoming data Input types: EEGEvent Output types: EEGEvent |
SharpBCI.EEGDeviceProducer | Wraps an EEGDeviceAdapter with a Pipeable and emits EEGDataType.EEG events Should only be used as a producer not consumer |
SharpBCI.FFTPipeable | A Pipeable which performs an FFT on each channel It outputs an FFTEvent every windowSize samples |
SharpBCI.RawEventEmitter | An end-point consumer which emits TrainedEvents it received Must only be connected to Pipeables which output EEGEvents |
SharpBCI.SimpleFilterPipeable | This pipeable is deprecated and may be removed at any point without warning |
SharpBCI.TournamentArtifactPipeable | An artifact detector which uses a TournamentArtifactDectector on a per-channel basis to detect artifacts Input types: EEG, Output types: EEG |
SharpBCI.TrainedEventEmitter | An end-point consumer which emits TrainedEvents it received Must only be connected to Pipeables which output TrainedEvents |
SharpBCI.IPredictor< T > | Interface for all predictors |
SharpBCI.Predictor | An IPredictor which uses a 3-dimensional loci of points in the form of an array of EEGEvent's to classify EEG data Uses nearest neighbor predictions with distance computed by the abstract Compute(double[] x, double[] y) function Predictions occur by computing the distance between the incoming sample and all training samples, pulls the k nearest neighbors, and determines the final prediction |
SharpBCI.AggregateKNNCorrelationPredictor | |
SharpBCI.AggregateKNNDTWPredictor | |
SharpBCI.IPreprocessor | |
SharpBCI.CentralizationPreprocessor | |
SharpBCI.Preprocessors.NonePreprocessor | |
SharpBCI.Preprocessors.NormalizationPreprocessor | |
SharpBCI.StandardizationPreprocessor | |
SharpBCI.IVectorizedSmoother< T > | A common interface for a generic smoother which operates on arrays of type T Currently, only used by FFTPipeable for smoothing |
SharpBCI.ExponentialVectorizedSmoother | Implements a vectorized version of exponential smoothing Each value in the input array is assumed to belong to the same time series as the previous value at the same index in the last input array |
SharpBCI.XCorrVectorizedSmoother | |
SharpBCI.OnlineVariance | Simultaneously calculates sample mean and variance in O(1) using Welford-Knuth online algorithm |
SharpBCI.Preprocessors | |
SharpBCI.SerializedConnectionInfo | A class which represents a connection graph for the pipeline |
SharpBCI.SerializedPipeline | A class which represents the entire pipeline |
SharpBCI.SerializedStage | A class which represents a single stage in the pipeline Can be serialized into a JSON file |
SharpBCI.SeriesVariable | |
SharpBCI.SharpBCI | This is the "main" class which you should create |
SharpBCI.SharpBCIBuilder | A builder class for SharpBCIConfig |
SharpBCI.SharpBCIConfig | An object which configures a SharpBCI object |
SharpBCI.TrainedEvent | A generic event which indicates previously trained event occured |