Frontiers in Neuroscience (Dec 2010)

Pyff---A Pythonic Framework for Feedback Applications and Stimulus Presentation in Neuroscience

  • Bastian Venthur,
  • Simon Scholler,
  • Simon Scholler,
  • John Williamson,
  • Sven Dähne,
  • Sven Dähne,
  • Matthias S Treder,
  • Maria T Kramarek,
  • Maria T Kramarek,
  • Klaus-Robert Müller,
  • Klaus-Robert Müller,
  • Klaus-Robert Müller,
  • Benjamin Blankertz,
  • Benjamin Blankertz,
  • Benjamin Blankertz

DOI
https://doi.org/10.3389/fnins.2010.00179
Journal volume & issue
Vol. 4

Abstract

Read online

This paper introduces Pyff, the Pythonic Feedback Framework for feedbackapplications and stimulus presentation. Pyff provides a platform independentframework that allows users to develop and run neuroscientific experiments inthe programming language Python. Existing solutions have mostly beenimplemented in C++, which makes for a rather tedious programming task fornon-computer-scientists, or in Matlab, which is not well suited for moreadvanced visual or auditory applications. Pyff was designed to makeexperimental paradigms (i.e. feedback and stimulus applications) easilyprogrammable. It includes base classes for various types of common feedbacksand stimuli as well as useful libraries for external hardware such aseyetrackers. Pyff is also equipped with a steadily growing set of ready-to-usefeedbacks and stimuli. It can be used as a standalone application, for instanceproviding stimulus presentation in psychophysics experiments, or within aclosed loop such as in biofeedback or brain-computer interfacing experiments.Pyff communicates with other systems via a standardized communication protocoland is therefore suitable to be used with any system that may be adapted tosend its data in the specified format. Having such a general, open sourceframework will help foster a fruitful exchange of experimental paradigmsbetween research groups. In particular, it will decrease the need ofreprogramming standard paradigms, ease the reproducibility of publishedresults, and naturally entail some standardization of stimulus presentation.

Keywords