Pyff – a pythonic framework for feedback applications and stimulus presentation in neuroscience

by Bastian Venthur, Simon Scholler, John Williamson, Sven Dähne, Matthias S. Treder, Maria T. Kramarek, Klaus-Robert Müller, Benjamin Blankertz
Abstract:
This paper introduces Pyff, the Pythonic feedback framework for feedback applications and stimulus presentation. Pyff provides a platform-independent framework that allows users to develop and run neuroscientific experiments in the programming language Python. Existing solutions have mostly been implemented in C++, which makes for a rather tedious programming task for non-computer-scientists, or in Matlab, which is not well suited for more advanced visual or auditory applications. Pyff was designed to make experimental paradigms (i.e., feedback and stimulus applications) easily programmable. It includes base classes for various types of common feedbacks and stimuli as well as useful libraries for external hardware such as eyetrackers. Pyff is also equipped with a steadily growing set of ready-to-use feedbacks and stimuli. It can be used as a standalone application, for instance providing stimulus presentation in psychophysics experiments, or within a closed loop such as in biofeedback or brain-computer interfacing experiments. Pyff communicates with other systems via a standardized communication protocol and is therefore suitable to be used with any system that may be adapted to send its data in the specified format. Having such a general, open-source framework will help foster a fruitful exchange of experimental paradigms between research groups. In particular, it will decrease the need of reprogramming standard paradigms, ease the reproducibility of published results, and naturally entail some standardization of stimulus presentation.
Reference:
Bastian Venthur, Simon Scholler, John Williamson, Sven Dähne, Matthias S. Treder, Maria T. Kramarek, Klaus-Robert Müller, Benjamin Blankertz, 2010.Pyff – a pythonic framework for feedback applications and stimulus presentation in neuroscience, Frontiers in neuroscience, volume 4.
Bibtex Entry:
@article{Venthur2010,
 abstract = {This paper introduces Pyff, the Pythonic feedback framework for feedback applications and stimulus presentation. Pyff provides a platform-independent framework that allows users to develop and run neuroscientific experiments in the programming language Python. Existing solutions have mostly been implemented in C++, which makes for a rather tedious programming task for non-computer-scientists, or in Matlab, which is not well suited for more advanced visual or auditory applications. Pyff was designed to make experimental paradigms (i.e., feedback and stimulus applications) easily programmable. It includes base classes for various types of common feedbacks and stimuli as well as useful libraries for external hardware such as eyetrackers. Pyff is also equipped with a steadily growing set of ready-to-use feedbacks and stimuli. It can be used as a standalone application, for instance providing stimulus presentation in psychophysics experiments, or within a closed loop such as in biofeedback or brain-computer interfacing experiments. Pyff communicates with other systems via a standardized communication protocol and is therefore suitable to be used with any system that may be adapted to send its data in the specified format. Having such a general, open-source framework will help foster a fruitful exchange of experimental paradigms between research groups. In particular, it will decrease the need of reprogramming standard paradigms, ease the reproducibility of published results, and naturally entail some standardization of stimulus presentation.},
 author = {Venthur, Bastian
and Scholler, Simon
and Williamson, John
and D{"a}hne, Sven
and Treder, Matthias S.
and Kramarek, Maria T.
and M{"u}ller, Klaus-Robert
and Blankertz, Benjamin},
 day = {02},
 doi = {10.3389/fnins.2010.00179},
 issn = {1662-453X},
 journal = {Frontiers in neuroscience},
 language = {eng},
 month = {Dec},
 pages = {179},
 pmid = {21160550},
 title = {Pyff - a pythonic framework for feedback applications and stimulus presentation in neuroscience.},
 volume = {4},
 year = {2010}
}