Toolbox Design

The Neural Decoding Toolbox has a modular architecture that is designed around four abstract classes/(objects). This design allow one to easily add new functionality to the toolbox while reusing other components.  The four abstract classes/(objects) are:

  1. Datasources (DS) which generate training and test splits of the data.
  2. Feature preprocessors (FP) which learn parameters from the training data, and then preprocessess the the training and test data before sending the data to the classifier.
  3. Classifiers (CL) which learn models from the training data and then make predictions on the test data.
  4. Cross-validators (CV) which take in a datasource, preprocessors and a classifier, and train and test the classifier to produce an estimate of the decoding accuracy.

These four classes are considered abstract because there are specific methods that each classes must implement. For example, all members of the classifier (CL) class must have the methods ‘train’, and ‘test’ (although they can have additional methods as well). The benefit of having specific interfaces for these abstract classes is that one can easily create new classes that implement these interfaces and these new classes will work with the rest of the Neural Decoding Toolbox.  Please click the links above to learn about what methods are required from each class.

The toolbox also comes with a few tools that consist of useful functions and objects for running decoding experiments and plotting results.

In order to use the toolbox, your data must be in one of the specified data formats, which are explained in more detail here.