NeuroTechX / EEG-ExPy

EEG Experiments in Python
https://neurotechx.github.io/EEG-ExPy/
BSD 3-Clause "New" or "Revised" License
420 stars 124 forks source link

Experiment class refactor #183

Closed Parvfect closed 1 month ago

Parvfect commented 2 years ago

Defined General Experiment Class type that does all of the operations besides loading and presenting the stimulus which is overriden by the derived classes. As of now it incorporates the Visual N170 and Visual P300 experiments - and working towards incorporating Visual SSVEP.

Some things worth thinking about, for the present_stimulus function, a lot of parameters are being passed which is annoying me, so I want to know if it would be smarter to pass the Experiment as an object instead (although I know in general that's bad practice). It also gives us a lot of flexibility for the future complex experiements.

Additionally, since all the main functions are delegated to lower classes, this mechanism should allow a lot of complexity and specificity and generally think this should work (and it looks cool too!).

Has not been tested besides compiling, so that needs to be done once whilst I work towards incorporating the rest of the experiments.

ErikBjare commented 2 years ago

Has not been tested besides compiling, so that needs to be done once whilst I work towards incorporating the rest of the experiments.

I think you should definitely focus on one or two experiments and get them working before you start modifying the rest.

ErikBjare commented 2 years ago

I also just fixed so that CI runs on PRs targeting develop, so if you rebase/merge in those changes you should get CI to run.

JohnGriffiths commented 1 month ago

Closing as this feature was successfully implemented with #183 and is now working well in the core code base