SharpBCI
A multi-threaded brain control interface (BCI) library in C#
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Pages
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 123]
oNDSPLib
|oCDFTPerforms a complex DFT w/Optimizations for .NET >= 4
|oCFFTPerforms an in-place complex FFT
|\CDSP
oNSharpBCI
|oCIPredictor< T >Interface for all predictors
|oCIPredictorPipeableExtends the typical pipeable to include training controls SharpBCI uses these functions to interface with the prediction mechanisms
|oCAggregatePredictionPipeableA 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
|oCPredictorAn 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
|oCAggregateKNNCorrelationPredictor
|oCAggregateKNNDTWPredictor
|oCTournamentArtifactPipeableAn artifact detector which uses a TournamentArtifactDectector on a per-channel basis to detect artifacts Input types: EEG, Output types: EEG
|oCIArtifactDetectorAn interface which defines an abstract artifact detector You can implement this to utilize classes which find the best detector implementation
|oCARArtifactDetectorA detector which uses an underlying AR model to detect artifacts
|oCTournamentArtifactDetectorThe 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
|oCAsyncStreamReader
|oCAsyncStreamWriterUsed internally to asynchronously write a string to a file stream
|oCEEGDeviceAdapterAn abstract base class from which all device adapters should inherit
|oCRemoteOSCAdapterAn 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)
|oCDummyAdapterSignalA simple struct which defines a signal of given frequencies and amplitudes (per-channel)
|oCInstrumentedDummyAdapterAn EEGDeviceAdapter which is used to emit a certain set of signals via StartSignal
|oCCSVReadAdapterA device adapter that can be used to replay or reemit the data logged during a previous session
|oCDummyAdapterA version of InstrumentedDummyAdapter which constantly emits a given DummyAdapterSignal Generally used for smoke-testing / debugging your SharpBCI pipeline
|oCDynamicTimeWarping
|oCSeriesVariable
|oCIPreprocessor
|oCPreprocessors
||oCNonePreprocessor
||\CNormalizationPreprocessor
|oCStandardizationPreprocessor
|oCCentralizationPreprocessor
|oCEEGEventA class which represent various types of events relating to EEG data
|oCIVectorizedSmoother< T >A common interface for a generic smoother which operates on arrays of type T Currently, only used by FFTPipeable for smoothing
|oCExponentialVectorizedSmootherImplements 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
|oCXCorrVectorizedSmoother
|oCFFTPipeableA Pipeable which performs an FFT on each channel It outputs an FFTEvent every windowSize samples
|oCBandpassPipeableA pipeable which implements a band-pass filter on all incoming data Input types: EEGEvent Output types: EEGEvent
|oCSimpleFilterPipeableThis pipeable is deprecated and may be removed at any point without warning
|oCIFilter< T >
|oCMultiFilter< T >
|oCMovingAverageFilter
|oCExponentialFilter
|oCRecursiveFilter
|oCNarrowPassFilter
|oCNotchFilter
|oCConvolvingFilter
|oCConvolvingSingleEndedFilter
|oCConvolvingDoubleEndedFilter
|oCIndexableQueue< T >Weiss implementation of Circular Buffer with addition of indexability
|oCILogOutput
|oCConsoleLogger
|oCFileLogger
|oCIPipeableAll components of the SharpBCI pipeline are expected to implement this interface
|oCPipeable
|oCSerializedPipelineA class which represents the entire pipeline
|oCSerializedStageA class which represents a single stage in the pipeline Can be serialized into a JSON file
|oCSerializedConnectionInfoA class which represents a connection graph for the pipeline
|oCSharpBCIConfigAn object which configures a SharpBCI object
|oCSharpBCIBuilderA builder class for SharpBCIConfig
|oCTrainedEventA generic event which indicates previously trained event occured
|oCSharpBCIThis is the "main" class which you should create
|oCTrainedEventEmitterAn end-point consumer which emits TrainedEvents it received Must only be connected to Pipeables which output TrainedEvents
|oCRawEventEmitterAn end-point consumer which emits TrainedEvents it received Must only be connected to Pipeables which output EEGEvents
|oCEEGDeviceProducerWraps an EEGDeviceAdapter with a Pipeable and emits EEGDataType.EEG events Should only be used as a producer not consumer
|oCOnlineVarianceSimultaneously calculates sample mean and variance in O(1) using Welford-Knuth online algorithm
|\CARModelA 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
\NSystem
 \NNumerics
  \CComplexPatch for lack of System.Numerics