Skip to content
/ CPP_PTB Public
forked from cpp-lln-lab/CPP_PTB

a set of function to make it easier to create behavioral, EEG, fMRI experiment with psychtoolbox

License

Notifications You must be signed in to change notification settings

fcerpe/CPP_PTB

 
 

Repository files navigation

Documentation

Documentation Status: stable

Cite it

DOI

Unit tests and coverage

Build Status

codecov

Contributors

All Contributors

CPP_PTB

This is the Crossmodal Perception and Plasticity lab (CPP) PsychToolBox (PTB) toolbox.

Those functions are mostly wrappers around some PTB functions to facilitate their use and their reuse (#DontRepeatYourself)

Documentation

All the documentation and installtion information is accessible here.

Content

├── demos # quick demo of how to use some functions
├── docs # documentation
├── manualTests # all the tests that cannot be automated (yet)
├── src # actual code of the CPP_PTB
│   ├── aperture # function related to create apertur (circle, wedge, bar...)
│   ├── dot # functions to simplify the creations of RDK
│   ├── errors # all error functions
│   ├── fixation # to create fixation cross, dots
│   ├── keyboard # to collect responses, abort experiment...
│   ├── randomization # functions to help with trial randomization
│   └── utils # set of general functions
└── tests # all the tests that that can be run by github actions

Code style guide

We use the camelCase to more easily differentiates our functions from the ones from PTB that use a PascalCase.

In practice, we use the following regular expression for function names: [a-z]+(([A-Z]|[0-9]){1}[a-z]+)*.

Regular expressions look scary but are SUPER useful to sort through filenames:

We keep the McCabe complexity below 15 as reported by the check_my_code function or the MISS_HIT code checker. A couple of code quality metrics are also checked automatically by MISS_HIT (avoiding functions with too many nested if blocks).

We use the MISS_HIT linter to automatically fix some linting issues.

The code style and quality is also checked during the continuous integration.

Unit tests

Unit tests are run with the mox unit toolbox and automated with github action on Octave.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Remi Gau

💻 🎨 📖 🐛 📓 🤔 🚇 🚧 ⚠️ 💬

marcobarilari

💻 🎨 📖 🐛 📓 🤔

CerenB

💻 🎨 📖 👀 ⚠️ 🐛 📓 🤔

This project follows the all-contributors specification. Contributions of any kind welcome!

About

a set of function to make it easier to create behavioral, EEG, fMRI experiment with psychtoolbox

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • MATLAB 100.0%