Skip to content

nadinespy/SelfPacedEmbodiableNeurofeedback

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

Exploring Self-Paced Embodiable Neurofeedback for Post-stroke Motor Rehabilitation

 

These are the scripts for the paper "Exploring Self-Paced Embodiable Neurofeedback for Post-stroke Motor Rehabilitation." Please cite it, if you use code from this repository.  

Spychala, N., Debener, S., Bongartz, E., Müller, H. H. O., Philipsen, A., Thorne, J., & Braun, N. (2019). Exploring Self-Paced Embodiable Neurofeedback for Post- Stroke Motor Rehabilitation. Frontiers in Neuroscience.  

Online analysis

Scripts used for experiments, need to be run in the given order:

  1. TRAIN.m
    script for the training block,
    required packages/files:

    • BCILAB-1.1
    • lsl_loadlib.m
    • lsl_outlet.m
    • lsl_streaminfo.m
       
  2. onlineAnalysisMultipleClassifier.m
    script for training a predictive model and deriving training accuracies for the training block,
    required packages/files:

    • BCILAB-1.1
    • eeglab13_4_4b
       
  3. runClassifier.m
    script for loading the trained model for the training block,
    required packages/files:

    • BCILAB-1.1
       
  4. runFSA.m
    script for ensemble-classification algorithm in the feedback bock,
    required packages/files:

    • BCILAB-1.1
       

Offline analysis

Scripts used for analysis after experiments (scripts of each subsection run independently, except for "Data aggregation & boxplots" and "Statistical testing," which require that scripts of all other subsections have run before):

Time-frequency analysis

Scripts need to be run in the given order.

  1. preprocessingICA.m
    script for conducting ICA on data from training block,
    required packages/files:

    • eeglab13_4_4b
    • eeg_load_xdf.m (eeglab plugin)
    • pop_firws.m (eeglab plugin)
    • niclas_mobile24_proper_labels.elp (should be contained in auxiliaries)
       
  2. selectionCSP.m
    script for calculating CSP filters on data from training block,
    required packages/files:

    • eeglab13_4_4b
    • pop_firws (eeglab plugin)
    • cov_shrink.m (should be contained in auxiliaries)
    • eqTrials.m (should be contained in auxiliaries)
    • getERD.m (should be contained in auxiliaries)
    • tilefigs.m (should be contained in auxiliaries)
       
  3. time_frequency_analysis.m
    script for conducting time-frequency analysis on data from training block,
    required packages/files:

    • eeglab13_4_4b
    • suptitle.m (should be contained in auxiliaries)
    • plotWavelet2.m (should be contained in auxiliaries)
    • jt_st_wave.m (should be contained in auxiliaries)
    • vline.m (should be contained in auxiliaries)
       

Classification accuracies

Training accuracies

  • training_accuracies.m
    script for extracting training accuracies of the training block  

Feedback accuracies

Scripts need to be run in the given order.

  1. extract_EEG_data_according_to_tasks.m
    script for extracting EEG data from the feedback block accordings to tasks,
    required packages/files:

    • eeglab13_4_4b
    • eeg_load_xdf.m (eeglab plugin)
       
  2. performanceAnalysis_generateANNOUNCE.m
    performanceAnalysis_generateCOMMAND.m
    performanceAnalysis_generateRM.m
    scripts for imposing a trial structure on the data from tasks of the feedback block (order does not matter),
    required packages/files:

    • eeglab13_4_4b
       
  3. performanceAnalysis_successANNOUNCE.m
    performanceAnalysis_successCOMMAND.m
    performanceAnalysis_successRM.m
    scripts for deriving success rates for the trials in tasks from the feedback block (order does not matter),
    required packages/files:

    • eeglab13_4_4b (for all)
    • find_command_index_ranges.m (for all but performanceAnalysis_successRM.m, contained in auxiliaries)
    • find_command_pattern_in_range.m (for all but performanceAnalysis_successRM.m, contained in auxiliaries)
       
  4. save_all_successes_and_failures_in_one_table.m
    script for agglomerating successes and failures from all tasks  

  5. get_trial_frequencies.m
    script for calculating the number of trials for commands  

  6. get_chance_level.m
    script for evaluating chance levels for the feedback accuracies  

  7. extract_number_of_RMmovements.m
    script for extracting RH movements in "rest vs. move task"  

 

Subjective ratings

  • FCQdata_contr.m
    script for calculating assessing the four phenomenological constructs for control subjects  

  • FCQdata_stroke.m
    script for calculating assessing the four phenomenological constructs for stroke patients  

 

Data aggregation & boxplots

Scripts need to be run in the given order.

  1. organize_data_for_agregation.m
    script for aggregating output files from various scripts  

  2. aggregate_data.m
    script for further aggregation  

  3. boxplots.m
    script for plotting boxplots  

 

Statstical testing

Scripts need to be run in the given order.

  1. check_distribution_and_variance.m
    script for checking normality and variance homogeneity of the data  

  2. NHST.R
    script for conducting null hypothesis significance testing  

About

These are the scripts for the paper "Exploring Self-Paced Embodiable Neurofeedback for Post-stroke Motor Rehabilitation"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published