Browse Source

gin commit from L-1010036236

New files: 1175
Jonas Zimmermann 2 years ago
parent
commit
9b4b6d9b8d
100 changed files with 19316 additions and 0 deletions
  1. 226 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_11_36_45.yaml
  2. 226 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_11_50_14.yaml
  3. 226 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_12_42_25.yaml
  4. 226 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_13_01_09.yaml
  5. 226 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_13_06_20.yaml
  6. 227 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_13_47_11.yaml
  7. 193 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_16_51_46.yaml
  8. 193 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_17_03_34.yaml
  9. 193 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_17_09_38.yaml
  10. 193 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_17_18_26.yaml
  11. 193 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_17_35_38.yaml
  12. 193 0
      KIAP_BCI_neurofeedback/2019-07-04/config_dump_18_02_17.yaml
  13. 86 0
      KIAP_BCI_neurofeedback/2019-07-04/paradigm_11_36_45.yaml
  14. 86 0
      KIAP_BCI_neurofeedback/2019-07-04/paradigm_11_50_14.yaml
  15. 86 0
      KIAP_BCI_neurofeedback/2019-07-04/paradigm_12_34_54.yaml
  16. 86 0
      KIAP_BCI_neurofeedback/2019-07-04/paradigm_12_42_25.yaml
  17. 86 0
      KIAP_BCI_neurofeedback/2019-07-04/paradigm_13_01_09.yaml
  18. 86 0
      KIAP_BCI_neurofeedback/2019-07-04/paradigm_13_06_20.yaml
  19. 86 0
      KIAP_BCI_neurofeedback/2019-07-04/paradigm_13_47_11.yaml
  20. 195 0
      KIAP_BCI_neurofeedback/2019-07-05/config_dump_12_41_30.yaml
  21. 197 0
      KIAP_BCI_neurofeedback/2019-07-05/config_dump_13_18_14.yaml
  22. 197 0
      KIAP_BCI_neurofeedback/2019-07-05/config_dump_13_59_43.yaml
  23. 195 0
      KIAP_BCI_neurofeedback/2019-07-05/config_dump_14_34_43.yaml
  24. 194 0
      KIAP_BCI_neurofeedback/2019-07-10/config_dump_19_25_37.yaml
  25. 193 0
      KIAP_BCI_neurofeedback/2019-07-10/config_dump_19_33_25.yaml
  26. 193 0
      KIAP_BCI_neurofeedback/2019-07-10/config_dump_19_45_05.yaml
  27. 193 0
      KIAP_BCI_neurofeedback/2019-07-10/config_dump_19_59_22.yaml
  28. 193 0
      KIAP_BCI_neurofeedback/2019-07-10/config_dump_20_07_33.yaml
  29. 194 0
      KIAP_BCI_neurofeedback/2019-07-10/config_dump_20_38_35.yaml
  30. 194 0
      KIAP_BCI_neurofeedback/2019-07-10/config_dump_20_47_07.yaml
  31. 193 0
      KIAP_BCI_neurofeedback/2019-07-11/config_dump_12_34_31.yaml
  32. 193 0
      KIAP_BCI_neurofeedback/2019-07-11/config_dump_12_46_48.yaml
  33. 193 0
      KIAP_BCI_neurofeedback/2019-07-11/config_dump_13_44_59.yaml
  34. 194 0
      KIAP_BCI_neurofeedback/2019-07-11/config_dump_14_02_20.yaml
  35. 193 0
      KIAP_BCI_neurofeedback/2019-07-11/config_dump_15_00_34.yaml
  36. 194 0
      KIAP_BCI_neurofeedback/2019-07-11/config_dump_15_09_15.yaml
  37. 194 0
      KIAP_BCI_neurofeedback/2019-07-11/config_dump_16_46_56.yaml
  38. 194 0
      KIAP_BCI_neurofeedback/2019-07-11/config_dump_17_15_04.yaml
  39. 195 0
      KIAP_BCI_neurofeedback/2019-07-12/config_dump_12_56_27.yaml
  40. 195 0
      KIAP_BCI_neurofeedback/2019-07-12/config_dump_13_05_03.yaml
  41. 195 0
      KIAP_BCI_neurofeedback/2019-07-12/config_dump_13_14_37.yaml
  42. 194 0
      KIAP_BCI_neurofeedback/2019-07-12/config_dump_13_57_38.yaml
  43. 194 0
      KIAP_BCI_neurofeedback/2019-07-19/config_dump_15_39_52.yaml
  44. 194 0
      KIAP_BCI_neurofeedback/2019-07-19/config_dump_15_48_25.yaml
  45. 195 0
      KIAP_BCI_neurofeedback/2019-07-19/config_dump_15_57_31.yaml
  46. 194 0
      KIAP_BCI_neurofeedback/2019-07-19/config_dump_16_03_55.yaml
  47. 194 0
      KIAP_BCI_neurofeedback/2019-07-19/config_dump_16_27_53.yaml
  48. 194 0
      KIAP_BCI_neurofeedback/2019-07-19/config_dump_17_08_15.yaml
  49. 194 0
      KIAP_BCI_neurofeedback/2019-07-19/config_dump_17_23_37.yaml
  50. 199 0
      KIAP_BCI_neurofeedback/2019-07-20/config_dump_16_33_50.yaml
  51. 201 0
      KIAP_BCI_neurofeedback/2019-07-20/config_dump_16_50_48.yaml
  52. 200 0
      KIAP_BCI_neurofeedback/2019-07-20/config_dump_16_57_37.yaml
  53. 199 0
      KIAP_BCI_neurofeedback/2019-07-20/config_dump_17_35_07.yaml
  54. 199 0
      KIAP_BCI_neurofeedback/2019-07-21/config_dump_16_34_52.yaml
  55. 199 0
      KIAP_BCI_neurofeedback/2019-07-21/config_dump_16_40_50.yaml
  56. 199 0
      KIAP_BCI_neurofeedback/2019-07-21/config_dump_16_46_22.yaml
  57. 199 0
      KIAP_BCI_neurofeedback/2019-07-21/config_dump_16_51_48.yaml
  58. 199 0
      KIAP_BCI_neurofeedback/2019-07-21/config_dump_17_42_37.yaml
  59. 199 0
      KIAP_BCI_neurofeedback/2019-07-21/config_dump_17_58_46.yaml
  60. 199 0
      KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_18_03.yaml
  61. 199 0
      KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_22_35.yaml
  62. 200 0
      KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_35_27.yaml
  63. 199 0
      KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_40_32.yaml
  64. 200 0
      KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_47_21.yaml
  65. 211 0
      KIAP_BCI_neurofeedback/2019-08-13/config_dump_15_57_56.yaml
  66. 211 0
      KIAP_BCI_neurofeedback/2019-08-13/config_dump_16_07_55.yaml
  67. 211 0
      KIAP_BCI_neurofeedback/2019-08-13/config_dump_16_13_46.yaml
  68. 211 0
      KIAP_BCI_neurofeedback/2019-08-13/config_dump_16_45_50.yaml
  69. 211 0
      KIAP_BCI_neurofeedback/2019-08-14/config_dump_12_56_01.yaml
  70. 211 0
      KIAP_BCI_neurofeedback/2019-08-14/config_dump_13_08_36.yaml
  71. 211 0
      KIAP_BCI_neurofeedback/2019-08-14/config_dump_13_16_05.yaml
  72. 211 0
      KIAP_BCI_neurofeedback/2019-08-14/config_dump_13_43_14.yaml
  73. 211 0
      KIAP_BCI_neurofeedback/2019-08-14/config_dump_14_18_08.yaml
  74. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_12_43_01.yaml
  75. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_12_49_56.yaml
  76. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_12_56_38.yaml
  77. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_13_02_10.yaml
  78. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_13_08_21.yaml
  79. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_13_21_05.yaml
  80. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_13_38_18.yaml
  81. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_14_21_33.yaml
  82. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_14_27_05.yaml
  83. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_14_59_53.yaml
  84. 211 0
      KIAP_BCI_neurofeedback/2019-08-15/config_dump_15_55_16.yaml
  85. 211 0
      KIAP_BCI_neurofeedback/2019-08-16/config_dump_11_54_24.yaml
  86. 211 0
      KIAP_BCI_neurofeedback/2019-08-16/config_dump_11_58_42.yaml
  87. 211 0
      KIAP_BCI_neurofeedback/2019-08-16/config_dump_12_03_29.yaml
  88. 211 0
      KIAP_BCI_neurofeedback/2019-08-16/config_dump_12_52_14.yaml
  89. 211 0
      KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_02_58.yaml
  90. 211 0
      KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_07_43.yaml
  91. 211 0
      KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_13_25.yaml
  92. 211 0
      KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_18_00.yaml
  93. 211 0
      KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_26_36.yaml
  94. 211 0
      KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_54_12.yaml
  95. 211 0
      KIAP_BCI_neurofeedback/2019-08-20/config_dump_14_14_50.yaml
  96. 211 0
      KIAP_BCI_neurofeedback/2019-08-20/config_dump_14_20_55.yaml
  97. 211 0
      KIAP_BCI_neurofeedback/2019-08-20/config_dump_15_32_22.yaml
  98. 211 0
      KIAP_BCI_neurofeedback/2019-08-21/config_dump_14_11_58.yaml
  99. 211 0
      KIAP_BCI_neurofeedback/2019-08-21/config_dump_14_17_55.yaml
  100. 0 0
      KIAP_BCI_neurofeedback/2019-08-21/config_dump_14_24_24.yaml

+ 226 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_11_36_45.yaml

@@ -0,0 +1,226 @@
+system:
+  plot: 0
+
+general:
+  debug: 1
+  clear_trial_history: False
+
+daq:
+  n_channels_max: 128
+  # n_channels: 2
+  # exclude_channels: []  # These are BlackRock channel IDs (1-based).
+  exclude_channels: []
+  # car_channels: [] # channel IDs to use for common average reference. This is useful
+  #   for spike band power and LFP calculations
+  car_channels: []
+  fs: 30000.          # sampling frequency
+  smpl_fct: 30        # downsample factor
+  trigger_len: 50     # length of triggers <--- review: this parameter only appears in a commented out line
+  daq_sleep: 0.1      # s           <--- review: this parameter does not seem to be used anywhere
+  
+  normalization:
+    len:  600.0           # in seconds. Length of normalization period
+    do_update:  false        # Performs automatic updates if true
+    update_interval: 10.0   # in seconds. Defines in what intervals the rate normalization will be updated
+    range: [10, 90]    # centiles, for automated normalization
+
+    clamp_firing_rates: True
+    # if use_all_channels is False:
+    # channel firing rate r will be clamped and normalized (r_n):
+    # r_n = (max(bottom, min(top, r)) - bottom) / (top - bottom)
+    # if the channel is set to 'invert', then r_n := 1 - r_n
+    # All normalized rates are then averaged.
+    # otherwise, all channels will be averaged first, then normalized
+    
+    use_all_channels: false      # if True, all channels will be used. If False, channels as specified below will be used
+    all_channels: {bottom: 1.15625, top: 1.59375, invert: false}
+    
+    channels:
+      - {id: 20, bottom: 20.0, top: 35.0, invert: true}
+      - {id: 99, bottom: 4.0, top: 17.0, invert: false}
+
+  spike_rates:
+    n_units: 1        # number of units per channel
+    bin_width: 0.05    # sec, for spike rate estimation
+    loop_interval: 50  # ms 
+    method: 'boxcar'   # exponential or boxcar
+    decay_factor: .9    # for exponential decay, for each step back, a bin's count will be multiplied by decay_factor
+    max_bins: 20      # for exponential and boxcar methods, determines numbers of bins in history to take into account
+    # bl_offset: 0.000001      # baseline correction constant
+    bl_offset: 30.      # baseline correction constant
+    # bl_offset: 0.1        # baseline correction constant
+    correct_bl: False       # for online mode
+    correct_bl_model: False # for offline mode
+
+
+buffer:
+  length: 600         # buffer shape: (length, channels)
+
+session:  
+  flags:
+    bl: True
+    bl_rand: false 
+    decode: True
+    stimulus: True
+
+
+recording:
+  timing:
+    t_baseline_1: 5.                   # sec, trial-1 baseline duration
+    t_baseline_all: 1.                 # sec, all other trials
+    t_baseline_rand: 1.                # sec, add random inter-trial interval between 0 and t_baseline_rand IF session.flags.bl_rand is True
+    t_after_stimulus: 0.0        
+    t_response: 3.                     # sec, trial response duration
+    decoder_refresh_interval: .01     # sec, for continuous decoding, the cycle time of the decoder
+    bci_loop_interval: .05             # sec, step for bci thread loop
+    recording_loop_interval: .05       # sec, step for bci thread loop
+    recording_loop_interval_data: .02       # sec, step for data process loop
+
+classifier:
+    max_active_ch_nr: []
+    # include_channels: [38, 43, 50, 52, 56, 61, 65, 67, 73, 81, 87, 88, 91]
+    # include_channels: [0,   1,   4,   7,   8,  12,  14,  19,  22,  26,  28,  29,  31, 96, 100, 103]
+    # include_channels: range(0,128)
+    include_channels: [20]
+    # include_channels: [0,   1,   4,   6, 7,   8,  12,  14,  19, 20, 22,  26,  28,  29,  31, 96, 100, 103, 121]
+    # include_channels: [  1,   2,   3,   9,  19,  29,  41,  44,  48,  51,  52,  53,  54,
+         # 62,  63,  66,  74,  82,  94,  95, 113]
+    # exclude_channels: []
+    exclude_channels: [  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,
+        13,  14,  15,  16,  17,  18,  19,  21,  22,  23,  24,  25,  26,  27,
+        28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,
+        41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,
+        54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,
+        67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,
+        80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,
+        93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104, 105,
+       106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+       119, 120, 121, 122, 123, 124, 125, 126, 127]
+       
+    # exclude_channels: range(32,96)
+    # exclude_channels: []
+    n_triggers: 2     # DO NOT CHANGE THIS
+    n_classes: 2
+    template: [10, 14, 18, 22, 26, 30, 34, 38]
+    trigger_pos: 'start'   # 'start' or 'stop' 
+
+    online: False        # will be overwritten by code, see bci.py
+    thr_prob: 0.8
+    thr_window: 40 #30    # number of samples for prob above threshold to trigger decision
+    break_loop: True      # True: move on as soon as decision is there, otherwise wait t_response time
+
+    # models to use for online decoding
+    path_model1: '/data/clinical/neural/fr/2019-06-26/model1_104948.pkl'   # scikit
+    path_model2: '/data/clinical/neural/fr/2019-06-26/model2_104948.pkl'   # explicit LDA
+    exclude_data_channels: []
+    n_neg_train: 100000
+    deadtime: 40
+
+
+
+    model_training:
+      save_model: False
+      model: 'scikit'  # eigen, scikit, explicit
+      solver: 'lsqr'    # svd, lsqr, eigen
+      cross_validation: True
+      n_splits:  5     # for cross-validation
+      test_size: .2     # float between (0,1) or int (absolute number of trials, >=n_classes)
+      reg_fact: 0.3       # regularization factor
+      fsel: False          # feature selection
+      triggers_plot: 3
+
+    peaks:          # these values are for offline training
+      # height: 0.9   # probability threshold
+      # width: 28      # min number of samples above threshold
+      distance: 40  # number of samples for peaks to be apart
+      sig: 'pred'   # 'prob', 'pred' -> signal based on probabilities or prediction class
+      prefilter: False
+
+    psth:
+      cut : [-40, 100]
+
+lfp:
+  fs: 1000               # sampling rate
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]    # cut-off frequencies for filter
+  filter_fc_mb: [12, 40]    # cut-off frequencies for filter
+  filter_fc_hb: [60, 250]    # cut-off frequencies for filter
+  filter_order_lb: 2     
+  filter_order_mb: 6     
+  filter_order_hb: 10     
+  artifact_thr: 400      # exclude data above this threshold
+  array1: range(32,64) #3 4 7 8 10 14 17 15 44
+  array21: range(2)
+  # array22: range(100,112)
+  array22: [] #range(96,128)
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0 #None            # import data from start index
+  i_stop:  -1 #600000 #None             # to stop index
+  psth_win: [-1000, 5000]
+  exclude: False
+  normalize: False
+  zscore: False
+  car: True
+  sub_band: 1
+  motor_mapping: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+
+  spectra:
+    spgr_len: 500
+  plot:
+    ch_ids: [0]     # relative id of imported channel
+    general: True
+    filters: False
+
+    
+cerebus:
+    instance: 0
+    buffer_reset: True
+    buffer_size_cont: 30001
+    buffer_size_comments: 500
+
+file_handling:
+  data_path: '/data/clinical/neural/fr/'
+  # data_path: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/'
+
+  results: '/data/clinical/nf/results/'
+  paradigm_config_file: 'paradigm.yaml'
+  # results: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/results/'
+  # data_path: '/media/vlachos/kiap_backup/Recordings/K01/laptop/clinical/neural/'
+  # data_path: '/media/kiap/kiap_backup/Recordings/K01/Recordings/20190326-160445/'
+  save_data: True     # keep always True
+  mode: 'ab'   # ab: append binary, wb: write binary (will overwrite existing files)
+  git_hash: 7bd679a
+  filename_data: /data/clinical/neural/fr/2019-07-04/data_11_36_45.bin
+  filename_log_info: /data/clinical/neural/fr/2019-07-04/info_11_36_45.log
+  filename_events: /data/clinical/neural/fr/2019-07-04/events_11_36_45.txt
+
+speller:
+  type: 'feedback'    # exploration, question, training_color, color, feedback
+  audio: True
+  pyttsx_rate: 100
+  audio_result_fb: True
+
+feedback:
+  # normalized rate is multiplied by alpha, and baseline beta added.
+  
+  feedback_tone: True
+
+  alpha: 360    # scaling coefficient
+  beta: 120      # offset
+  tone_length: 0.25    # lenght of feedback tone in seconds
+  target_tone_length: 1.0    # length of feedback tone in seconds
+  
+  reward_on_target: false # If target is reached, play reward tone and abort trial
+  target_n_tones: 5 # Play the target tone every n feedback tones
+  reward_sound: '/kiap/data/speller/feedback/kerching.wav'
+  hold_iterations: 2
+
+plot:
+  channels: [20, 99]   # channels for live plot, need to restart app if changed
+  fps: 10.       # frames per second
+  pca: False
+
+sim_data:
+  rate_bl: 10
+

+ 226 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_11_50_14.yaml

@@ -0,0 +1,226 @@
+system:
+  plot: 0
+
+general:
+  debug: 1
+  clear_trial_history: False
+
+daq:
+  n_channels_max: 128
+  # n_channels: 2
+  # exclude_channels: []  # These are BlackRock channel IDs (1-based).
+  exclude_channels: []
+  # car_channels: [] # channel IDs to use for common average reference. This is useful
+  #   for spike band power and LFP calculations
+  car_channels: []
+  fs: 30000.          # sampling frequency
+  smpl_fct: 30        # downsample factor
+  trigger_len: 50     # length of triggers <--- review: this parameter only appears in a commented out line
+  daq_sleep: 0.1      # s           <--- review: this parameter does not seem to be used anywhere
+  
+  normalization:
+    len:  600.0           # in seconds. Length of normalization period
+    do_update:  false        # Performs automatic updates if true
+    update_interval: 10.0   # in seconds. Defines in what intervals the rate normalization will be updated
+    range: [10, 90]    # centiles, for automated normalization
+
+    clamp_firing_rates: True
+    # if use_all_channels is False:
+    # channel firing rate r will be clamped and normalized (r_n):
+    # r_n = (max(bottom, min(top, r)) - bottom) / (top - bottom)
+    # if the channel is set to 'invert', then r_n := 1 - r_n
+    # All normalized rates are then averaged.
+    # otherwise, all channels will be averaged first, then normalized
+    
+    use_all_channels: false      # if True, all channels will be used. If False, channels as specified below will be used
+    all_channels: {bottom: 1.15625, top: 1.59375, invert: false}
+    
+    channels:
+      - {id: 20, bottom: 18.0, top: 28.0, invert: true}
+      - {id: 99, bottom: 7.0, top: 12.0, invert: false}
+
+  spike_rates:
+    n_units: 1        # number of units per channel
+    bin_width: 0.05    # sec, for spike rate estimation
+    loop_interval: 50  # ms 
+    method: 'boxcar'   # exponential or boxcar
+    decay_factor: .9    # for exponential decay, for each step back, a bin's count will be multiplied by decay_factor
+    max_bins: 20      # for exponential and boxcar methods, determines numbers of bins in history to take into account
+    # bl_offset: 0.000001      # baseline correction constant
+    bl_offset: 30.      # baseline correction constant
+    # bl_offset: 0.1        # baseline correction constant
+    correct_bl: False       # for online mode
+    correct_bl_model: False # for offline mode
+
+
+buffer:
+  length: 600         # buffer shape: (length, channels)
+
+session:  
+  flags:
+    bl: True
+    bl_rand: True 
+    decode: True
+    stimulus: True
+
+
+recording:
+  timing:
+    t_baseline_1: 5.                   # sec, trial-1 baseline duration
+    t_baseline_all: 1.                 # sec, all other trials
+    t_baseline_rand: 1.                # sec, add random inter-trial interval between 0 and t_baseline_rand IF session.flags.bl_rand is True
+    t_after_stimulus: 0.5        
+    t_response: 5.                     # sec, trial response duration
+    decoder_refresh_interval: .01     # sec, for continuous decoding, the cycle time of the decoder
+    bci_loop_interval: .05             # sec, step for bci thread loop
+    recording_loop_interval: .05       # sec, step for bci thread loop
+    recording_loop_interval_data: .02       # sec, step for data process loop
+
+classifier:
+    max_active_ch_nr: []
+    # include_channels: [38, 43, 50, 52, 56, 61, 65, 67, 73, 81, 87, 88, 91]
+    # include_channels: [0,   1,   4,   7,   8,  12,  14,  19,  22,  26,  28,  29,  31, 96, 100, 103]
+    # include_channels: range(0,128)
+    include_channels: [20]
+    # include_channels: [0,   1,   4,   6, 7,   8,  12,  14,  19, 20, 22,  26,  28,  29,  31, 96, 100, 103, 121]
+    # include_channels: [  1,   2,   3,   9,  19,  29,  41,  44,  48,  51,  52,  53,  54,
+         # 62,  63,  66,  74,  82,  94,  95, 113]
+    # exclude_channels: []
+    exclude_channels: [  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,
+        13,  14,  15,  16,  17,  18,  19,  21,  22,  23,  24,  25,  26,  27,
+        28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,
+        41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,
+        54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,
+        67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,
+        80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,
+        93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104, 105,
+       106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+       119, 120, 121, 122, 123, 124, 125, 126, 127]
+       
+    # exclude_channels: range(32,96)
+    # exclude_channels: []
+    n_triggers: 2     # DO NOT CHANGE THIS
+    n_classes: 2
+    template: [10, 14, 18, 22, 26, 30, 34, 38]
+    trigger_pos: 'start'   # 'start' or 'stop' 
+
+    online: False        # will be overwritten by code, see bci.py
+    thr_prob: 0.8
+    thr_window: 40 #30    # number of samples for prob above threshold to trigger decision
+    break_loop: True      # True: move on as soon as decision is there, otherwise wait t_response time
+
+    # models to use for online decoding
+    path_model1: '/data/clinical/neural/fr/2019-06-26/model1_104948.pkl'   # scikit
+    path_model2: '/data/clinical/neural/fr/2019-06-26/model2_104948.pkl'   # explicit LDA
+    exclude_data_channels: []
+    n_neg_train: 100000
+    deadtime: 40
+
+
+
+    model_training:
+      save_model: False
+      model: 'scikit'  # eigen, scikit, explicit
+      solver: 'lsqr'    # svd, lsqr, eigen
+      cross_validation: True
+      n_splits:  5     # for cross-validation
+      test_size: .2     # float between (0,1) or int (absolute number of trials, >=n_classes)
+      reg_fact: 0.3       # regularization factor
+      fsel: False          # feature selection
+      triggers_plot: 3
+
+    peaks:          # these values are for offline training
+      # height: 0.9   # probability threshold
+      # width: 28      # min number of samples above threshold
+      distance: 40  # number of samples for peaks to be apart
+      sig: 'pred'   # 'prob', 'pred' -> signal based on probabilities or prediction class
+      prefilter: False
+
+    psth:
+      cut : [-40, 100]
+
+lfp:
+  fs: 1000               # sampling rate
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]    # cut-off frequencies for filter
+  filter_fc_mb: [12, 40]    # cut-off frequencies for filter
+  filter_fc_hb: [60, 250]    # cut-off frequencies for filter
+  filter_order_lb: 2     
+  filter_order_mb: 6     
+  filter_order_hb: 10     
+  artifact_thr: 400      # exclude data above this threshold
+  array1: range(32,64) #3 4 7 8 10 14 17 15 44
+  array21: range(2)
+  # array22: range(100,112)
+  array22: [] #range(96,128)
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0 #None            # import data from start index
+  i_stop:  -1 #600000 #None             # to stop index
+  psth_win: [-1000, 5000]
+  exclude: False
+  normalize: False
+  zscore: False
+  car: True
+  sub_band: 1
+  motor_mapping: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+
+  spectra:
+    spgr_len: 500
+  plot:
+    ch_ids: [0]     # relative id of imported channel
+    general: True
+    filters: False
+
+    
+cerebus:
+    instance: 0
+    buffer_reset: True
+    buffer_size_cont: 30001
+    buffer_size_comments: 500
+
+file_handling:
+  data_path: '/data/clinical/neural/fr/'
+  # data_path: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/'
+
+  results: '/data/clinical/nf/results/'
+  paradigm_config_file: 'paradigm.yaml'
+  # results: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/results/'
+  # data_path: '/media/vlachos/kiap_backup/Recordings/K01/laptop/clinical/neural/'
+  # data_path: '/media/kiap/kiap_backup/Recordings/K01/Recordings/20190326-160445/'
+  save_data: True     # keep always True
+  mode: 'ab'   # ab: append binary, wb: write binary (will overwrite existing files)
+  git_hash: 7bd679a
+  filename_data: /data/clinical/neural/fr/2019-07-04/data_11_50_14.bin
+  filename_log_info: /data/clinical/neural/fr/2019-07-04/info_11_50_14.log
+  filename_events: /data/clinical/neural/fr/2019-07-04/events_11_50_14.txt
+
+speller:
+  type: 'feedback'    # exploration, question, training_color, color, feedback
+  audio: True
+  pyttsx_rate: 100
+  audio_result_fb: True
+
+feedback:
+  # normalized rate is multiplied by alpha, and baseline beta added.
+  
+  feedback_tone: True
+
+  alpha: 360    # scaling coefficient
+  beta: 120      # offset
+  tone_length: 0.25    # lenght of feedback tone in seconds
+  target_tone_length: 1.0    # length of feedback tone in seconds
+  
+  reward_on_target: True # If target is reached, play reward tone and abort trial
+  target_n_tones: 5 # Play the target tone every n feedback tones
+  reward_sound: '/kiap/data/speller/feedback/kerching.wav'
+  hold_iterations: 2
+
+plot:
+  channels: [20, 99]   # channels for live plot, need to restart app if changed
+  fps: 10.       # frames per second
+  pca: False
+
+sim_data:
+  rate_bl: 10
+

+ 226 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_12_42_25.yaml

@@ -0,0 +1,226 @@
+system:
+  plot: 0
+
+general:
+  debug: 1
+  clear_trial_history: False
+
+daq:
+  n_channels_max: 128
+  # n_channels: 2
+  # exclude_channels: []  # These are BlackRock channel IDs (1-based).
+  exclude_channels: []
+  # car_channels: [] # channel IDs to use for common average reference. This is useful
+  #   for spike band power and LFP calculations
+  car_channels: []
+  fs: 30000.          # sampling frequency
+  smpl_fct: 30        # downsample factor
+  trigger_len: 50     # length of triggers <--- review: this parameter only appears in a commented out line
+  daq_sleep: 0.1      # s           <--- review: this parameter does not seem to be used anywhere
+  
+  normalization:
+    len:  600.0           # in seconds. Length of normalization period
+    do_update:  false        # Performs automatic updates if true
+    update_interval: 10.0   # in seconds. Defines in what intervals the rate normalization will be updated
+    range: [10, 90]    # centiles, for automated normalization
+
+    clamp_firing_rates: True
+    # if use_all_channels is False:
+    # channel firing rate r will be clamped and normalized (r_n):
+    # r_n = (max(bottom, min(top, r)) - bottom) / (top - bottom)
+    # if the channel is set to 'invert', then r_n := 1 - r_n
+    # All normalized rates are then averaged.
+    # otherwise, all channels will be averaged first, then normalized
+    
+    use_all_channels: false      # if True, all channels will be used. If False, channels as specified below will be used
+    all_channels: {bottom: 1.15625, top: 1.59375, invert: false}
+    
+    channels:
+      - {id: 24, bottom: 2.0, top: 7.0, invert: true}
+      - {id: 99, bottom: 5.0, top: 25.0, invert: false}
+
+  spike_rates:
+    n_units: 1        # number of units per channel
+    bin_width: 0.05    # sec, for spike rate estimation
+    loop_interval: 50  # ms 
+    method: 'boxcar'   # exponential or boxcar
+    decay_factor: .9    # for exponential decay, for each step back, a bin's count will be multiplied by decay_factor
+    max_bins: 20      # for exponential and boxcar methods, determines numbers of bins in history to take into account
+    # bl_offset: 0.000001      # baseline correction constant
+    bl_offset: 30.      # baseline correction constant
+    # bl_offset: 0.1        # baseline correction constant
+    correct_bl: False       # for online mode
+    correct_bl_model: False # for offline mode
+
+
+buffer:
+  length: 600         # buffer shape: (length, channels)
+
+session:  
+  flags:
+    bl: True
+    bl_rand: True 
+    decode: True
+    stimulus: True
+
+
+recording:
+  timing:
+    t_baseline_1: 5.                   # sec, trial-1 baseline duration
+    t_baseline_all: 1.                 # sec, all other trials
+    t_baseline_rand: 1.                # sec, add random inter-trial interval between 0 and t_baseline_rand IF session.flags.bl_rand is True
+    t_after_stimulus: 0.0        
+    t_response: 5.                     # sec, trial response duration
+    decoder_refresh_interval: .01     # sec, for continuous decoding, the cycle time of the decoder
+    bci_loop_interval: .05             # sec, step for bci thread loop
+    recording_loop_interval: .05       # sec, step for bci thread loop
+    recording_loop_interval_data: .02       # sec, step for data process loop
+
+classifier:
+    max_active_ch_nr: []
+    # include_channels: [38, 43, 50, 52, 56, 61, 65, 67, 73, 81, 87, 88, 91]
+    # include_channels: [0,   1,   4,   7,   8,  12,  14,  19,  22,  26,  28,  29,  31, 96, 100, 103]
+    # include_channels: range(0,128)
+    include_channels: [20]
+    # include_channels: [0,   1,   4,   6, 7,   8,  12,  14,  19, 20, 22,  26,  28,  29,  31, 96, 100, 103, 121]
+    # include_channels: [  1,   2,   3,   9,  19,  29,  41,  44,  48,  51,  52,  53,  54,
+         # 62,  63,  66,  74,  82,  94,  95, 113]
+    # exclude_channels: []
+    exclude_channels: [  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,
+        13,  14,  15,  16,  17,  18,  19,  21,  22,  23,  24,  25,  26,  27,
+        28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,
+        41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,
+        54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,
+        67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,
+        80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,
+        93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104, 105,
+       106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+       119, 120, 121, 122, 123, 124, 125, 126, 127]
+       
+    # exclude_channels: range(32,96)
+    # exclude_channels: []
+    n_triggers: 2     # DO NOT CHANGE THIS
+    n_classes: 2
+    template: [10, 14, 18, 22, 26, 30, 34, 38]
+    trigger_pos: 'start'   # 'start' or 'stop' 
+
+    online: False        # will be overwritten by code, see bci.py
+    thr_prob: 0.8
+    thr_window: 40 #30    # number of samples for prob above threshold to trigger decision
+    break_loop: True      # True: move on as soon as decision is there, otherwise wait t_response time
+
+    # models to use for online decoding
+    path_model1: '/data/clinical/neural/fr/2019-06-26/model1_104948.pkl'   # scikit
+    path_model2: '/data/clinical/neural/fr/2019-06-26/model2_104948.pkl'   # explicit LDA
+    exclude_data_channels: []
+    n_neg_train: 100000
+    deadtime: 40
+
+
+
+    model_training:
+      save_model: False
+      model: 'scikit'  # eigen, scikit, explicit
+      solver: 'lsqr'    # svd, lsqr, eigen
+      cross_validation: True
+      n_splits:  5     # for cross-validation
+      test_size: .2     # float between (0,1) or int (absolute number of trials, >=n_classes)
+      reg_fact: 0.3       # regularization factor
+      fsel: False          # feature selection
+      triggers_plot: 3
+
+    peaks:          # these values are for offline training
+      # height: 0.9   # probability threshold
+      # width: 28      # min number of samples above threshold
+      distance: 40  # number of samples for peaks to be apart
+      sig: 'pred'   # 'prob', 'pred' -> signal based on probabilities or prediction class
+      prefilter: False
+
+    psth:
+      cut : [-40, 100]
+
+lfp:
+  fs: 1000               # sampling rate
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]    # cut-off frequencies for filter
+  filter_fc_mb: [12, 40]    # cut-off frequencies for filter
+  filter_fc_hb: [60, 250]    # cut-off frequencies for filter
+  filter_order_lb: 2     
+  filter_order_mb: 6     
+  filter_order_hb: 10     
+  artifact_thr: 400      # exclude data above this threshold
+  array1: range(32,64) #3 4 7 8 10 14 17 15 44
+  array21: range(2)
+  # array22: range(100,112)
+  array22: [] #range(96,128)
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0 #None            # import data from start index
+  i_stop:  -1 #600000 #None             # to stop index
+  psth_win: [-1000, 5000]
+  exclude: False
+  normalize: False
+  zscore: False
+  car: True
+  sub_band: 1
+  motor_mapping: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+
+  spectra:
+    spgr_len: 500
+  plot:
+    ch_ids: [0]     # relative id of imported channel
+    general: True
+    filters: False
+
+    
+cerebus:
+    instance: 0
+    buffer_reset: True
+    buffer_size_cont: 30001
+    buffer_size_comments: 500
+
+file_handling:
+  data_path: '/data/clinical/neural/fr/'
+  # data_path: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/'
+
+  results: '/data/clinical/nf/results/'
+  paradigm_config_file: 'paradigm.yaml'
+  # results: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/results/'
+  # data_path: '/media/vlachos/kiap_backup/Recordings/K01/laptop/clinical/neural/'
+  # data_path: '/media/kiap/kiap_backup/Recordings/K01/Recordings/20190326-160445/'
+  save_data: True     # keep always True
+  mode: 'ab'   # ab: append binary, wb: write binary (will overwrite existing files)
+  git_hash: 7bd679a
+  filename_data: /data/clinical/neural/fr/2019-07-04/data_12_42_25.bin
+  filename_log_info: /data/clinical/neural/fr/2019-07-04/info_12_42_25.log
+  filename_events: /data/clinical/neural/fr/2019-07-04/events_12_42_25.txt
+
+speller:
+  type: 'feedback'    # exploration, question, training_color, color, feedback
+  audio: True
+  pyttsx_rate: 100
+  audio_result_fb: True
+
+feedback:
+  # normalized rate is multiplied by alpha, and baseline beta added.
+  
+  feedback_tone: True
+
+  alpha: 360    # scaling coefficient
+  beta: 120      # offset
+  tone_length: 0.25    # lenght of feedback tone in seconds
+  target_tone_length: 1.0    # length of feedback tone in seconds
+  
+  reward_on_target: True # If target is reached, play reward tone and abort trial
+  target_n_tones: 5 # Play the target tone every n feedback tones
+  reward_sound: '/kiap/data/speller/feedback/kerching.wav'
+  hold_iterations: 2
+
+plot:
+  channels: [20, 99]   # channels for live plot, need to restart app if changed
+  fps: 10.       # frames per second
+  pca: False
+
+sim_data:
+  rate_bl: 10
+

+ 226 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_13_01_09.yaml

@@ -0,0 +1,226 @@
+system:
+  plot: 0
+
+general:
+  debug: 1
+  clear_trial_history: False
+
+daq:
+  n_channels_max: 128
+  # n_channels: 2
+  # exclude_channels: []  # These are BlackRock channel IDs (1-based).
+  exclude_channels: []
+  # car_channels: [] # channel IDs to use for common average reference. This is useful
+  #   for spike band power and LFP calculations
+  car_channels: []
+  fs: 30000.          # sampling frequency
+  smpl_fct: 30        # downsample factor
+  trigger_len: 50     # length of triggers <--- review: this parameter only appears in a commented out line
+  daq_sleep: 0.1      # s           <--- review: this parameter does not seem to be used anywhere
+  
+  normalization:
+    len:  600.0           # in seconds. Length of normalization period
+    do_update:  false        # Performs automatic updates if true
+    update_interval: 10.0   # in seconds. Defines in what intervals the rate normalization will be updated
+    range: [10, 90]    # centiles, for automated normalization
+
+    clamp_firing_rates: True
+    # if use_all_channels is False:
+    # channel firing rate r will be clamped and normalized (r_n):
+    # r_n = (max(bottom, min(top, r)) - bottom) / (top - bottom)
+    # if the channel is set to 'invert', then r_n := 1 - r_n
+    # All normalized rates are then averaged.
+    # otherwise, all channels will be averaged first, then normalized
+    
+    use_all_channels: false      # if True, all channels will be used. If False, channels as specified below will be used
+    all_channels: {bottom: 1.15625, top: 1.59375, invert: false}
+    
+    channels:
+      - {id: 24, bottom: 2.0, top: 7.0, invert: true}
+      - {id: 99, bottom: 5.0, top: 25.0, invert: false}
+
+  spike_rates:
+    n_units: 1        # number of units per channel
+    bin_width: 0.05    # sec, for spike rate estimation
+    loop_interval: 50  # ms 
+    method: 'boxcar'   # exponential or boxcar
+    decay_factor: .9    # for exponential decay, for each step back, a bin's count will be multiplied by decay_factor
+    max_bins: 20      # for exponential and boxcar methods, determines numbers of bins in history to take into account
+    # bl_offset: 0.000001      # baseline correction constant
+    bl_offset: 30.      # baseline correction constant
+    # bl_offset: 0.1        # baseline correction constant
+    correct_bl: False       # for online mode
+    correct_bl_model: False # for offline mode
+
+
+buffer:
+  length: 600         # buffer shape: (length, channels)
+
+session:  
+  flags:
+    bl: True
+    bl_rand: True 
+    decode: True
+    stimulus: True
+
+
+recording:
+  timing:
+    t_baseline_1: 5.                   # sec, trial-1 baseline duration
+    t_baseline_all: 1.                 # sec, all other trials
+    t_baseline_rand: 1.                # sec, add random inter-trial interval between 0 and t_baseline_rand IF session.flags.bl_rand is True
+    t_after_stimulus: 0.0        
+    t_response: 5.                     # sec, trial response duration
+    decoder_refresh_interval: .01     # sec, for continuous decoding, the cycle time of the decoder
+    bci_loop_interval: .05             # sec, step for bci thread loop
+    recording_loop_interval: .05       # sec, step for bci thread loop
+    recording_loop_interval_data: .02       # sec, step for data process loop
+
+classifier:
+    max_active_ch_nr: []
+    # include_channels: [38, 43, 50, 52, 56, 61, 65, 67, 73, 81, 87, 88, 91]
+    # include_channels: [0,   1,   4,   7,   8,  12,  14,  19,  22,  26,  28,  29,  31, 96, 100, 103]
+    # include_channels: range(0,128)
+    include_channels: [20]
+    # include_channels: [0,   1,   4,   6, 7,   8,  12,  14,  19, 20, 22,  26,  28,  29,  31, 96, 100, 103, 121]
+    # include_channels: [  1,   2,   3,   9,  19,  29,  41,  44,  48,  51,  52,  53,  54,
+         # 62,  63,  66,  74,  82,  94,  95, 113]
+    # exclude_channels: []
+    exclude_channels: [  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,
+        13,  14,  15,  16,  17,  18,  19,  21,  22,  23,  24,  25,  26,  27,
+        28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,
+        41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,
+        54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,
+        67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,
+        80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,
+        93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104, 105,
+       106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+       119, 120, 121, 122, 123, 124, 125, 126, 127]
+       
+    # exclude_channels: range(32,96)
+    # exclude_channels: []
+    n_triggers: 2     # DO NOT CHANGE THIS
+    n_classes: 2
+    template: [10, 14, 18, 22, 26, 30, 34, 38]
+    trigger_pos: 'start'   # 'start' or 'stop' 
+
+    online: False        # will be overwritten by code, see bci.py
+    thr_prob: 0.8
+    thr_window: 40 #30    # number of samples for prob above threshold to trigger decision
+    break_loop: True      # True: move on as soon as decision is there, otherwise wait t_response time
+
+    # models to use for online decoding
+    path_model1: '/data/clinical/neural/fr/2019-06-26/model1_104948.pkl'   # scikit
+    path_model2: '/data/clinical/neural/fr/2019-06-26/model2_104948.pkl'   # explicit LDA
+    exclude_data_channels: []
+    n_neg_train: 100000
+    deadtime: 40
+
+
+
+    model_training:
+      save_model: False
+      model: 'scikit'  # eigen, scikit, explicit
+      solver: 'lsqr'    # svd, lsqr, eigen
+      cross_validation: True
+      n_splits:  5     # for cross-validation
+      test_size: .2     # float between (0,1) or int (absolute number of trials, >=n_classes)
+      reg_fact: 0.3       # regularization factor
+      fsel: False          # feature selection
+      triggers_plot: 3
+
+    peaks:          # these values are for offline training
+      # height: 0.9   # probability threshold
+      # width: 28      # min number of samples above threshold
+      distance: 40  # number of samples for peaks to be apart
+      sig: 'pred'   # 'prob', 'pred' -> signal based on probabilities or prediction class
+      prefilter: False
+
+    psth:
+      cut : [-40, 100]
+
+lfp:
+  fs: 1000               # sampling rate
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]    # cut-off frequencies for filter
+  filter_fc_mb: [12, 40]    # cut-off frequencies for filter
+  filter_fc_hb: [60, 250]    # cut-off frequencies for filter
+  filter_order_lb: 2     
+  filter_order_mb: 6     
+  filter_order_hb: 10     
+  artifact_thr: 400      # exclude data above this threshold
+  array1: range(32,64) #3 4 7 8 10 14 17 15 44
+  array21: range(2)
+  # array22: range(100,112)
+  array22: [] #range(96,128)
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0 #None            # import data from start index
+  i_stop:  -1 #600000 #None             # to stop index
+  psth_win: [-1000, 5000]
+  exclude: False
+  normalize: False
+  zscore: False
+  car: True
+  sub_band: 1
+  motor_mapping: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+
+  spectra:
+    spgr_len: 500
+  plot:
+    ch_ids: [0]     # relative id of imported channel
+    general: True
+    filters: False
+
+    
+cerebus:
+    instance: 0
+    buffer_reset: True
+    buffer_size_cont: 30001
+    buffer_size_comments: 500
+
+file_handling:
+  data_path: '/data/clinical/neural/fr/'
+  # data_path: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/'
+
+  results: '/data/clinical/nf/results/'
+  paradigm_config_file: 'paradigm.yaml'
+  # results: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/results/'
+  # data_path: '/media/vlachos/kiap_backup/Recordings/K01/laptop/clinical/neural/'
+  # data_path: '/media/kiap/kiap_backup/Recordings/K01/Recordings/20190326-160445/'
+  save_data: True     # keep always True
+  mode: 'ab'   # ab: append binary, wb: write binary (will overwrite existing files)
+  git_hash: 7bd679a
+  filename_data: /data/clinical/neural/fr/2019-07-04/data_13_01_09.bin
+  filename_log_info: /data/clinical/neural/fr/2019-07-04/info_13_01_09.log
+  filename_events: /data/clinical/neural/fr/2019-07-04/events_13_01_09.txt
+
+speller:
+  type: 'feedback'    # exploration, question, training_color, color, feedback
+  audio: True
+  pyttsx_rate: 100
+  audio_result_fb: True
+
+feedback:
+  # normalized rate is multiplied by alpha, and baseline beta added.
+  
+  feedback_tone: True
+
+  alpha: 360    # scaling coefficient
+  beta: 120      # offset
+  tone_length: 0.25    # lenght of feedback tone in seconds
+  target_tone_length: 1.0    # length of feedback tone in seconds
+  
+  reward_on_target: True # If target is reached, play reward tone and abort trial
+  target_n_tones: 5 # Play the target tone every n feedback tones
+  reward_sound: '/kiap/data/speller/feedback/kerching.wav'
+  hold_iterations: 2
+
+plot:
+  channels: [20, 99]   # channels for live plot, need to restart app if changed
+  fps: 10.       # frames per second
+  pca: False
+
+sim_data:
+  rate_bl: 10
+

+ 226 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_13_06_20.yaml

@@ -0,0 +1,226 @@
+system:
+  plot: 0
+
+general:
+  debug: 1
+  clear_trial_history: False
+
+daq:
+  n_channels_max: 128
+  # n_channels: 2
+  # exclude_channels: []  # These are BlackRock channel IDs (1-based).
+  exclude_channels: []
+  # car_channels: [] # channel IDs to use for common average reference. This is useful
+  #   for spike band power and LFP calculations
+  car_channels: []
+  fs: 30000.          # sampling frequency
+  smpl_fct: 30        # downsample factor
+  trigger_len: 50     # length of triggers <--- review: this parameter only appears in a commented out line
+  daq_sleep: 0.1      # s           <--- review: this parameter does not seem to be used anywhere
+  
+  normalization:
+    len:  600.0           # in seconds. Length of normalization period
+    do_update:  false        # Performs automatic updates if true
+    update_interval: 10.0   # in seconds. Defines in what intervals the rate normalization will be updated
+    range: [10, 90]    # centiles, for automated normalization
+
+    clamp_firing_rates: True
+    # if use_all_channels is False:
+    # channel firing rate r will be clamped and normalized (r_n):
+    # r_n = (max(bottom, min(top, r)) - bottom) / (top - bottom)
+    # if the channel is set to 'invert', then r_n := 1 - r_n
+    # All normalized rates are then averaged.
+    # otherwise, all channels will be averaged first, then normalized
+    
+    use_all_channels: false      # if True, all channels will be used. If False, channels as specified below will be used
+    all_channels: {bottom: 1.15625, top: 1.59375, invert: false}
+    
+    channels:
+      - {id: 24, bottom: 3.0, top: 7.0, invert: true}
+      - {id: 99, bottom: 5.0, top: 12.0, invert: false}
+
+  spike_rates:
+    n_units: 1        # number of units per channel
+    bin_width: 0.05    # sec, for spike rate estimation
+    loop_interval: 50  # ms 
+    method: 'boxcar'   # exponential or boxcar
+    decay_factor: .9    # for exponential decay, for each step back, a bin's count will be multiplied by decay_factor
+    max_bins: 20      # for exponential and boxcar methods, determines numbers of bins in history to take into account
+    # bl_offset: 0.000001      # baseline correction constant
+    bl_offset: 30.      # baseline correction constant
+    # bl_offset: 0.1        # baseline correction constant
+    correct_bl: False       # for online mode
+    correct_bl_model: False # for offline mode
+
+
+buffer:
+  length: 600         # buffer shape: (length, channels)
+
+session:  
+  flags:
+    bl: True
+    bl_rand: True 
+    decode: True
+    stimulus: True
+
+
+recording:
+  timing:
+    t_baseline_1: 5.                   # sec, trial-1 baseline duration
+    t_baseline_all: 1.                 # sec, all other trials
+    t_baseline_rand: 1.                # sec, add random inter-trial interval between 0 and t_baseline_rand IF session.flags.bl_rand is True
+    t_after_stimulus: 0.0        
+    t_response: 5.                     # sec, trial response duration
+    decoder_refresh_interval: .01     # sec, for continuous decoding, the cycle time of the decoder
+    bci_loop_interval: .05             # sec, step for bci thread loop
+    recording_loop_interval: .05       # sec, step for bci thread loop
+    recording_loop_interval_data: .02       # sec, step for data process loop
+
+classifier:
+    max_active_ch_nr: []
+    # include_channels: [38, 43, 50, 52, 56, 61, 65, 67, 73, 81, 87, 88, 91]
+    # include_channels: [0,   1,   4,   7,   8,  12,  14,  19,  22,  26,  28,  29,  31, 96, 100, 103]
+    # include_channels: range(0,128)
+    include_channels: [20]
+    # include_channels: [0,   1,   4,   6, 7,   8,  12,  14,  19, 20, 22,  26,  28,  29,  31, 96, 100, 103, 121]
+    # include_channels: [  1,   2,   3,   9,  19,  29,  41,  44,  48,  51,  52,  53,  54,
+         # 62,  63,  66,  74,  82,  94,  95, 113]
+    # exclude_channels: []
+    exclude_channels: [  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,
+        13,  14,  15,  16,  17,  18,  19,  21,  22,  23,  24,  25,  26,  27,
+        28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,
+        41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,
+        54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,
+        67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,
+        80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,
+        93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104, 105,
+       106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+       119, 120, 121, 122, 123, 124, 125, 126, 127]
+       
+    # exclude_channels: range(32,96)
+    # exclude_channels: []
+    n_triggers: 2     # DO NOT CHANGE THIS
+    n_classes: 2
+    template: [10, 14, 18, 22, 26, 30, 34, 38]
+    trigger_pos: 'start'   # 'start' or 'stop' 
+
+    online: False        # will be overwritten by code, see bci.py
+    thr_prob: 0.8
+    thr_window: 40 #30    # number of samples for prob above threshold to trigger decision
+    break_loop: True      # True: move on as soon as decision is there, otherwise wait t_response time
+
+    # models to use for online decoding
+    path_model1: '/data/clinical/neural/fr/2019-06-26/model1_104948.pkl'   # scikit
+    path_model2: '/data/clinical/neural/fr/2019-06-26/model2_104948.pkl'   # explicit LDA
+    exclude_data_channels: []
+    n_neg_train: 100000
+    deadtime: 40
+
+
+
+    model_training:
+      save_model: False
+      model: 'scikit'  # eigen, scikit, explicit
+      solver: 'lsqr'    # svd, lsqr, eigen
+      cross_validation: True
+      n_splits:  5     # for cross-validation
+      test_size: .2     # float between (0,1) or int (absolute number of trials, >=n_classes)
+      reg_fact: 0.3       # regularization factor
+      fsel: False          # feature selection
+      triggers_plot: 3
+
+    peaks:          # these values are for offline training
+      # height: 0.9   # probability threshold
+      # width: 28      # min number of samples above threshold
+      distance: 40  # number of samples for peaks to be apart
+      sig: 'pred'   # 'prob', 'pred' -> signal based on probabilities or prediction class
+      prefilter: False
+
+    psth:
+      cut : [-40, 100]
+
+lfp:
+  fs: 1000               # sampling rate
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]    # cut-off frequencies for filter
+  filter_fc_mb: [12, 40]    # cut-off frequencies for filter
+  filter_fc_hb: [60, 250]    # cut-off frequencies for filter
+  filter_order_lb: 2     
+  filter_order_mb: 6     
+  filter_order_hb: 10     
+  artifact_thr: 400      # exclude data above this threshold
+  array1: range(32,64) #3 4 7 8 10 14 17 15 44
+  array21: range(2)
+  # array22: range(100,112)
+  array22: [] #range(96,128)
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0 #None            # import data from start index
+  i_stop:  -1 #600000 #None             # to stop index
+  psth_win: [-1000, 5000]
+  exclude: False
+  normalize: False
+  zscore: False
+  car: True
+  sub_band: 1
+  motor_mapping: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+
+  spectra:
+    spgr_len: 500
+  plot:
+    ch_ids: [0]     # relative id of imported channel
+    general: True
+    filters: False
+
+    
+cerebus:
+    instance: 0
+    buffer_reset: True
+    buffer_size_cont: 30001
+    buffer_size_comments: 500
+
+file_handling:
+  data_path: '/data/clinical/neural/fr/'
+  # data_path: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/'
+
+  results: '/data/clinical/nf/results/'
+  paradigm_config_file: 'paradigm.yaml'
+  # results: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/results/'
+  # data_path: '/media/vlachos/kiap_backup/Recordings/K01/laptop/clinical/neural/'
+  # data_path: '/media/kiap/kiap_backup/Recordings/K01/Recordings/20190326-160445/'
+  save_data: True     # keep always True
+  mode: 'ab'   # ab: append binary, wb: write binary (will overwrite existing files)
+  git_hash: 7bd679a
+  filename_data: /data/clinical/neural/fr/2019-07-04/data_13_06_20.bin
+  filename_log_info: /data/clinical/neural/fr/2019-07-04/info_13_06_20.log
+  filename_events: /data/clinical/neural/fr/2019-07-04/events_13_06_20.txt
+
+speller:
+  type: 'feedback'    # exploration, question, training_color, color, feedback
+  audio: True
+  pyttsx_rate: 100
+  audio_result_fb: True
+
+feedback:
+  # normalized rate is multiplied by alpha, and baseline beta added.
+  
+  feedback_tone: True
+
+  alpha: 360    # scaling coefficient
+  beta: 120      # offset
+  tone_length: 0.25    # lenght of feedback tone in seconds
+  target_tone_length: 1.0    # length of feedback tone in seconds
+  
+  reward_on_target: True # If target is reached, play reward tone and abort trial
+  target_n_tones: 5 # Play the target tone every n feedback tones
+  reward_sound: '/kiap/data/speller/feedback/kerching.wav'
+  hold_iterations: 2
+
+plot:
+  channels: [20, 99]   # channels for live plot, need to restart app if changed
+  fps: 10.       # frames per second
+  pca: False
+
+sim_data:
+  rate_bl: 10
+

+ 227 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_13_47_11.yaml

@@ -0,0 +1,227 @@
+system:
+  plot: 0
+
+general:
+  debug: 1
+  clear_trial_history: False
+
+daq:
+  n_channels_max: 128
+  # n_channels: 2
+  # exclude_channels: []  # These are BlackRock channel IDs (1-based).
+  exclude_channels: []
+  # car_channels: [] # channel IDs to use for common average reference. This is useful
+  #   for spike band power and LFP calculations
+  car_channels: []
+  fs: 30000.          # sampling frequency
+  smpl_fct: 30        # downsample factor
+  trigger_len: 50     # length of triggers <--- review: this parameter only appears in a commented out line
+  daq_sleep: 0.1      # s           <--- review: this parameter does not seem to be used anywhere
+  
+  normalization:
+    len:  600.0           # in seconds. Length of normalization period
+    do_update:  false        # Performs automatic updates if true
+    update_interval: 10.0   # in seconds. Defines in what intervals the rate normalization will be updated
+    range: [10, 90]    # centiles, for automated normalization
+
+    clamp_firing_rates: True
+    # if use_all_channels is False:
+    # channel firing rate r will be clamped and normalized (r_n):
+    # r_n = (max(bottom, min(top, r)) - bottom) / (top - bottom)
+    # if the channel is set to 'invert', then r_n := 1 - r_n
+    # All normalized rates are then averaged.
+    # otherwise, all channels will be averaged first, then normalized
+    
+    use_all_channels: false      # if True, all channels will be used. If False, channels as specified below will be used
+    all_channels: {bottom: 1.15625, top: 1.59375, invert: false}
+    
+    channels:
+      - {id: 24, bottom: 3.0, top: 7.0, invert: true}
+      - {id: 99, bottom: 5.0, top: 12.0, invert: false}
+
+  spike_rates:
+    n_units: 1        # number of units per channel
+    bin_width: 0.05    # sec, for spike rate estimation
+    loop_interval: 50  # ms 
+    method: 'boxcar'   # exponential or boxcar
+    decay_factor: .9    # for exponential decay, for each step back, a bin's count will be multiplied by decay_factor
+    max_bins: 20      # for exponential and boxcar methods, determines numbers of bins in history to take into account
+    # bl_offset: 0.000001      # baseline correction constant
+    bl_offset: 30.      # baseline correction constant
+    # bl_offset: 0.1        # baseline correction constant
+    correct_bl: False       # for online mode
+    correct_bl_model: False # for offline mode
+
+
+buffer:
+  length: 600         # buffer shape: (length, channels)
+
+session:  
+  flags:
+    bl: True
+    bl_rand: True 
+    decode: True
+    stimulus: True
+
+
+recording:
+  timing:
+    t_baseline_1: 5.                   # sec, trial-1 baseline duration
+    t_baseline_all: 1.                 # sec, all other trials
+    t_baseline_rand: 1.                # sec, add random inter-trial interval between 0 and t_baseline_rand IF session.flags.bl_rand is True
+    t_after_stimulus: 0.0        
+    t_response: 5.                     # sec, trial response duration
+    decoder_refresh_interval: .01     # sec, for continuous decoding, the cycle time of the decoder
+    bci_loop_interval: .05             # sec, step for bci thread loop
+    recording_loop_interval: .05       # sec, step for bci thread loop
+    recording_loop_interval_data: .02       # sec, step for data process loop
+
+classifier:
+    max_active_ch_nr: []
+    # include_channels: [38, 43, 50, 52, 56, 61, 65, 67, 73, 81, 87, 88, 91]
+    # include_channels: [0,   1,   4,   7,   8,  12,  14,  19,  22,  26,  28,  29,  31, 96, 100, 103]
+    # include_channels: range(0,128)
+    include_channels: [20]
+    # include_channels: [0,   1,   4,   6, 7,   8,  12,  14,  19, 20, 22,  26,  28,  29,  31, 96, 100, 103, 121]
+    # include_channels: [  1,   2,   3,   9,  19,  29,  41,  44,  48,  51,  52,  53,  54,
+         # 62,  63,  66,  74,  82,  94,  95, 113]
+    # exclude_channels: []
+    exclude_channels: [  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,
+        13,  14,  15,  16,  17,  18,  19,  21,  22,  23,  24,  25,  26,  27,
+        28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,  39,  40,
+        41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,  52,  53,
+        54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,  65,  66,
+        67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,  78,  79,
+        80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,  91,  92,
+        93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103, 104, 105,
+       106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118,
+       119, 120, 121, 122, 123, 124, 125, 126, 127]
+       
+    # exclude_channels: range(32,96)
+    # exclude_channels: []
+    n_triggers: 2     # DO NOT CHANGE THIS
+    n_classes: 2
+    template: [10, 14, 18, 22, 26, 30, 34, 38]
+    trigger_pos: 'start'   # 'start' or 'stop' 
+
+    online: False        # will be overwritten by code, see bci.py
+    thr_prob: 0.8
+    thr_window: 40 #30    # number of samples for prob above threshold to trigger decision
+    break_loop: True      # True: move on as soon as decision is there, otherwise wait t_response time
+
+    # models to use for online decoding
+    path_model1: '/data/clinical/neural/fr/2019-06-26/model1_104948.pkl'   # scikit
+    path_model2: '/data/clinical/neural/fr/2019-06-26/model2_104948.pkl'   # explicit LDA
+    exclude_data_channels: []
+    n_neg_train: 100000
+    deadtime: 40
+
+
+
+    model_training:
+      save_model: False
+      model: 'scikit'  # eigen, scikit, explicit
+      solver: 'lsqr'    # svd, lsqr, eigen
+      cross_validation: True
+      n_splits:  5     # for cross-validation
+      test_size: .2     # float between (0,1) or int (absolute number of trials, >=n_classes)
+      reg_fact: 0.3       # regularization factor
+      fsel: False          # feature selection
+      triggers_plot: 3
+
+    peaks:          # these values are for offline training
+      # height: 0.9   # probability threshold
+      # width: 28      # min number of samples above threshold
+      distance: 40  # number of samples for peaks to be apart
+      sig: 'pred'   # 'prob', 'pred' -> signal based on probabilities or prediction class
+      prefilter: False
+
+    psth:
+      cut : [-40, 100]
+
+lfp:
+  fs: 1000               # sampling rate
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]    # cut-off frequencies for filter
+  filter_fc_mb: [12, 40]    # cut-off frequencies for filter
+  filter_fc_hb: [60, 250]    # cut-off frequencies for filter
+  filter_order_lb: 2     
+  filter_order_mb: 6     
+  filter_order_hb: 10     
+  artifact_thr: 400      # exclude data above this threshold
+  array1: range(32,64) #3 4 7 8 10 14 17 15 44
+  array21: range(2)
+  # array22: range(100,112)
+  array22: [] #range(96,128)
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0 #None            # import data from start index
+  i_stop:  -1 #600000 #None             # to stop index
+  psth_win: [-1000, 5000]
+  exclude: False
+  normalize: False
+  zscore: False
+  car: True
+  sub_band: 1
+  motor_mapping: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+
+  spectra:
+    spgr_len: 500
+  plot:
+    ch_ids: [0]     # relative id of imported channel
+    general: True
+    filters: False
+
+    
+cerebus:
+    instance: 0
+    buffer_reset: True
+    buffer_size_cont: 30001
+    buffer_size_comments: 500
+
+file_handling:
+  data_path: '/data/clinical/neural/fr/'
+  # data_path: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/'
+
+  results: '/data/clinical/nf/results/'
+  paradigm_config_file: 'paradigm.yaml'
+  # results: '/home/vlachos/devel/vg/kiapvmdev/data/clinical/neural_new/results/'
+  # data_path: '/media/vlachos/kiap_backup/Recordings/K01/laptop/clinical/neural/'
+  # data_path: '/media/kiap/kiap_backup/Recordings/K01/Recordings/20190326-160445/'
+  save_data: True     # keep always True
+  mode: 'ab'   # ab: append binary, wb: write binary (will overwrite existing files)
+  git_hash: 7bd679a
+  filename_data: /data/clinical/neural/fr/2019-07-04/data_13_47_11.bin
+  filename_log_info: /data/clinical/neural/fr/2019-07-04/info_13_47_11.log
+  filename_events: /data/clinical/neural/fr/2019-07-04/events_13_47_11.txt
+
+
+speller:
+  type: 'feedback'    # exploration, question, training_color, color, feedback
+  audio: True
+  pyttsx_rate: 100
+  audio_result_fb: True
+
+feedback:
+  # normalized rate is multiplied by alpha, and baseline beta added.
+  
+  feedback_tone: True
+
+  alpha: 360    # scaling coefficient
+  beta: 120      # offset
+  tone_length: 0.25    # lenght of feedback tone in seconds
+  target_tone_length: 1.0    # length of feedback tone in seconds
+  
+  reward_on_target: True # If target is reached, play reward tone and abort trial
+  target_n_tones: 5 # Play the target tone every n feedback tones
+  reward_sound: '/kiap/data/speller/feedback/kerching.wav'
+  hold_iterations: 2
+
+plot:
+  channels: [20, 99]   # channels for live plot, need to restart app if changed
+  fps: 10.       # frames per second
+  pca: False
+
+sim_data:
+  rate_bl: 10
+

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_16_51_46.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 24, bottom: 4.0, top: 12.0, invert: true}
+    - !munch.Munch {id: 99, bottom: 5.0, top: 12.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: 2cc910d,
+  datafile_path: /data/clinical/neural/fr/2019-07-04, filename_data: /data/clinical/neural/fr/2019-07-04/data_16_51_46.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-04/bl_16_51_45.npy, filename_log_info: /data/clinical/neural/fr/2019-07-04/info_16_51_46.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-04/debug_16_51_45.log, filename_events: /data/clinical/neural/fr/2019-07-04/events_16_51_46.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-04/config_16_51_45.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-04/paradigm_16_51_45.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-04/config_dump_16_51_46.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-04/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [24, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 2
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: FELIX
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: GUSTAV.
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_17_03_34.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 20.0, top: 35.0, invert: true}
+    - !munch.Munch {id: 99, bottom: 3.0, top: 17.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: 2cc910d,
+  datafile_path: /data/clinical/neural/fr/2019-07-04, filename_data: /data/clinical/neural/fr/2019-07-04/data_17_03_34.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-04/bl_17_03_33.npy, filename_log_info: /data/clinical/neural/fr/2019-07-04/info_17_03_34.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-04/debug_17_03_33.log, filename_events: /data/clinical/neural/fr/2019-07-04/events_17_03_34.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-04/config_17_03_33.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-04/paradigm_17_03_33.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-04/config_dump_17_03_34.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-04/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [24, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 2
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: FELIX
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: GUSTAV.
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_17_09_38.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 20.0, top: 35.0, invert: true}
+    - !munch.Munch {id: 99, bottom: 3.0, top: 17.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: 2cc910d,
+  datafile_path: /data/clinical/neural/fr/2019-07-04, filename_data: /data/clinical/neural/fr/2019-07-04/data_17_09_38.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-04/bl_17_09_37.npy, filename_log_info: /data/clinical/neural/fr/2019-07-04/info_17_09_38.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-04/debug_17_09_38.log, filename_events: /data/clinical/neural/fr/2019-07-04/events_17_09_38.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-04/config_17_09_37.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-04/paradigm_17_09_37.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-04/config_dump_17_09_38.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-04/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [24, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 2
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: FELIX
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: GUSTAV.
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_17_18_26.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 97, bottom: 3.0, top: 16.0, invert: false}
+    - !munch.Munch {id: 99, bottom: 3.0, top: 20.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: 2cc910d,
+  datafile_path: /data/clinical/neural/fr/2019-07-04, filename_data: /data/clinical/neural/fr/2019-07-04/data_17_18_26.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-04/bl_17_18_26.npy, filename_log_info: /data/clinical/neural/fr/2019-07-04/info_17_18_26.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-04/debug_17_18_26.log, filename_events: /data/clinical/neural/fr/2019-07-04/events_17_18_26.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-04/config_17_18_26.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-04/paradigm_17_18_26.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-04/config_dump_17_18_26.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-04/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [24, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 2
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: FELIX
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: GUSTAV.
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_17_35_38.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 97, bottom: 3.0, top: 16.0, invert: false}
+    - !munch.Munch {id: 99, bottom: 3.0, top: 20.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: 2cc910d,
+  datafile_path: /data/clinical/neural/fr/2019-07-04, filename_data: /data/clinical/neural/fr/2019-07-04/data_17_35_38.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-04/bl_17_35_37.npy, filename_log_info: /data/clinical/neural/fr/2019-07-04/info_17_35_38.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-04/debug_17_35_38.log, filename_events: /data/clinical/neural/fr/2019-07-04/events_17_35_38.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-04/config_17_35_37.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-04/paradigm_17_35_37.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-04/config_dump_17_35_38.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-04/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [97, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 2
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: FELIX
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: GUSTAV.
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-04/config_dump_18_02_17.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 97, bottom: 5.0, top: 10.0, invert: false}
+    - !munch.Munch {id: 99, bottom: 5.0, top: 15.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.75, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: 2cc910d,
+  datafile_path: /data/clinical/neural/fr/2019-07-04, filename_data: /data/clinical/neural/fr/2019-07-04/data_18_02_17.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-04/bl_18_02_16.npy, filename_log_info: /data/clinical/neural/fr/2019-07-04/info_18_02_17.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-04/debug_18_02_16.log, filename_events: /data/clinical/neural/fr/2019-07-04/events_18_02_17.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-04/config_18_02_16.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-04/paradigm_18_02_16.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-04/config_dump_18_02_17.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-04/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 3}
+plot: !munch.Munch
+  channels: [97, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 2
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Bayern
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: BAYERN.
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 86 - 0
KIAP_BCI_neurofeedback/2019-07-04/paradigm_11_36_45.yaml

@@ -0,0 +1,86 @@
+
+# EXPLORATION
+exploration:
+  mode: ['Screening'] # Screening only
+  selected_mode: 0
+  # states: ['ruhe','ja','nein','kopf','fuss']
+  # states: ['Zunge', 'Schliesse_Hand', 'RechterDaumen', 'Oeffne_Hand', 'Fuss']
+  states: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+  # states: ['rechte_hand','linke_hand','rechter_daumen','linker_daumen','zunge','fuesse']
+  # states: ['SchliesseHand','BeugeRechtenMittelfinger', 'BeugeRechtenZeigefinger','BeugeRechtenDaumen','OeffneHand',
+  # 'StreckeRechtenMittelfinger','StreckeRechtenZeigefinger','StreckeRechtenDaumen']
+  selected_states: [0,1,2,3,4]
+  # selected_states: [0,1,2,3,4,5,6,7]
+  audio_path: '/kiap/data/speller/Audio/exploration'
+  number_of_stim:  2  # per state
+
+# QUESTION
+question:
+  mode: ['Training','Validation', 'Free'] # Training or Validation
+  selected_mode: 2
+  audio_path: '/kiap/data/speller/Audio/question'
+  number_of_stim: 10
+  symmetrical: True               # Same number of YES/NO stim 
+
+# FEEDBACK
+feedback:
+  mode: ['Training','Validation'] # Training or Validation
+  selected_mode: 0
+  audio_path: '/kiap/data/speller/feedback/'
+  number_of_stim: 20
+  symmetrical: True
+  states:   # states are defined as a map from name to an array consisting of the actual target
+            # and the lower and upper bounds of the acceptance interval
+    #baseline: [0.5, 0.4, 0.6]
+    up: [1.0, 0.7, 1.0]
+    down: [0.0, 0.0, 0.35]
+
+# TRAINING_COLOR
+training_color:
+  mode: ['Training'] # Training only
+  selected_mode: 0
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  training_string: 'FELIX'
+  confirmation_yes: 1
+  confirmation_no: 1
+
+# COLOR
+color:
+  mode: ['Validation','Free'] # Free or Validation
+  selected_mode: 1
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  max_length_vocabulary: 5
+  confirmation_methods: ['single','double_yes','best_of_three']
+  selected_confirmation_method: 0
+  # corpora_path: 'Corpora'
+  corpora_path: '/kiap/data/speller/Corpora'
+  audio_path: '/kiap/data/speller/Audio'
+  general_corpus: 'cfd_tiger.p'
+  # general_corpus: 'deu_mixed-typical_2011_1M-sentences.txt'
+  user_corpus: 'user.txt'
+  word_prediction: True
+  validation_string: 'ICH BIN FELIX.' # only for validation mode
+  
+# timing:
+#     t_baseline: 10                  # sec, trial baseline duration
+#     t_response: 1                  # sec, trial response duration
+#     decoder_refresh_interval: 0.01     # sec, for continuous decoding, the cycle time of the decoder
+#     bci_loop_interval: .05            # sec, step for bci thread loop
+#     recording_loop_interval: .05            # sec, step for bci thread loop
+
+variablesToShowInGUI:
+    variableGroups: ['timing','color']
+    variableNames: ['t_baseline','t_response','bci_loop_interval','selected_mode','max_length_vocabulary']
+    t: 1

+ 86 - 0
KIAP_BCI_neurofeedback/2019-07-04/paradigm_11_50_14.yaml

@@ -0,0 +1,86 @@
+
+# EXPLORATION
+exploration:
+  mode: ['Screening'] # Screening only
+  selected_mode: 0
+  # states: ['ruhe','ja','nein','kopf','fuss']
+  # states: ['Zunge', 'Schliesse_Hand', 'RechterDaumen', 'Oeffne_Hand', 'Fuss']
+  states: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+  # states: ['rechte_hand','linke_hand','rechter_daumen','linker_daumen','zunge','fuesse']
+  # states: ['SchliesseHand','BeugeRechtenMittelfinger', 'BeugeRechtenZeigefinger','BeugeRechtenDaumen','OeffneHand',
+  # 'StreckeRechtenMittelfinger','StreckeRechtenZeigefinger','StreckeRechtenDaumen']
+  selected_states: [0,1,2,3,4]
+  # selected_states: [0,1,2,3,4,5,6,7]
+  audio_path: '/kiap/data/speller/Audio/exploration'
+  number_of_stim:  2  # per state
+
+# QUESTION
+question:
+  mode: ['Training','Validation', 'Free'] # Training or Validation
+  selected_mode: 2
+  audio_path: '/kiap/data/speller/Audio/question'
+  number_of_stim: 10
+  symmetrical: True               # Same number of YES/NO stim 
+
+# FEEDBACK
+feedback:
+  mode: ['Training','Validation'] # Training or Validation
+  selected_mode: 0
+  audio_path: '/kiap/data/speller/feedback/'
+  number_of_stim: 20
+  symmetrical: True
+  states:   # states are defined as a map from name to an array consisting of the actual target
+            # and the lower and upper bounds of the acceptance interval
+    #baseline: [0.5, 0.4, 0.6]
+    up: [1.0, 0.7, 1.0]
+    down: [0.0, 0.0, 0.35]
+
+# TRAINING_COLOR
+training_color:
+  mode: ['Training'] # Training only
+  selected_mode: 0
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  training_string: 'FELIX'
+  confirmation_yes: 1
+  confirmation_no: 1
+
+# COLOR
+color:
+  mode: ['Validation','Free'] # Free or Validation
+  selected_mode: 1
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  max_length_vocabulary: 5
+  confirmation_methods: ['single','double_yes','best_of_three']
+  selected_confirmation_method: 0
+  # corpora_path: 'Corpora'
+  corpora_path: '/kiap/data/speller/Corpora'
+  audio_path: '/kiap/data/speller/Audio'
+  general_corpus: 'cfd_tiger.p'
+  # general_corpus: 'deu_mixed-typical_2011_1M-sentences.txt'
+  user_corpus: 'user.txt'
+  word_prediction: True
+  validation_string: 'ICH BIN FELIX.' # only for validation mode
+  
+# timing:
+#     t_baseline: 10                  # sec, trial baseline duration
+#     t_response: 1                  # sec, trial response duration
+#     decoder_refresh_interval: 0.01     # sec, for continuous decoding, the cycle time of the decoder
+#     bci_loop_interval: .05            # sec, step for bci thread loop
+#     recording_loop_interval: .05            # sec, step for bci thread loop
+
+variablesToShowInGUI:
+    variableGroups: ['timing','color']
+    variableNames: ['t_baseline','t_response','bci_loop_interval','selected_mode','max_length_vocabulary']
+    t: 1

+ 86 - 0
KIAP_BCI_neurofeedback/2019-07-04/paradigm_12_34_54.yaml

@@ -0,0 +1,86 @@
+
+# EXPLORATION
+exploration:
+  mode: ['Screening'] # Screening only
+  selected_mode: 0
+  # states: ['ruhe','ja','nein','kopf','fuss']
+  # states: ['Zunge', 'Schliesse_Hand', 'RechterDaumen', 'Oeffne_Hand', 'Fuss']
+  states: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+  # states: ['rechte_hand','linke_hand','rechter_daumen','linker_daumen','zunge','fuesse']
+  # states: ['SchliesseHand','BeugeRechtenMittelfinger', 'BeugeRechtenZeigefinger','BeugeRechtenDaumen','OeffneHand',
+  # 'StreckeRechtenMittelfinger','StreckeRechtenZeigefinger','StreckeRechtenDaumen']
+  selected_states: [0,1,2,3,4]
+  # selected_states: [0,1,2,3,4,5,6,7]
+  audio_path: '/kiap/data/speller/Audio/exploration'
+  number_of_stim:  2  # per state
+
+# QUESTION
+question:
+  mode: ['Training','Validation', 'Free'] # Training or Validation
+  selected_mode: 2
+  audio_path: '/kiap/data/speller/Audio/question'
+  number_of_stim: 10
+  symmetrical: True               # Same number of YES/NO stim 
+
+# FEEDBACK
+feedback:
+  mode: ['Training','Validation'] # Training or Validation
+  selected_mode: 0
+  audio_path: '/kiap/data/speller/feedback/'
+  number_of_stim: 20
+  symmetrical: True
+  states:   # states are defined as a map from name to an array consisting of the actual target
+            # and the lower and upper bounds of the acceptance interval
+    #baseline: [0.5, 0.4, 0.6]
+    up: [1.0, 0.7, 1.0]
+    down: [0.0, 0.0, 0.35]
+
+# TRAINING_COLOR
+training_color:
+  mode: ['Training'] # Training only
+  selected_mode: 0
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  training_string: 'FELIX'
+  confirmation_yes: 1
+  confirmation_no: 1
+
+# COLOR
+color:
+  mode: ['Validation','Free'] # Free or Validation
+  selected_mode: 1
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  max_length_vocabulary: 5
+  confirmation_methods: ['single','double_yes','best_of_three']
+  selected_confirmation_method: 0
+  # corpora_path: 'Corpora'
+  corpora_path: '/kiap/data/speller/Corpora'
+  audio_path: '/kiap/data/speller/Audio'
+  general_corpus: 'cfd_tiger.p'
+  # general_corpus: 'deu_mixed-typical_2011_1M-sentences.txt'
+  user_corpus: 'user.txt'
+  word_prediction: True
+  validation_string: 'GUSTAV.' # only for validation mode
+  
+# timing:
+#     t_baseline: 10                  # sec, trial baseline duration
+#     t_response: 1                  # sec, trial response duration
+#     decoder_refresh_interval: 0.01     # sec, for continuous decoding, the cycle time of the decoder
+#     bci_loop_interval: .05            # sec, step for bci thread loop
+#     recording_loop_interval: .05            # sec, step for bci thread loop
+
+variablesToShowInGUI:
+    variableGroups: ['timing','color']
+    variableNames: ['t_baseline','t_response','bci_loop_interval','selected_mode','max_length_vocabulary']
+    t: 1

+ 86 - 0
KIAP_BCI_neurofeedback/2019-07-04/paradigm_12_42_25.yaml

@@ -0,0 +1,86 @@
+
+# EXPLORATION
+exploration:
+  mode: ['Screening'] # Screening only
+  selected_mode: 0
+  # states: ['ruhe','ja','nein','kopf','fuss']
+  # states: ['Zunge', 'Schliesse_Hand', 'RechterDaumen', 'Oeffne_Hand', 'Fuss']
+  states: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+  # states: ['rechte_hand','linke_hand','rechter_daumen','linker_daumen','zunge','fuesse']
+  # states: ['SchliesseHand','BeugeRechtenMittelfinger', 'BeugeRechtenZeigefinger','BeugeRechtenDaumen','OeffneHand',
+  # 'StreckeRechtenMittelfinger','StreckeRechtenZeigefinger','StreckeRechtenDaumen']
+  selected_states: [0,1,2,3,4]
+  # selected_states: [0,1,2,3,4,5,6,7]
+  audio_path: '/kiap/data/speller/Audio/exploration'
+  number_of_stim:  2  # per state
+
+# QUESTION
+question:
+  mode: ['Training','Validation', 'Free'] # Training or Validation
+  selected_mode: 2
+  audio_path: '/kiap/data/speller/Audio/question'
+  number_of_stim: 10
+  symmetrical: True               # Same number of YES/NO stim 
+
+# FEEDBACK
+feedback:
+  mode: ['Training','Validation'] # Training or Validation
+  selected_mode: 0
+  audio_path: '/kiap/data/speller/feedback/'
+  number_of_stim: 20
+  symmetrical: True
+  states:   # states are defined as a map from name to an array consisting of the actual target
+            # and the lower and upper bounds of the acceptance interval
+    #baseline: [0.5, 0.4, 0.6]
+    up: [1.0, 0.7, 1.0]
+    down: [0.0, 0.0, 0.35]
+
+# TRAINING_COLOR
+training_color:
+  mode: ['Training'] # Training only
+  selected_mode: 0
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  training_string: 'FELIX'
+  confirmation_yes: 1
+  confirmation_no: 1
+
+# COLOR
+color:
+  mode: ['Validation','Free'] # Free or Validation
+  selected_mode: 1
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  max_length_vocabulary: 5
+  confirmation_methods: ['single','double_yes','best_of_three']
+  selected_confirmation_method: 0
+  # corpora_path: 'Corpora'
+  corpora_path: '/kiap/data/speller/Corpora'
+  audio_path: '/kiap/data/speller/Audio'
+  general_corpus: 'cfd_tiger.p'
+  # general_corpus: 'deu_mixed-typical_2011_1M-sentences.txt'
+  user_corpus: 'user.txt'
+  word_prediction: True
+  validation_string: 'GUSTAV.' # only for validation mode
+  
+# timing:
+#     t_baseline: 10                  # sec, trial baseline duration
+#     t_response: 1                  # sec, trial response duration
+#     decoder_refresh_interval: 0.01     # sec, for continuous decoding, the cycle time of the decoder
+#     bci_loop_interval: .05            # sec, step for bci thread loop
+#     recording_loop_interval: .05            # sec, step for bci thread loop
+
+variablesToShowInGUI:
+    variableGroups: ['timing','color']
+    variableNames: ['t_baseline','t_response','bci_loop_interval','selected_mode','max_length_vocabulary']
+    t: 1

+ 86 - 0
KIAP_BCI_neurofeedback/2019-07-04/paradigm_13_01_09.yaml

@@ -0,0 +1,86 @@
+
+# EXPLORATION
+exploration:
+  mode: ['Screening'] # Screening only
+  selected_mode: 0
+  # states: ['ruhe','ja','nein','kopf','fuss']
+  # states: ['Zunge', 'Schliesse_Hand', 'RechterDaumen', 'Oeffne_Hand', 'Fuss']
+  states: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+  # states: ['rechte_hand','linke_hand','rechter_daumen','linker_daumen','zunge','fuesse']
+  # states: ['SchliesseHand','BeugeRechtenMittelfinger', 'BeugeRechtenZeigefinger','BeugeRechtenDaumen','OeffneHand',
+  # 'StreckeRechtenMittelfinger','StreckeRechtenZeigefinger','StreckeRechtenDaumen']
+  selected_states: [0,1,2,3,4]
+  # selected_states: [0,1,2,3,4,5,6,7]
+  audio_path: '/kiap/data/speller/Audio/exploration'
+  number_of_stim:  2  # per state
+
+# QUESTION
+question:
+  mode: ['Training','Validation', 'Free'] # Training or Validation
+  selected_mode: 2
+  audio_path: '/kiap/data/speller/Audio/question'
+  number_of_stim: 10
+  symmetrical: True               # Same number of YES/NO stim 
+
+# FEEDBACK
+feedback:
+  mode: ['Training','Validation'] # Training or Validation
+  selected_mode: 0
+  audio_path: '/kiap/data/speller/feedback/'
+  number_of_stim: 8
+  symmetrical: True
+  states:   # states are defined as a map from name to an array consisting of the actual target
+            # and the lower and upper bounds of the acceptance interval
+    #baseline: [0.5, 0.4, 0.6]
+    up: [1.0, 0.7, 1.0]
+    down: [0.0, 0.0, 0.35]
+
+# TRAINING_COLOR
+training_color:
+  mode: ['Training'] # Training only
+  selected_mode: 0
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  training_string: 'FELIX'
+  confirmation_yes: 1
+  confirmation_no: 1
+
+# COLOR
+color:
+  mode: ['Validation','Free'] # Free or Validation
+  selected_mode: 1
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  max_length_vocabulary: 5
+  confirmation_methods: ['single','double_yes','best_of_three']
+  selected_confirmation_method: 0
+  # corpora_path: 'Corpora'
+  corpora_path: '/kiap/data/speller/Corpora'
+  audio_path: '/kiap/data/speller/Audio'
+  general_corpus: 'cfd_tiger.p'
+  # general_corpus: 'deu_mixed-typical_2011_1M-sentences.txt'
+  user_corpus: 'user.txt'
+  word_prediction: True
+  validation_string: 'GUSTAV.' # only for validation mode
+  
+# timing:
+#     t_baseline: 10                  # sec, trial baseline duration
+#     t_response: 1                  # sec, trial response duration
+#     decoder_refresh_interval: 0.01     # sec, for continuous decoding, the cycle time of the decoder
+#     bci_loop_interval: .05            # sec, step for bci thread loop
+#     recording_loop_interval: .05            # sec, step for bci thread loop
+
+variablesToShowInGUI:
+    variableGroups: ['timing','color']
+    variableNames: ['t_baseline','t_response','bci_loop_interval','selected_mode','max_length_vocabulary']
+    t: 1

+ 86 - 0
KIAP_BCI_neurofeedback/2019-07-04/paradigm_13_06_20.yaml

@@ -0,0 +1,86 @@
+
+# EXPLORATION
+exploration:
+  mode: ['Screening'] # Screening only
+  selected_mode: 0
+  # states: ['ruhe','ja','nein','kopf','fuss']
+  # states: ['Zunge', 'Schliesse_Hand', 'RechterDaumen', 'Oeffne_Hand', 'Fuss']
+  states: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+  # states: ['rechte_hand','linke_hand','rechter_daumen','linker_daumen','zunge','fuesse']
+  # states: ['SchliesseHand','BeugeRechtenMittelfinger', 'BeugeRechtenZeigefinger','BeugeRechtenDaumen','OeffneHand',
+  # 'StreckeRechtenMittelfinger','StreckeRechtenZeigefinger','StreckeRechtenDaumen']
+  selected_states: [0,1,2,3,4]
+  # selected_states: [0,1,2,3,4,5,6,7]
+  audio_path: '/kiap/data/speller/Audio/exploration'
+  number_of_stim:  2  # per state
+
+# QUESTION
+question:
+  mode: ['Training','Validation', 'Free'] # Training or Validation
+  selected_mode: 2
+  audio_path: '/kiap/data/speller/Audio/question'
+  number_of_stim: 10
+  symmetrical: True               # Same number of YES/NO stim 
+
+# FEEDBACK
+feedback:
+  mode: ['Training','Validation'] # Training or Validation
+  selected_mode: 0
+  audio_path: '/kiap/data/speller/feedback/'
+  number_of_stim: 8
+  symmetrical: True
+  states:   # states are defined as a map from name to an array consisting of the actual target
+            # and the lower and upper bounds of the acceptance interval
+    #baseline: [0.5, 0.4, 0.6]
+    up: [1.0, 0.7, 1.0]
+    down: [0.0, 0.0, 0.35]
+
+# TRAINING_COLOR
+training_color:
+  mode: ['Training'] # Training only
+  selected_mode: 0
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  training_string: 'FELIX'
+  confirmation_yes: 1
+  confirmation_no: 1
+
+# COLOR
+color:
+  mode: ['Validation','Free'] # Free or Validation
+  selected_mode: 1
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  max_length_vocabulary: 5
+  confirmation_methods: ['single','double_yes','best_of_three']
+  selected_confirmation_method: 0
+  # corpora_path: 'Corpora'
+  corpora_path: '/kiap/data/speller/Corpora'
+  audio_path: '/kiap/data/speller/Audio'
+  general_corpus: 'cfd_tiger.p'
+  # general_corpus: 'deu_mixed-typical_2011_1M-sentences.txt'
+  user_corpus: 'user.txt'
+  word_prediction: True
+  validation_string: 'GUSTAV.' # only for validation mode
+  
+# timing:
+#     t_baseline: 10                  # sec, trial baseline duration
+#     t_response: 1                  # sec, trial response duration
+#     decoder_refresh_interval: 0.01     # sec, for continuous decoding, the cycle time of the decoder
+#     bci_loop_interval: .05            # sec, step for bci thread loop
+#     recording_loop_interval: .05            # sec, step for bci thread loop
+
+variablesToShowInGUI:
+    variableGroups: ['timing','color']
+    variableNames: ['t_baseline','t_response','bci_loop_interval','selected_mode','max_length_vocabulary']
+    t: 1

+ 86 - 0
KIAP_BCI_neurofeedback/2019-07-04/paradigm_13_47_11.yaml

@@ -0,0 +1,86 @@
+
+# EXPLORATION
+exploration:
+  mode: ['Screening'] # Screening only
+  selected_mode: 0
+  # states: ['ruhe','ja','nein','kopf','fuss']
+  # states: ['Zunge', 'Schliesse_Hand', 'RechterDaumen', 'Oeffne_Hand', 'Fuss']
+  states: ['Zunge', 'Schliesse_Hand', 'Oeffne_Hand', 'Bewege_Augen', 'Bewege_Kopf']
+  # states: ['rechte_hand','linke_hand','rechter_daumen','linker_daumen','zunge','fuesse']
+  # states: ['SchliesseHand','BeugeRechtenMittelfinger', 'BeugeRechtenZeigefinger','BeugeRechtenDaumen','OeffneHand',
+  # 'StreckeRechtenMittelfinger','StreckeRechtenZeigefinger','StreckeRechtenDaumen']
+  selected_states: [0,1,2,3,4]
+  # selected_states: [0,1,2,3,4,5,6,7]
+  audio_path: '/kiap/data/speller/Audio/exploration'
+  number_of_stim:  2  # per state
+
+# QUESTION
+question:
+  mode: ['Training','Validation', 'Free'] # Training or Validation
+  selected_mode: 2
+  audio_path: '/kiap/data/speller/Audio/question'
+  number_of_stim: 10
+  symmetrical: True               # Same number of YES/NO stim 
+
+# FEEDBACK
+feedback:
+  mode: ['Training','Validation'] # Training or Validation
+  selected_mode: 0
+  audio_path: '/kiap/data/speller/feedback/'
+  number_of_stim: 8
+  symmetrical: True
+  states:   # states are defined as a map from name to an array consisting of the actual target
+            # and the lower and upper bounds of the acceptance interval
+    #baseline: [0.5, 0.4, 0.6]
+    up: [1.0, 0.7, 1.0]
+    down: [0.0, 0.0, 0.35]
+
+# TRAINING_COLOR
+training_color:
+  mode: ['Training'] # Training only
+  selected_mode: 0
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  training_string: 'FELIX'
+  confirmation_yes: 1
+  confirmation_no: 1
+
+# COLOR
+color:
+  mode: ['Validation','Free'] # Free or Validation
+  selected_mode: 1
+  states: [
+          ['gelb', ['E', 'A', 'D', 'C', 'B', 'F', '^']],
+          ['gruen',['N', 'S', 'R', 'O', 'M', 'P', 'Q', '^']],
+          ['rot',['I', 'H', 'L', 'G', 'K', 'J', '^']],
+          ['blau',['T', 'U', 'W', 'Z', 'V', 'Y', 'X', '^']],
+          ['weiss',['<', ' ', '?', 'word', 'end', '^']]
+          ]
+  max_length_vocabulary: 5
+  confirmation_methods: ['single','double_yes','best_of_three']
+  selected_confirmation_method: 0
+  # corpora_path: 'Corpora'
+  corpora_path: '/kiap/data/speller/Corpora'
+  audio_path: '/kiap/data/speller/Audio'
+  general_corpus: 'cfd_tiger.p'
+  # general_corpus: 'deu_mixed-typical_2011_1M-sentences.txt'
+  user_corpus: 'user.txt'
+  word_prediction: True
+  validation_string: 'GUSTAV.' # only for validation mode
+  
+# timing:
+#     t_baseline: 10                  # sec, trial baseline duration
+#     t_response: 1                  # sec, trial response duration
+#     decoder_refresh_interval: 0.01     # sec, for continuous decoding, the cycle time of the decoder
+#     bci_loop_interval: .05            # sec, step for bci thread loop
+#     recording_loop_interval: .05            # sec, step for bci thread loop
+
+variablesToShowInGUI:
+    variableGroups: ['timing','color']
+    variableNames: ['t_baseline','t_response','bci_loop_interval','selected_mode','max_length_vocabulary']
+    t: 1

+ 195 - 0
KIAP_BCI_neurofeedback/2019-07-05/config_dump_12_41_30.yaml

@@ -0,0 +1,195 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 97, bottom: 5.0, top: 10.0, invert: false}
+    - !munch.Munch {id: 99, bottom: 5.0, top: 15.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.75, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-05, filename_data: /data/clinical/neural/fr/2019-07-05/data_12_41_30.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-05/bl_12_41_29.npy, filename_log_info: /data/clinical/neural/fr/2019-07-05/info_12_41_30.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-05/debug_12_41_29.log, filename_events: /data/clinical/neural/fr/2019-07-05/events_12_41_30.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-05/config_12_41_29.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-05/paradigm_12_41_29.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-05/config_dump_12_41_30.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-05/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: false, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 3}
+plot: !munch.Munch
+  channels: [24, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 197 - 0
KIAP_BCI_neurofeedback/2019-07-05/config_dump_13_18_14.yaml

@@ -0,0 +1,197 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 2.0, top: 10.0, invert: true}
+    - !munch.Munch {id: 24, bottom: 9.0, top: 30.0, invert: true}
+    - !munch.Munch {id: 97, bottom: 1.0, top: 6.0, invert: false}
+    - !munch.Munch {id: 99, bottom: 3.0, top: 18.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-05, filename_data: /data/clinical/neural/fr/2019-07-05/data_13_18_14.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-05/bl_13_18_14.npy, filename_log_info: /data/clinical/neural/fr/2019-07-05/info_13_18_14.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-05/debug_13_18_14.log, filename_events: /data/clinical/neural/fr/2019-07-05/events_13_18_14.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-05/config_13_18_14.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-05/paradigm_13_18_14.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-05/config_dump_13_18_14.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-05/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 3}
+plot: !munch.Munch
+  channels: [17, 24, 97, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 197 - 0
KIAP_BCI_neurofeedback/2019-07-05/config_dump_13_59_43.yaml

@@ -0,0 +1,197 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 2.0, top: 10.0, invert: true}
+    - !munch.Munch {id: 24, bottom: 9.0, top: 30.0, invert: true}
+    - !munch.Munch {id: 97, bottom: 1.0, top: 6.0, invert: false}
+    - !munch.Munch {id: 99, bottom: 3.0, top: 18.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-05, filename_data: /data/clinical/neural/fr/2019-07-05/data_13_59_43.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-05/bl_13_59_42.npy, filename_log_info: /data/clinical/neural/fr/2019-07-05/info_13_59_43.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-05/debug_13_59_42.log, filename_events: /data/clinical/neural/fr/2019-07-05/events_13_59_43.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-05/config_13_59_42.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-05/paradigm_13_59_42.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-05/config_dump_13_59_43.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-05/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [17, 24, 97, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 195 - 0
KIAP_BCI_neurofeedback/2019-07-05/config_dump_14_34_43.yaml

@@ -0,0 +1,195 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 24, bottom: 6.0, top: 30.0, invert: true}
+    - !munch.Munch {id: 99, bottom: 2.0, top: 19.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-05, filename_data: /data/clinical/neural/fr/2019-07-05/data_14_34_43.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-05/bl_14_34_43.npy, filename_log_info: /data/clinical/neural/fr/2019-07-05/info_14_34_43.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-05/debug_14_34_43.log, filename_events: /data/clinical/neural/fr/2019-07-05/events_14_34_43.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-05/config_14_34_43.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-05/paradigm_14_34_43.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-05/config_dump_14_34_43.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-05/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [24, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 7
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-10/config_dump_19_25_37.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 24, bottom: 4.0, top: 20.0, invert: true}
+    - !munch.Munch {id: 99, bottom: 2.0, top: 15.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-10, filename_data: /data/clinical/neural/fr/2019-07-10/data_19_25_37.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-10/bl_19_25_36.npy, filename_log_info: /data/clinical/neural/fr/2019-07-10/info_19_25_37.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-10/debug_19_25_36.log, filename_events: /data/clinical/neural/fr/2019-07-10/events_19_25_37.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-10/config_19_25_36.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-10/paradigm_19_25_36.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-10/config_dump_19_25_36.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-10/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: false, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [24, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-10/config_dump_19_33_25.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 12, bottom: 1.0, top: 13.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-10, filename_data: /data/clinical/neural/fr/2019-07-10/data_19_33_25.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-10/bl_19_33_24.npy, filename_log_info: /data/clinical/neural/fr/2019-07-10/info_19_33_25.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-10/debug_19_33_24.log, filename_events: /data/clinical/neural/fr/2019-07-10/events_19_33_25.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-10/config_19_33_24.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-10/paradigm_19_33_24.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-10/config_dump_19_33_25.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-10/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [24, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-10/config_dump_19_45_05.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 20.0, top: 28.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-10, filename_data: /data/clinical/neural/fr/2019-07-10/data_19_45_05.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-10/bl_19_45_04.npy, filename_log_info: /data/clinical/neural/fr/2019-07-10/info_19_45_05.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-10/debug_19_45_04.log, filename_events: /data/clinical/neural/fr/2019-07-10/events_19_45_05.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-10/config_19_45_04.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-10/paradigm_19_45_04.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-10/config_dump_19_45_04.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-10/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [24, 99]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-10/config_dump_19_59_22.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 20.0, top: 28.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-10, filename_data: /data/clinical/neural/fr/2019-07-10/data_19_59_22.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-10/bl_19_59_21.npy, filename_log_info: /data/clinical/neural/fr/2019-07-10/info_19_59_22.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-10/debug_19_59_21.log, filename_events: /data/clinical/neural/fr/2019-07-10/events_19_59_22.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-10/config_19_59_21.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-10/paradigm_19_59_21.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-10/config_dump_19_59_21.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-10/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-10/config_dump_20_07_33.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 12, bottom: 4.0, top: 12.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-10, filename_data: /data/clinical/neural/fr/2019-07-10/data_20_07_33.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-10/bl_20_07_33.npy, filename_log_info: /data/clinical/neural/fr/2019-07-10/info_20_07_33.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-10/debug_20_07_33.log, filename_events: /data/clinical/neural/fr/2019-07-10/events_20_07_33.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-10/config_20_07_33.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-10/paradigm_20_07_33.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-10/config_dump_20_07_33.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-10/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-10/config_dump_20_38_35.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 12, bottom: 3.0, top: 7.0, invert: false}
+    - !munch.Munch {id: 20, bottom: 21.0, top: 28.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-10, filename_data: /data/clinical/neural/fr/2019-07-10/data_20_38_35.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-10/bl_20_38_35.npy, filename_log_info: /data/clinical/neural/fr/2019-07-10/info_20_38_35.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-10/debug_20_38_35.log, filename_events: /data/clinical/neural/fr/2019-07-10/events_20_38_35.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-10/config_20_38_35.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-10/paradigm_20_38_35.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-10/config_dump_20_38_35.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-10/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-10/config_dump_20_47_07.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 14, bottom: 25.0, top: 40.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 19.0, top: 27.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-10, filename_data: /data/clinical/neural/fr/2019-07-10/data_20_47_07.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-10/bl_20_47_05.npy, filename_log_info: /data/clinical/neural/fr/2019-07-10/info_20_47_07.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-10/debug_20_47_05.log, filename_events: /data/clinical/neural/fr/2019-07-10/events_20_47_07.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-10/config_20_47_05.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-10/paradigm_20_47_05.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-10/config_dump_20_47_05.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-10/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-11/config_dump_12_34_31.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 11.0, top: 28.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-11, filename_data: /data/clinical/neural/fr/2019-07-11/data_12_34_31.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-11/bl_12_34_30.npy, filename_log_info: /data/clinical/neural/fr/2019-07-11/info_12_34_31.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-11/debug_12_34_30.log, filename_events: /data/clinical/neural/fr/2019-07-11/events_12_34_31.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-11/config_12_34_30.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-11/paradigm_12_34_30.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-11/config_dump_12_34_30.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-11/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: false, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 19]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-11/config_dump_12_46_48.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 2.0, top: 15.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-11, filename_data: /data/clinical/neural/fr/2019-07-11/data_12_46_48.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-11/bl_12_46_48.npy, filename_log_info: /data/clinical/neural/fr/2019-07-11/info_12_46_48.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-11/debug_12_46_48.log, filename_events: /data/clinical/neural/fr/2019-07-11/events_12_46_48.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-11/config_12_46_48.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-11/paradigm_12_46_48.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-11/config_dump_12_46_48.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-11/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-11/config_dump_13_44_59.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 29, bottom: 5.0, top: 13.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-11, filename_data: /data/clinical/neural/fr/2019-07-11/data_13_44_59.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-11/bl_13_44_58.npy, filename_log_info: /data/clinical/neural/fr/2019-07-11/info_13_44_59.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-11/debug_13_44_58.log, filename_events: /data/clinical/neural/fr/2019-07-11/events_13_44_59.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-11/config_13_44_58.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-11/paradigm_13_44_58.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-11/config_dump_13_44_58.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-11/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 20
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-11/config_dump_14_02_20.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 7.0, top: 11.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 15.0, top: 21.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-11, filename_data: /data/clinical/neural/fr/2019-07-11/data_14_02_20.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-11/bl_14_02_19.npy, filename_log_info: /data/clinical/neural/fr/2019-07-11/info_14_02_20.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-11/debug_14_02_19.log, filename_events: /data/clinical/neural/fr/2019-07-11/events_14_02_20.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-11/config_14_02_19.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-11/paradigm_14_02_19.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-11/config_dump_14_02_19.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-11/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [29, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 193 - 0
KIAP_BCI_neurofeedback/2019-07-11/config_dump_15_00_34.yaml

@@ -0,0 +1,193 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 11.0, top: 30.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-11, filename_data: /data/clinical/neural/fr/2019-07-11/data_15_00_34.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-11/bl_15_00_33.npy, filename_log_info: /data/clinical/neural/fr/2019-07-11/info_15_00_34.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-11/debug_15_00_33.log, filename_events: /data/clinical/neural/fr/2019-07-11/events_15_00_34.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-11/config_15_00_33.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-11/paradigm_15_00_33.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-11/config_dump_15_00_33.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-11/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: false, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-11/config_dump_15_09_15.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 1.0, top: 7.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 12.0, top: 22.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-11, filename_data: /data/clinical/neural/fr/2019-07-11/data_15_09_15.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-11/bl_15_09_14.npy, filename_log_info: /data/clinical/neural/fr/2019-07-11/info_15_09_15.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-11/debug_15_09_14.log, filename_events: /data/clinical/neural/fr/2019-07-11/events_15_09_15.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-11/config_15_09_14.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-11/paradigm_15_09_14.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-11/config_dump_15_09_14.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-11/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-11/config_dump_16_46_56.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 1.0, top: 5.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 12.0, top: 22.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-11, filename_data: /data/clinical/neural/fr/2019-07-11/data_16_46_56.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-11/bl_16_46_55.npy, filename_log_info: /data/clinical/neural/fr/2019-07-11/info_16_46_56.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-11/debug_16_46_55.log, filename_events: /data/clinical/neural/fr/2019-07-11/events_16_46_56.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-11/config_16_46_55.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-11/paradigm_16_46_55.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-11/config_dump_16_46_55.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-11/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-11/config_dump_17_15_04.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 2.0, top: 7.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 12.0, top: 22.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 3.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-11, filename_data: /data/clinical/neural/fr/2019-07-11/data_17_15_04.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-11/bl_17_15_03.npy, filename_log_info: /data/clinical/neural/fr/2019-07-11/info_17_15_04.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-11/debug_17_15_03.log, filename_events: /data/clinical/neural/fr/2019-07-11/events_17_15_04.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-11/config_17_15_03.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-11/paradigm_17_15_03.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-11/config_dump_17_15_03.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-11/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+    selected_states: [0, 1, 2, 3, 4]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 20
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 195 - 0
KIAP_BCI_neurofeedback/2019-07-12/config_dump_12_56_27.yaml

@@ -0,0 +1,195 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 2.0, top: 7.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 12.0, top: 22.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-12, filename_data: /data/clinical/neural/fr/2019-07-12/data_12_56_27.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-12/bl_12_56_25.npy, filename_log_info: /data/clinical/neural/fr/2019-07-12/info_12_56_27.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-12/debug_12_56_25.log, filename_events: /data/clinical/neural/fr/2019-07-12/events_12_56_27.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-12/config_12_56_25.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-12/paradigm_12_56_25.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-12/config_dump_12_56_25.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-12/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: false, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 195 - 0
KIAP_BCI_neurofeedback/2019-07-12/config_dump_13_05_03.yaml

@@ -0,0 +1,195 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 2.0, top: 7.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 15.0, top: 24.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-12, filename_data: /data/clinical/neural/fr/2019-07-12/data_13_05_03.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-12/bl_13_05_03.npy, filename_log_info: /data/clinical/neural/fr/2019-07-12/info_13_05_03.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-12/debug_13_05_03.log, filename_events: /data/clinical/neural/fr/2019-07-12/events_13_05_03.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-12/config_13_05_03.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-12/paradigm_13_05_03.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-12/config_dump_13_05_03.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-12/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 195 - 0
KIAP_BCI_neurofeedback/2019-07-12/config_dump_13_14_37.yaml

@@ -0,0 +1,195 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 2.0, top: 5.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 15.0, top: 24.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-12, filename_data: /data/clinical/neural/fr/2019-07-12/data_13_14_37.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-12/bl_13_14_36.npy, filename_log_info: /data/clinical/neural/fr/2019-07-12/info_13_14_37.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-12/debug_13_14_36.log, filename_events: /data/clinical/neural/fr/2019-07-12/events_13_14_37.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-12/config_13_14_36.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-12/paradigm_13_14_36.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-12/config_dump_13_14_36.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-12/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-12/config_dump_13_57_38.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 17, bottom: 2.0, top: 9.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-12, filename_data: /data/clinical/neural/fr/2019-07-12/data_13_57_38.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-12/bl_13_57_37.npy, filename_log_info: /data/clinical/neural/fr/2019-07-12/info_13_57_38.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-12/debug_13_57_37.log, filename_events: /data/clinical/neural/fr/2019-07-12/events_13_57_38.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-12/config_13_57_37.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-12/paradigm_13_57_37.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-12/config_dump_13_57_37.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-12/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-19/config_dump_15_39_52.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 2.0, top: 17.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-19, filename_data: /data/clinical/neural/fr/2019-07-19/data_15_39_52.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-19/bl_15_39_52.npy, filename_log_info: /data/clinical/neural/fr/2019-07-19/info_15_39_52.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-19/debug_15_39_52.log, filename_events: /data/clinical/neural/fr/2019-07-19/events_15_39_52.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-19/config_15_39_52.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-19/paradigm_15_39_52.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-19/config_dump_15_39_52.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-19/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: false, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ICH
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-19/config_dump_15_48_25.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 7.0, top: 12.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-19, filename_data: /data/clinical/neural/fr/2019-07-19/data_15_48_25.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-19/bl_15_48_24.npy, filename_log_info: /data/clinical/neural/fr/2019-07-19/info_15_48_25.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-19/debug_15_48_24.log, filename_events: /data/clinical/neural/fr/2019-07-19/events_15_48_25.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-19/config_15_48_24.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-19/paradigm_15_48_24.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-19/config_dump_15_48_24.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-19/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ICH
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 195 - 0
KIAP_BCI_neurofeedback/2019-07-19/config_dump_15_57_31.yaml

@@ -0,0 +1,195 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 16, bottom: 1.0, top: 5.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 4.0, top: 10.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-19, filename_data: /data/clinical/neural/fr/2019-07-19/data_15_57_31.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-19/bl_15_57_30.npy, filename_log_info: /data/clinical/neural/fr/2019-07-19/info_15_57_31.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-19/debug_15_57_30.log, filename_events: /data/clinical/neural/fr/2019-07-19/events_15_57_31.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-19/config_15_57_30.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-19/paradigm_15_57_30.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-19/config_dump_15_57_30.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-19/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ICH
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-19/config_dump_16_03_55.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 4.0, top: 10.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-19, filename_data: /data/clinical/neural/fr/2019-07-19/data_16_03_55.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-19/bl_16_03_53.npy, filename_log_info: /data/clinical/neural/fr/2019-07-19/info_16_03_55.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-19/debug_16_03_53.log, filename_events: /data/clinical/neural/fr/2019-07-19/events_16_03_55.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-19/config_16_03_53.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-19/paradigm_16_03_53.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-19/config_dump_16_03_53.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-19/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ICH
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-19/config_dump_16_27_53.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 2.0, top: 11.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-19, filename_data: /data/clinical/neural/fr/2019-07-19/data_16_27_53.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-19/bl_16_27_52.npy, filename_log_info: /data/clinical/neural/fr/2019-07-19/info_16_27_53.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-19/debug_16_27_52.log, filename_events: /data/clinical/neural/fr/2019-07-19/events_16_27_53.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-19/config_16_27_52.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-19/paradigm_16_27_52.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-19/config_dump_16_27_52.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-19/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ICH
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-19/config_dump_17_08_15.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 4.0, top: 11.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-19, filename_data: /data/clinical/neural/fr/2019-07-19/data_17_08_15.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-19/bl_17_08_14.npy, filename_log_info: /data/clinical/neural/fr/2019-07-19/info_17_08_15.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-19/debug_17_08_14.log, filename_events: /data/clinical/neural/fr/2019-07-19/events_17_08_15.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-19/config_17_08_14.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-19/paradigm_17_08_14.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-19/config_dump_17_08_14.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-19/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20, 17]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 194 - 0
KIAP_BCI_neurofeedback/2019-07-19/config_dump_17_23_37.yaml

@@ -0,0 +1,194 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 4.0, top: 11.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.5, t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, git_hash: a4d24ca,
+  datafile_path: /data/clinical/neural/fr/2019-07-19, filename_data: /data/clinical/neural/fr/2019-07-19/data_17_23_37.bin,
+  filename_baseline: /data/clinical/neural/fr/2019-07-19/bl_17_23_37.npy, filename_log_info: /data/clinical/neural/fr/2019-07-19/info_17_23_37.log,
+  filename_log_debug: /data/clinical/neural/fr/2019-07-19/debug_17_23_37.log, filename_events: /data/clinical/neural/fr/2019-07-19/events_17_23_37.txt,
+  filename_config: /data/clinical/neural/fr/2019-07-19/config_17_23_37.yaml, filename_paradigm: /data/clinical/neural/fr/2019-07-19/paradigm_17_23_37.yaml,
+  filename_config_dump: /data/clinical/neural/fr/2019-07-19/config_dump_17_23_37.yaml,
+  filename_history: /data/clinical/neural/fr/2019-07-19/history.bin}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, reward_on_target: true, target_n_tones: 5, reward_sound: /kiap/data/speller/feedback/kerching.wav,
+  hold_iterations: 2}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 5
+    symmetrical: true
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    user_corpus: user.txt
+    word_prediction: true
+    validation_string: LENA.
+    init_string: ''
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-20/config_dump_16_33_50.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 3.0, top: 22.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+supplemental_config: [config/feedback_wo_reward.yaml]
+plot: !munch.Munch
+  channels: [97, 99]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: false, bl: true, stimulus: true, decode: false}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-20,
+  filename_data: /data/clinical/neural/fr/2019-07-20/data_16_33_50.bin, filename_baseline: /data/clinical/neural/fr/2019-07-20/bl_16_33_50.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-20/info_16_33_50.log, filename_log_debug: /data/clinical/neural/fr/2019-07-20/debug_16_33_50.log,
+  filename_events: /data/clinical/neural/fr/2019-07-20/events_16_33_50.txt, filename_config: /data/clinical/neural/fr/2019-07-20/config_16_33_50.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-20/paradigm_16_33_50.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-20/config_dump_16_33_50.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-20/git_changes_16_33_50.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-20/history.bin, git_hash: e6a266c}
+sim_data: !munch.Munch {rate_bl: 10}
+feedback: !munch.Munch {target_n_tones: 5, beta: 120, feedback_tone: true, hold_iterations: 2,
+  tone_length: 0.25, target_tone_length: 1.0, alpha: 360}
+paradigms: !munch.Munch
+  feedback: !munch.Munch
+    selected_mode: 0
+    mode: [Training, Validation]
+    audio_path: /kiap/data/speller/feedback/
+    symmetrical: true
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    number_of_stim: 10
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    play_end_feedback: !munch.Munch {success: false, fail: false}
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+classifier: !munch.Munch
+  n_triggers: 2
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  max_active_ch_nr: []
+  trigger_pos: start
+  thr_prob: 0.8
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  break_loop: true
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  online: false
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_neg_train: 100000
+  exclude_data_channels: []
+  thr_window: 40
+  psth: !munch.Munch
+    cut: [-40, 100]
+  deadtime: 40
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+speller: !munch.Munch {audio_result_fb: false, type: feedback, audio: true, pyttsx_rate: 100}
+recording: !munch.Munch
+  timing: !munch.Munch {bci_loop_interval: 0.05, recording_loop_interval: 0.05, t_response: 3.0,
+    decoder_refresh_interval: 0.01, recording_loop_interval_data: 0.02, t_baseline_all: 1.0,
+    t_after_stimulus: 0.0, t_baseline_1: 2.0, t_baseline_rand: 1.0}

+ 201 - 0
KIAP_BCI_neurofeedback/2019-07-20/config_dump_16_50_48.yaml

@@ -0,0 +1,201 @@
+!munch.Munch
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+speller: !munch.Munch {pyttsx_rate: 100, audio_result_fb: false, audio: true, type: feedback}
+feedback: !munch.Munch {beta: 120, hold_iterations: 2, target_tone_length: 1.0, tone_length: 0.25,
+  alpha: 360, target_n_tones: 5, feedback_tone: true}
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  feedback: !munch.Munch
+    play_end_feedback: !munch.Munch {success: true, fail: false}
+    mode: [Training, Validation]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    audio_path: /kiap/data/speller/feedback/
+    selected_mode: 1
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    number_of_stim: 10
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-20,
+  filename_data: /data/clinical/neural/fr/2019-07-20/data_16_50_48.bin, filename_baseline: /data/clinical/neural/fr/2019-07-20/bl_16_50_47.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-20/info_16_50_48.log, filename_log_debug: /data/clinical/neural/fr/2019-07-20/debug_16_50_47.log,
+  filename_events: /data/clinical/neural/fr/2019-07-20/events_16_50_48.txt, filename_config: /data/clinical/neural/fr/2019-07-20/config_16_50_47.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-20/paradigm_16_50_47.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-20/config_dump_16_50_47.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-20/git_changes_16_50_47.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-20/history.bin, git_hash: e6a266c}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, decode: false, bl: true, bl_rand: true}
+plot: !munch.Munch
+  channels: [97, 99]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+supplemental_config: [config/feedback.yaml]
+system: !munch.Munch {plot: 0}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 13, bottom: 4.0, top: 10.0, invert: false}
+    - !munch.Munch {id: 14, bottom: 1.0, top: 4.0, invert: false}
+    - !munch.Munch {id: 20, bottom: 3.0, top: 6.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval: 0.05, t_response: 5.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, t_baseline_1: 5.0, recording_loop_interval_data: 0.02,
+    decoder_refresh_interval: 0.01, bci_loop_interval: 0.05, t_baseline_all: 1.0}
+sim_data: !munch.Munch {rate_bl: 10}
+classifier: !munch.Munch
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_classes: 2
+  psth: !munch.Munch
+    cut: [-40, 100]
+  break_loop: true
+  trigger_pos: start
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  include_channels: [20]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  thr_prob: 0.8
+  max_active_ch_nr: []
+  n_triggers: 2
+  deadtime: 40
+  online: false
+  thr_window: 40
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==

+ 200 - 0
KIAP_BCI_neurofeedback/2019-07-20/config_dump_16_57_37.yaml

@@ -0,0 +1,200 @@
+!munch.Munch
+recording: !munch.Munch
+  timing: !munch.Munch {bci_loop_interval: 0.05, t_after_stimulus: 0.0, recording_loop_interval: 0.05,
+    t_baseline_1: 5.0, recording_loop_interval_data: 0.02, t_response: 5.0, decoder_refresh_interval: 0.01,
+    t_baseline_rand: 1.0, t_baseline_all: 1.0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    symmetrical: true
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    number_of_stim: 10
+    mode: [Training, Validation]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/feedback/
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    play_end_feedback: !munch.Munch {success: true, fail: false}
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+supplemental_config: [config/feedback.yaml]
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+system: !munch.Munch {plot: 0}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+feedback: !munch.Munch {hold_iterations: 2, feedback_tone: true, target_n_tones: 5,
+  beta: 120, alpha: 360, target_tone_length: 1.0, tone_length: 0.25}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 14, bottom: 2.0, top: 5.0, invert: true}
+    - !munch.Munch {id: 20, bottom: 6.0, top: 11.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+sim_data: !munch.Munch {rate_bl: 10}
+plot: !munch.Munch
+  channels: [97, 99]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+speller: !munch.Munch {type: feedback, audio_result_fb: false, audio: true, pyttsx_rate: 100}
+classifier: !munch.Munch
+  include_channels: [20]
+  n_neg_train: 100000
+  psth: !munch.Munch
+    cut: [-40, 100]
+  thr_window: 40
+  thr_prob: 0.8
+  online: false
+  exclude_data_channels: []
+  n_classes: 2
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  max_active_ch_nr: []
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  deadtime: 40
+  trigger_pos: start
+  n_triggers: 2
+  break_loop: true
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, decode: false, bl_rand: true, bl: true}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-20,
+  filename_data: /data/clinical/neural/fr/2019-07-20/data_16_57_37.bin, filename_baseline: /data/clinical/neural/fr/2019-07-20/bl_16_57_36.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-20/info_16_57_37.log, filename_log_debug: /data/clinical/neural/fr/2019-07-20/debug_16_57_36.log,
+  filename_events: /data/clinical/neural/fr/2019-07-20/events_16_57_37.txt, filename_config: /data/clinical/neural/fr/2019-07-20/config_16_57_36.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-20/paradigm_16_57_36.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-20/config_dump_16_57_36.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-20/git_changes_16_57_36.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-20/history.bin, git_hash: e6a266c}

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-20/config_dump_17_35_07.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+classifier: !munch.Munch
+  trigger_pos: start
+  thr_window: 40
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  psth: !munch.Munch
+    cut: [-40, 100]
+  include_channels: [20]
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  online: false
+  n_triggers: 2
+  n_classes: 2
+  deadtime: 40
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  max_active_ch_nr: []
+  break_loop: true
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  thr_prob: 0.8
+  n_neg_train: 100000
+  exclude_data_channels: []
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+system: !munch.Munch {plot: 0}
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, bl_rand: true, bl: true, decode: false}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+plot: !munch.Munch
+  channels: [14, 20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+sim_data: !munch.Munch {rate_bl: 10}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.0, top: 12.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    audio_path: /kiap/data/speller/feedback/
+    selected_mode: 1
+    play_end_feedback: !munch.Munch {success: true, fail: false}
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    symmetrical: true
+    number_of_stim: 10
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval_data: 0.02, t_baseline_all: 1.0, recording_loop_interval: 0.05,
+    t_baseline_rand: 1.0, bci_loop_interval: 0.05, t_baseline_1: 5.0, decoder_refresh_interval: 0.01,
+    t_after_stimulus: 0.0, t_response: 5.0}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+supplemental_config: [config/feedback.yaml]
+feedback: !munch.Munch {tone_length: 0.25, hold_iterations: 2, beta: 120, feedback_tone: true,
+  target_n_tones: 5, alpha: 360, target_tone_length: 1.0}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-20,
+  filename_data: /data/clinical/neural/fr/2019-07-20/data_17_35_07.bin, filename_baseline: /data/clinical/neural/fr/2019-07-20/bl_17_35_07.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-20/info_17_35_07.log, filename_log_debug: /data/clinical/neural/fr/2019-07-20/debug_17_35_07.log,
+  filename_events: /data/clinical/neural/fr/2019-07-20/events_17_35_07.txt, filename_config: /data/clinical/neural/fr/2019-07-20/config_17_35_07.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-20/paradigm_17_35_07.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-20/config_dump_17_35_07.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-20/git_changes_17_35_07.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-20/history.bin, git_hash: e6a266c}
+speller: !munch.Munch {audio_result_fb: true, pyttsx_rate: 100, audio: true, type: feedback}

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-21/config_dump_16_34_52.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval_data: 0.02, decoder_refresh_interval: 0.01,
+    bci_loop_interval: 0.05, recording_loop_interval: 0.05, t_response: 5.0, t_after_stimulus: 0.5,
+    t_baseline_all: 1.0, t_baseline_1: 2.0, t_baseline_rand: 1.0}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 1.0, top: 12.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, stimulus: true, bl_rand: false, bl: true}
+supplemental_config: [config/feedback_wo_reward.yaml]
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  feedback: !munch.Munch
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    play_end_feedback: !munch.Munch {fail: false, success: false}
+    number_of_stim: 10
+    symmetrical: true
+    audio_path: /kiap/data/speller/feedback/
+    selected_mode: 1
+    mode: [Training, Validation]
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+plot: !munch.Munch
+  channels: [14, 20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+sim_data: !munch.Munch {rate_bl: 10}
+classifier: !munch.Munch
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  exclude_data_channels: []
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  include_channels: [20]
+  thr_window: 40
+  trigger_pos: start
+  deadtime: 40
+  n_classes: 2
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  online: false
+  thr_prob: 0.8
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  psth: !munch.Munch
+    cut: [-40, 100]
+  n_triggers: 2
+  n_neg_train: 100000
+  break_loop: true
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  max_active_ch_nr: []
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+feedback: !munch.Munch {target_tone_length: 1.0, feedback_tone: true, hold_iterations: 3,
+  alpha: 360, target_n_tones: 5, tone_length: 0.25, beta: 120}
+system: !munch.Munch {plot: 0}
+speller: !munch.Munch {type: feedback, audio: true, audio_result_fb: true, pyttsx_rate: 100}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-21,
+  filename_data: /data/clinical/neural/fr/2019-07-21/data_16_34_52.bin, filename_baseline: /data/clinical/neural/fr/2019-07-21/bl_16_34_51.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-21/info_16_34_52.log, filename_log_debug: /data/clinical/neural/fr/2019-07-21/debug_16_34_51.log,
+  filename_events: /data/clinical/neural/fr/2019-07-21/events_16_34_52.txt, filename_config: /data/clinical/neural/fr/2019-07-21/config_16_34_51.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-21/paradigm_16_34_51.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-21/config_dump_16_34_51.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-21/git_changes_16_34_51.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-21/history.bin, git_hash: e6a266c}

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-21/config_dump_16_40_50.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+classifier: !munch.Munch
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  thr_window: 40
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  include_channels: [20]
+  exclude_data_channels: []
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_neg_train: 100000
+  online: false
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_triggers: 2
+  thr_prob: 0.8
+  trigger_pos: start
+  break_loop: true
+  max_active_ch_nr: []
+  deadtime: 40
+  n_classes: 2
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  psth: !munch.Munch
+    cut: [-40, 100]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  feedback: !munch.Munch
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    selected_mode: 1
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    mode: [Training, Validation]
+    symmetrical: true
+supplemental_config: [config/feedback.yaml]
+sim_data: !munch.Munch {rate_bl: 10}
+speller: !munch.Munch {type: feedback, audio: true, audio_result_fb: true, pyttsx_rate: 100}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+recording: !munch.Munch
+  timing: !munch.Munch {decoder_refresh_interval: 0.01, bci_loop_interval: 0.05, recording_loop_interval_data: 0.02,
+    t_after_stimulus: 0.0, t_baseline_1: 5.0, t_baseline_rand: 1.0, recording_loop_interval: 0.05,
+    t_response: 5.0, t_baseline_all: 1.0}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-21,
+  filename_data: /data/clinical/neural/fr/2019-07-21/data_16_40_50.bin, filename_baseline: /data/clinical/neural/fr/2019-07-21/bl_16_40_49.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-21/info_16_40_50.log, filename_log_debug: /data/clinical/neural/fr/2019-07-21/debug_16_40_49.log,
+  filename_events: /data/clinical/neural/fr/2019-07-21/events_16_40_50.txt, filename_config: /data/clinical/neural/fr/2019-07-21/config_16_40_49.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-21/paradigm_16_40_49.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-21/config_dump_16_40_49.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-21/git_changes_16_40_49.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-21/history.bin, git_hash: e6a266c}
+feedback: !munch.Munch {target_tone_length: 1.0, beta: 120, feedback_tone: true, tone_length: 0.25,
+  hold_iterations: 3, target_n_tones: 5, alpha: 360}
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, decode: false, bl: true, stimulus: true}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 4.0, top: 7.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-21/config_dump_16_46_22.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval_data: 0.02, t_baseline_rand: 1.0,
+    bci_loop_interval: 0.05, t_baseline_1: 5.0, t_baseline_all: 1.0, t_after_stimulus: 0.0,
+    decoder_refresh_interval: 0.01, recording_loop_interval: 0.05, t_response: 5.0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+speller: !munch.Munch {audio_result_fb: true, pyttsx_rate: 100, type: feedback, audio: true}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, bl_rand: true, stimulus: true, bl: true}
+system: !munch.Munch {plot: 0}
+supplemental_config: [config/feedback.yaml]
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  feedback: !munch.Munch
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    selected_mode: 1
+    audio_path: /kiap/data/speller/feedback/
+    symmetrical: true
+    number_of_stim: 10
+    mode: [Training, Validation]
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.0, top: 10.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-21,
+  filename_data: /data/clinical/neural/fr/2019-07-21/data_16_46_22.bin, filename_baseline: /data/clinical/neural/fr/2019-07-21/bl_16_46_21.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-21/info_16_46_22.log, filename_log_debug: /data/clinical/neural/fr/2019-07-21/debug_16_46_21.log,
+  filename_events: /data/clinical/neural/fr/2019-07-21/events_16_46_22.txt, filename_config: /data/clinical/neural/fr/2019-07-21/config_16_46_21.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-21/paradigm_16_46_21.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-21/config_dump_16_46_21.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-21/git_changes_16_46_21.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-21/history.bin, git_hash: e6a266c}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+sim_data: !munch.Munch {rate_bl: 10}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+feedback: !munch.Munch {hold_iterations: 5, beta: 120, feedback_tone: true, target_n_tones: 5,
+  target_tone_length: 1.0, tone_length: 0.25, alpha: 360}
+classifier: !munch.Munch
+  online: false
+  thr_prob: 0.8
+  exclude_data_channels: []
+  include_channels: [20]
+  n_neg_train: 100000
+  n_classes: 2
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  trigger_pos: start
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  max_active_ch_nr: []
+  break_loop: true
+  deadtime: 40
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  thr_window: 40
+  psth: !munch.Munch
+    cut: [-40, 100]

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-21/config_dump_16_51_48.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+supplemental_config: [config/feedback.yaml]
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 4.0, top: 7.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 20
+    symmetrical: true
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    number_of_stim: 10
+    symmetrical: true
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    selected_mode: 1
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    audio_path: /kiap/data/speller/feedback/
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+classifier: !munch.Munch
+  n_neg_train: 100000
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  n_classes: 2
+  thr_prob: 0.8
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  online: false
+  trigger_pos: start
+  exclude_data_channels: []
+  max_active_ch_nr: []
+  thr_window: 40
+  deadtime: 40
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  include_channels: [20]
+  break_loop: true
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  n_triggers: 2
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-21,
+  filename_data: /data/clinical/neural/fr/2019-07-21/data_16_51_48.bin, filename_baseline: /data/clinical/neural/fr/2019-07-21/bl_16_51_47.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-21/info_16_51_48.log, filename_log_debug: /data/clinical/neural/fr/2019-07-21/debug_16_51_47.log,
+  filename_events: /data/clinical/neural/fr/2019-07-21/events_16_51_48.txt, filename_config: /data/clinical/neural/fr/2019-07-21/config_16_51_47.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-21/paradigm_16_51_47.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-21/config_dump_16_51_47.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-21/git_changes_16_51_47.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-21/history.bin, git_hash: e6a266c}
+feedback: !munch.Munch {feedback_tone: true, beta: 120, alpha: 360, tone_length: 0.25,
+  hold_iterations: 3, target_tone_length: 1.0, target_n_tones: 5}
+system: !munch.Munch {plot: 0}
+recording: !munch.Munch
+  timing: !munch.Munch {t_after_stimulus: 0.0, t_baseline_1: 5.0, bci_loop_interval: 0.05,
+    t_baseline_rand: 1.0, recording_loop_interval_data: 0.02, recording_loop_interval: 0.05,
+    decoder_refresh_interval: 0.01, t_baseline_all: 1.0, t_response: 5.0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, audio_result_fb: true}
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, stimulus: true, decode: false}

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-21/config_dump_17_42_37.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval_data: 0.02, t_baseline_all: 1.0, t_response: 5.0,
+    t_after_stimulus: 0.0, t_baseline_rand: 1.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, t_baseline_1: 5.0}
+classifier: !munch.Munch
+  online: false
+  max_active_ch_nr: []
+  psth: !munch.Munch
+    cut: [-40, 100]
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  exclude_data_channels: []
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  break_loop: true
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  thr_prob: 0.8
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  deadtime: 40
+  n_neg_train: 100000
+  thr_window: 40
+  n_classes: 2
+  n_triggers: 2
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  trigger_pos: start
+system: !munch.Munch {plot: 0}
+supplemental_config: [config/feedback.yaml]
+paradigms: !munch.Munch
+  feedback: !munch.Munch
+    number_of_stim: 10
+    audio_path: /kiap/data/speller/feedback/
+    mode: [Training, Validation]
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    symmetrical: true
+    selected_mode: 1
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 9
+    symmetrical: true
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+sim_data: !munch.Munch {rate_bl: 10}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+speller: !munch.Munch {audio: true, audio_result_fb: true, type: feedback, pyttsx_rate: 100}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-21,
+  filename_data: /data/clinical/neural/fr/2019-07-21/data_17_42_37.bin, filename_baseline: /data/clinical/neural/fr/2019-07-21/bl_17_42_37.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-21/info_17_42_37.log, filename_log_debug: /data/clinical/neural/fr/2019-07-21/debug_17_42_37.log,
+  filename_events: /data/clinical/neural/fr/2019-07-21/events_17_42_37.txt, filename_config: /data/clinical/neural/fr/2019-07-21/config_17_42_37.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-21/paradigm_17_42_37.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-21/config_dump_17_42_37.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-21/git_changes_17_42_37.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-21/history.bin, git_hash: e6a266c}
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, bl_rand: true, bl: true, decode: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 3.0, top: 9.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, target_n_tones: 5,
+  hold_iterations: 3, target_tone_length: 1.0, tone_length: 0.25}

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-21/config_dump_17_58_46.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+paradigms: !munch.Munch
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 9
+    symmetrical: true
+  feedback: !munch.Munch
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    mode: [Training, Validation]
+    audio_path: /kiap/data/speller/feedback/
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    number_of_stim: 10
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    selected_mode: 1
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.0, top: 9.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-21,
+  filename_data: /data/clinical/neural/fr/2019-07-21/data_17_58_46.bin, filename_baseline: /data/clinical/neural/fr/2019-07-21/bl_17_58_45.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-21/info_17_58_46.log, filename_log_debug: /data/clinical/neural/fr/2019-07-21/debug_17_58_45.log,
+  filename_events: /data/clinical/neural/fr/2019-07-21/events_17_58_46.txt, filename_config: /data/clinical/neural/fr/2019-07-21/config_17_58_45.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-21/paradigm_17_58_45.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-21/config_dump_17_58_45.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-21/git_changes_17_58_45.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-21/history.bin, git_hash: e6a266c}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+supplemental_config: [config/feedback.yaml]
+sim_data: !munch.Munch {rate_bl: 10}
+system: !munch.Munch {plot: 0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_rand: 1.0, bci_loop_interval: 0.05, t_baseline_all: 1.0,
+    recording_loop_interval_data: 0.02, t_baseline_1: 5.0, decoder_refresh_interval: 0.01,
+    recording_loop_interval: 0.05, t_after_stimulus: 0.0, t_response: 5.0}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+speller: !munch.Munch {audio_result_fb: true, type: feedback, pyttsx_rate: 100, audio: true}
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, bl: true, bl_rand: true, stimulus: true}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+classifier: !munch.Munch
+  deadtime: 40
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  trigger_pos: start
+  thr_prob: 0.8
+  exclude_data_channels: []
+  break_loop: true
+  n_neg_train: 100000
+  thr_window: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  include_channels: [20]
+  n_triggers: 2
+  online: false
+  psth: !munch.Munch
+    cut: [-40, 100]
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  max_active_ch_nr: []
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  n_classes: 2
+feedback: !munch.Munch {tone_length: 0.25, feedback_tone: true, beta: 120, target_n_tones: 5,
+  alpha: 360, target_tone_length: 1.0, hold_iterations: 3}

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_18_03.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+system: !munch.Munch {plot: 0}
+classifier: !munch.Munch
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  exclude_data_channels: []
+  n_classes: 2
+  trigger_pos: start
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  deadtime: 40
+  n_neg_train: 100000
+  max_active_ch_nr: []
+  break_loop: true
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  online: false
+  thr_prob: 0.8
+  thr_window: 40
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  n_triggers: 2
+recording: !munch.Munch
+  timing: !munch.Munch {bci_loop_interval: 0.05, recording_loop_interval_data: 0.02,
+    t_response: 5.0, t_after_stimulus: 0.5, t_baseline_1: 2.0, t_baseline_all: 1.0,
+    decoder_refresh_interval: 0.01, t_baseline_rand: 1.0, recording_loop_interval: 0.05}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 4.0, top: 7.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+speller: !munch.Munch {audio: true, pyttsx_rate: 100, audio_result_fb: true, type: feedback}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+supplemental_config: [config/feedback_wo_reward.yaml]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: false, bl: true, decode: false, stimulus: true}
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 9
+    symmetrical: true
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  feedback: !munch.Munch
+    selected_mode: 1
+    symmetrical: true
+    mode: [Training, Validation]
+    number_of_stim: 10
+    play_end_feedback: !munch.Munch {success: false, fail: false}
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    audio_path: /kiap/data/speller/feedback/
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+feedback: !munch.Munch {tone_length: 0.25, target_n_tones: 5, feedback_tone: true,
+  beta: 120, hold_iterations: 3, target_tone_length: 1.0, alpha: 360}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-22,
+  filename_data: /data/clinical/neural/fr/2019-07-22/data_16_18_03.bin, filename_baseline: /data/clinical/neural/fr/2019-07-22/bl_16_18_02.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-22/info_16_18_03.log, filename_log_debug: /data/clinical/neural/fr/2019-07-22/debug_16_18_02.log,
+  filename_events: /data/clinical/neural/fr/2019-07-22/events_16_18_03.txt, filename_config: /data/clinical/neural/fr/2019-07-22/config_16_18_02.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-22/paradigm_16_18_02.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-22/config_dump_16_18_02.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-22/git_changes_16_18_02.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-22/history.bin, git_hash: e6a266c}

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_22_35.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+supplemental_config: [config/feedback.yaml]
+system: !munch.Munch {plot: 0}
+sim_data: !munch.Munch {rate_bl: 10}
+speller: !munch.Munch {audio_result_fb: true, audio: true, pyttsx_rate: 100, type: feedback}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-22,
+  filename_data: /data/clinical/neural/fr/2019-07-22/data_16_22_35.bin, filename_baseline: /data/clinical/neural/fr/2019-07-22/bl_16_22_33.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-22/info_16_22_35.log, filename_log_debug: /data/clinical/neural/fr/2019-07-22/debug_16_22_33.log,
+  filename_events: /data/clinical/neural/fr/2019-07-22/events_16_22_35.txt, filename_config: /data/clinical/neural/fr/2019-07-22/config_16_22_33.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-22/paradigm_16_22_33.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-22/config_dump_16_22_33.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-22/git_changes_16_22_33.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-22/history.bin, git_hash: e6a266c}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 4.0, top: 6.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+paradigms: !munch.Munch
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  feedback: !munch.Munch
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    selected_mode: 1
+    number_of_stim: 10
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    mode: [Training, Validation]
+    symmetrical: true
+    audio_path: /kiap/data/speller/feedback/
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 9
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_all: 1.0, t_baseline_1: 5.0, recording_loop_interval: 0.05,
+    recording_loop_interval_data: 0.02, t_after_stimulus: 0.0, t_baseline_rand: 1.0,
+    t_response: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05}
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, stimulus: true, bl: true, bl_rand: true}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+feedback: !munch.Munch {tone_length: 0.25, beta: 120, target_n_tones: 5, alpha: 360,
+  target_tone_length: 1.0, feedback_tone: true, hold_iterations: 3}
+classifier: !munch.Munch
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  thr_prob: 0.8
+  thr_window: 40
+  online: false
+  exclude_data_channels: []
+  deadtime: 40
+  n_classes: 2
+  break_loop: true
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  include_channels: [20]
+  n_triggers: 2
+  n_neg_train: 100000
+  psth: !munch.Munch
+    cut: [-40, 100]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  max_active_ch_nr: []

+ 200 - 0
KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_35_27.yaml

@@ -0,0 +1,200 @@
+!munch.Munch
+feedback: !munch.Munch {target_n_tones: 5, feedback_tone: true, alpha: 360, tone_length: 0.25,
+  beta: 120, target_tone_length: 1.0, hold_iterations: 3}
+speller: !munch.Munch {audio_result_fb: true, audio: true, pyttsx_rate: 100, type: feedback}
+recording: !munch.Munch
+  timing: !munch.Munch {t_after_stimulus: 0.0, recording_loop_interval: 0.05, t_baseline_1: 5.0,
+    recording_loop_interval_data: 0.02, t_baseline_all: 1.0, decoder_refresh_interval: 0.01,
+    bci_loop_interval: 0.05, t_baseline_rand: 1.0, t_response: 5.0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, decode: false, bl_rand: true, bl: true}
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 18, bottom: 5.0, top: 15.0, invert: false}
+    - !munch.Munch {id: 20, bottom: 4.0, top: 6.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+system: !munch.Munch {plot: 0}
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    audio_path: /kiap/data/speller/feedback/
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    selected_mode: 1
+    symmetrical: true
+    number_of_stim: 10
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    mode: [Training, Validation]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 9
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+classifier: !munch.Munch
+  n_neg_train: 100000
+  n_triggers: 2
+  online: false
+  include_channels: [20]
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  trigger_pos: start
+  n_classes: 2
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  max_active_ch_nr: []
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  exclude_data_channels: []
+  thr_window: 40
+  deadtime: 40
+  break_loop: true
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  psth: !munch.Munch
+    cut: [-40, 100]
+  thr_prob: 0.8
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-22,
+  filename_data: /data/clinical/neural/fr/2019-07-22/data_16_35_27.bin, filename_baseline: /data/clinical/neural/fr/2019-07-22/bl_16_35_26.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-22/info_16_35_27.log, filename_log_debug: /data/clinical/neural/fr/2019-07-22/debug_16_35_26.log,
+  filename_events: /data/clinical/neural/fr/2019-07-22/events_16_35_27.txt, filename_config: /data/clinical/neural/fr/2019-07-22/config_16_35_26.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-22/paradigm_16_35_26.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-22/config_dump_16_35_26.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-22/git_changes_16_35_26.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-22/history.bin, git_hash: e6a266c}
+supplemental_config: [config/feedback.yaml]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}

+ 199 - 0
KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_40_32.yaml

@@ -0,0 +1,199 @@
+!munch.Munch
+supplemental_config: [config/feedback.yaml]
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-22,
+  filename_data: /data/clinical/neural/fr/2019-07-22/data_16_40_32.bin, filename_baseline: /data/clinical/neural/fr/2019-07-22/bl_16_40_31.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-22/info_16_40_32.log, filename_log_debug: /data/clinical/neural/fr/2019-07-22/debug_16_40_31.log,
+  filename_events: /data/clinical/neural/fr/2019-07-22/events_16_40_32.txt, filename_config: /data/clinical/neural/fr/2019-07-22/config_16_40_31.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-22/paradigm_16_40_31.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-22/config_dump_16_40_31.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-22/git_changes_16_40_31.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-22/history.bin, git_hash: e6a266c}
+speller: !munch.Munch {audio_result_fb: true, audio: true, pyttsx_rate: 100, type: feedback}
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, bl: true, decode: false, bl_rand: true}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  trigger_pos: start
+  n_classes: 2
+  thr_prob: 0.8
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_triggers: 2
+  exclude_data_channels: []
+  n_neg_train: 100000
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  break_loop: true
+  thr_window: 40
+  deadtime: 40
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  online: false
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  psth: !munch.Munch
+    cut: [-40, 100]
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+sim_data: !munch.Munch {rate_bl: 10}
+system: !munch.Munch {plot: 0}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_all: 1.0, recording_loop_interval: 0.05, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, bci_loop_interval: 0.05, recording_loop_interval_data: 0.02,
+    t_response: 5.0, decoder_refresh_interval: 0.01, t_baseline_1: 5.0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+feedback: !munch.Munch {alpha: 360, feedback_tone: true, target_tone_length: 1.0,
+  target_n_tones: 5, beta: 120, hold_iterations: 3, tone_length: 0.25}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 9
+    symmetrical: true
+  feedback: !munch.Munch
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    selected_mode: 1
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    symmetrical: true
+    number_of_stim: 10
+    audio_path: /kiap/data/speller/feedback/
+    mode: [Training, Validation]
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 3.0, top: 7.0, invert: true}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128

+ 200 - 0
KIAP_BCI_neurofeedback/2019-07-22/config_dump_16_47_21.yaml

@@ -0,0 +1,200 @@
+!munch.Munch
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-07-22,
+  filename_data: /data/clinical/neural/fr/2019-07-22/data_16_47_21.bin, filename_baseline: /data/clinical/neural/fr/2019-07-22/bl_16_47_21.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-07-22/info_16_47_21.log, filename_log_debug: /data/clinical/neural/fr/2019-07-22/debug_16_47_21.log,
+  filename_events: /data/clinical/neural/fr/2019-07-22/events_16_47_21.txt, filename_config: /data/clinical/neural/fr/2019-07-22/config_16_47_21.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-07-22/paradigm_16_47_21.yaml, filename_config_dump: /data/clinical/neural/fr/2019-07-22/config_dump_16_47_21.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-07-22/git_changes_16_47_21.patch,
+  filename_history: /data/clinical/neural/fr/2019-07-22/history.bin, git_hash: e6a266c}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+speller: !munch.Munch {pyttsx_rate: 100, audio: true, audio_result_fb: true, type: feedback}
+feedback: !munch.Munch {target_n_tones: 5, alpha: 360, beta: 120, tone_length: 0.25,
+  target_tone_length: 1.0, hold_iterations: 3, feedback_tone: true}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+classifier: !munch.Munch
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  online: false
+  exclude_data_channels: []
+  trigger_pos: start
+  include_channels: [20]
+  n_triggers: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  break_loop: true
+  thr_prob: 0.8
+  n_classes: 2
+  max_active_ch_nr: []
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  thr_window: 40
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_neg_train: 100000
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+supplemental_config: [config/feedback.yaml]
+daq: !munch.Munch
+  n_channels_max: 128
+  exclude_channels: []
+  car_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 3.0, top: 7.0, invert: true}
+    - !munch.Munch {id: 110, bottom: 6.0, top: 11.0, invert: false}
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+recording: !munch.Munch
+  timing: !munch.Munch {t_response: 5.0, recording_loop_interval_data: 0.02, t_baseline_1: 5.0,
+    recording_loop_interval: 0.05, t_baseline_all: 1.0, decoder_refresh_interval: 0.01,
+    t_baseline_rand: 1.0, bci_loop_interval: 0.05, t_after_stimulus: 0.0}
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, bl: true, decode: false, bl_rand: true}
+plot: !munch.Munch
+  channels: [20]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+system: !munch.Munch {plot: 0}
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 9
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  feedback: !munch.Munch
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.35]
+    number_of_stim: 10
+    symmetrical: true
+    mode: [Training, Validation]
+    audio_path: /kiap/data/speller/feedback/
+    selected_mode: 1
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-13/config_dump_15_57_56.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+classifier: !munch.Munch
+  thr_window: 40
+  include_channels: [20]
+  online: false
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  n_classes: 2
+  break_loop: true
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  exclude_data_channels: []
+  n_neg_train: 100000
+  thr_prob: 0.8
+  saved_model_conf_name: config/model_conf.yaml
+  psth: !munch.Munch
+    cut: [-40, 100]
+  max_active_ch_nr: []
+  deadtime: 40
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  n_features: 1024
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback_wo_reward.yaml]
+paradigms: !munch.Munch
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  feedback: !munch.Munch
+    symmetrical: true
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    audio_path: /kiap/data/speller/feedback/
+    mode: [Training, Validation]
+    selected_mode: 0
+    number_of_stim: 10
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    play_end_feedback: !munch.Munch {fail: false, success: false}
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+speller: !munch.Munch {audio: true, pyttsx_rate: 100, type: feedback, audio_result_fb: false,
+  speller_matrix: true}
+sim_data: !munch.Munch {rate_bl: 10}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+plot: !munch.Munch
+  fps: 10.0
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+  pca: false
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, decode: false, stimulus: true, bl_rand: false}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  data_source: spike_rates
+  car_channels: []
+  n_channels_max: 128
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    use_all_channels: false
+    range: [10, 90]
+    update_interval: 10.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    clamp_firing_rates: true
+    len: 600.0
+    do_update: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+  trigger_len: 50
+  spike_band_power: !munch.Munch
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    sample_group: 6
+    integrated_samples: 1500
+    loop_interval: 50
+    average_n_bins: 10
+  exclude_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  n_channels: 128
+feedback: !munch.Munch {target_n_tones: 5, hold_iterations: 2, target_tone_length: 1.0,
+  beta: 120, alpha: 360, tone_length: 0.25, feedback_tone: true}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-13,
+  filename_data: /data/clinical/neural/fr/2019-08-13/data_15_57_56.bin, filename_baseline: /data/clinical/neural/fr/2019-08-13/bl_15_57_56.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-13/info_15_57_56.log, filename_log_debug: /data/clinical/neural/fr/2019-08-13/debug_15_57_56.log,
+  filename_events: /data/clinical/neural/fr/2019-08-13/events_15_57_56.txt, filename_config: /data/clinical/neural/fr/2019-08-13/config_15_57_56.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-13/paradigm_15_57_56.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-13/config_dump_15_57_56.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-13/git_changes_15_57_56.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-13/history.bin, git_hash: 6fcc149}
+system: !munch.Munch {plot: 0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+recording: !munch.Munch
+  timing: !munch.Munch {t_after_stimulus: 0.0, recording_loop_interval_data: 0.02,
+    t_baseline_all: 1.0, bci_loop_interval: 0.05, decoder_refresh_interval: 0.01,
+    t_baseline_rand: 1.0, t_response: 5.0, t_baseline_1: 5.0, recording_loop_interval: 0.05}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-13/config_dump_16_07_55.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, stimulus: true, bl_rand: true, decode: false}
+classifier: !munch.Munch
+  online: false
+  max_active_ch_nr: []
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_classes: 2
+  n_triggers: 2
+  deadtime: 40
+  n_neg_train: 100000
+  include_channels: [20]
+  saved_model_conf_name: config/model_conf.yaml
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  thr_window: 40
+  break_loop: true
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  thr_prob: 0.8
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  trigger_pos: start
+  exclude_data_channels: []
+  n_features: 1024
+plot: !munch.Munch
+  pca: false
+  channels: [20, 24, 99]
+  filter_min_rate: 2
+  fps: 10.0
+speller: !munch.Munch {audio_result_fb: false, speller_matrix: true, audio: true,
+  pyttsx_rate: 100, type: feedback}
+paradigms: !munch.Munch
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  feedback: !munch.Munch
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    mode: [Training, Validation]
+    selected_mode: 0
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-13,
+  filename_data: /data/clinical/neural/fr/2019-08-13/data_16_07_55.bin, filename_baseline: /data/clinical/neural/fr/2019-08-13/bl_16_07_55.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-13/info_16_07_55.log, filename_log_debug: /data/clinical/neural/fr/2019-08-13/debug_16_07_55.log,
+  filename_events: /data/clinical/neural/fr/2019-08-13/events_16_07_55.txt, filename_config: /data/clinical/neural/fr/2019-08-13/config_16_07_55.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-13/paradigm_16_07_55.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-13/config_dump_16_07_55.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-13/git_changes_16_07_55.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-13/history.bin, git_hash: 6fcc149}
+daq: !munch.Munch
+  spike_band_power: !munch.Munch
+    sample_group: 6
+    loop_interval: 50
+    integrated_samples: 1500
+    average_n_bins: 10
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+  n_channels_max: 128
+  trigger_len: 50
+  data_source: spike_rates
+  car_channels: []
+  smpl_fct: 30
+  daq_sleep: 0.1
+  exclude_channels: []
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  fs: 30000.0
+  normalization: !munch.Munch
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    clamp_firing_rates: true
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    range: [10, 90]
+    update_interval: 10.0
+    do_update: false
+    use_all_channels: false
+    len: 600.0
+  n_channels: 128
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+system: !munch.Munch {plot: 0}
+recording: !munch.Munch
+  timing: !munch.Munch {bci_loop_interval: 0.05, t_baseline_all: 1.0, t_response: 5.0,
+    t_baseline_1: 5.0, decoder_refresh_interval: 0.01, recording_loop_interval_data: 0.02,
+    t_baseline_rand: 1.0, recording_loop_interval: 0.05, t_after_stimulus: 0.5}
+feedback: !munch.Munch {target_n_tones: 5, alpha: 360, target_tone_length: 1.0, tone_length: 0.25,
+  feedback_tone: true, beta: 120, hold_iterations: 2}
+sim_data: !munch.Munch {rate_bl: 10}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-13/config_dump_16_13_46.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+speller: !munch.Munch {audio_result_fb: false, audio: true, type: feedback, pyttsx_rate: 100,
+  speller_matrix: true}
+classifier: !munch.Munch
+  psth: !munch.Munch
+    cut: [-40, 100]
+  deadtime: 40
+  include_channels: [20]
+  thr_window: 40
+  saved_model_conf_name: config/model_conf.yaml
+  n_triggers: 2
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  online: false
+  break_loop: true
+  n_neg_train: 100000
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  max_active_ch_nr: []
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  trigger_pos: start
+  thr_prob: 0.8
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  exclude_data_channels: []
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  n_classes: 2
+  n_features: 1024
+paradigms: !munch.Munch
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    number_of_stim: 10
+    symmetrical: true
+    selected_mode: 0
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    audio_path: /kiap/data/speller/feedback/
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 1
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+plot: !munch.Munch
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+  fps: 10.0
+  pca: false
+system: !munch.Munch {plot: 0}
+feedback: !munch.Munch {hold_iterations: 2, tone_length: 0.25, target_tone_length: 1.0,
+  target_n_tones: 5, feedback_tone: true, beta: 120, alpha: 360}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-13,
+  filename_data: /data/clinical/neural/fr/2019-08-13/data_16_13_46.bin, filename_baseline: /data/clinical/neural/fr/2019-08-13/bl_16_13_46.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-13/info_16_13_46.log, filename_log_debug: /data/clinical/neural/fr/2019-08-13/debug_16_13_46.log,
+  filename_events: /data/clinical/neural/fr/2019-08-13/events_16_13_46.txt, filename_config: /data/clinical/neural/fr/2019-08-13/config_16_13_46.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-13/paradigm_16_13_46.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-13/config_dump_16_13_46.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-13/git_changes_16_13_46.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-13/history.bin, git_hash: 6fcc149}
+sim_data: !munch.Munch {rate_bl: 10}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+daq: !munch.Munch
+  n_channels_max: 128
+  fs: 30000.0
+  smpl_fct: 30
+  daq_sleep: 0.1
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  exclude_channels: []
+  car_channels: []
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    range: [10, 90]
+    use_all_channels: false
+    update_interval: 10.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    clamp_firing_rates: true
+  spike_band_power: !munch.Munch
+    loop_interval: 50
+    average_n_bins: 10
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    integrated_samples: 1500
+    sample_group: 6
+  trigger_len: 50
+  data_source: spike_rates
+  n_channels: 128
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, bl: true, stimulus: true, decode: false}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval_data: 0.02, recording_loop_interval: 0.05,
+    t_response: 5.0, t_after_stimulus: 0.5, t_baseline_all: 1.0, decoder_refresh_interval: 0.01,
+    t_baseline_1: 5.0, t_baseline_rand: 1.0, bci_loop_interval: 0.05}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-13/config_dump_16_45_50.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-13,
+  filename_data: /data/clinical/neural/fr/2019-08-13/data_16_45_50.bin, filename_baseline: /data/clinical/neural/fr/2019-08-13/bl_16_45_50.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-13/info_16_45_50.log, filename_log_debug: /data/clinical/neural/fr/2019-08-13/debug_16_45_50.log,
+  filename_events: /data/clinical/neural/fr/2019-08-13/events_16_45_50.txt, filename_config: /data/clinical/neural/fr/2019-08-13/config_16_45_50.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-13/paradigm_16_45_50.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-13/config_dump_16_45_50.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-13/git_changes_16_45_50.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-13/history.bin, git_hash: 6fcc149}
+classifier: !munch.Munch
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  deadtime: 40
+  max_active_ch_nr: []
+  n_classes: 2
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  break_loop: true
+  exclude_data_channels: []
+  include_channels: [20]
+  thr_window: 40
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  n_triggers: 2
+  trigger_pos: start
+  thr_prob: 0.8
+  saved_model_conf_name: config/model_conf.yaml
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  psth: !munch.Munch
+    cut: [-40, 100]
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_neg_train: 100000
+  online: false
+  n_features: 1024
+plot: !munch.Munch
+  fps: 10.0
+  filter_min_rate: 2
+  pca: false
+  channels: [20, 24, 99]
+speller: !munch.Munch {speller_matrix: true, type: feedback, audio_result_fb: true,
+  audio: true, pyttsx_rate: 100}
+recording: !munch.Munch
+  timing: !munch.Munch {decoder_refresh_interval: 0.01, t_baseline_1: 5.0, t_baseline_rand: 1.0,
+    bci_loop_interval: 0.05, t_response: 5.0, recording_loop_interval_data: 0.02,
+    t_after_stimulus: 0.5, t_baseline_all: 1.0, recording_loop_interval: 0.05}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    selected_mode: 0
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    symmetrical: true
+    mode: [Training, Validation]
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+sim_data: !munch.Munch {rate_bl: 10}
+system: !munch.Munch {plot: 0}
+daq: !munch.Munch
+  data_source: spike_rates
+  normalization: !munch.Munch
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    range: [10, 90]
+    clamp_firing_rates: true
+    use_all_channels: false
+    len: 600.0
+    update_interval: 10.0
+    do_update: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+  spike_band_power: !munch.Munch
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    integrated_samples: 1500
+    average_n_bins: 10
+    sample_group: 6
+    loop_interval: 50
+  exclude_channels: []
+  n_channels_max: 128
+  daq_sleep: 0.1
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  car_channels: []
+  n_channels: 128
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+feedback: !munch.Munch {tone_length: 0.25, beta: 120, target_n_tones: 5, feedback_tone: true,
+  hold_iterations: 2, alpha: 360, target_tone_length: 1.0}
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, bl: true, stimulus: true, decode: false}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-14/config_dump_12_56_01.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+daq: !munch.Munch
+  exclude_channels: []
+  normalization: !munch.Munch
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    clamp_firing_rates: true
+    update_interval: 10.0
+    range: [10, 90]
+    use_all_channels: false
+    do_update: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    len: 600.0
+  trigger_len: 50
+  daq_sleep: 0.1
+  fs: 30000.0
+  n_channels_max: 128
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  data_source: spike_rates
+  spike_band_power: !munch.Munch
+    loop_interval: 50
+    sample_group: 6
+    average_n_bins: 10
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    integrated_samples: 1500
+  smpl_fct: 30
+  car_channels: []
+  n_channels: 128
+plot: !munch.Munch
+  channels: [20, 24, 99]
+  pca: false
+  filter_min_rate: 2
+  fps: 10.0
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_rand: 1.0, t_baseline_all: 1.0, t_baseline_1: 5.0,
+    decoder_refresh_interval: 0.01, recording_loop_interval: 0.05, t_after_stimulus: 0.0,
+    t_response: 5.0, bci_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: false, stimulus: true, decode: false, bl: true}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+classifier: !munch.Munch
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_classes: 2
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  break_loop: true
+  exclude_data_channels: []
+  max_active_ch_nr: []
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  saved_model_conf_name: config/model_conf.yaml
+  online: false
+  deadtime: 40
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_triggers: 2
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  include_channels: [20]
+  trigger_pos: start
+  thr_window: 40
+  psth: !munch.Munch
+    cut: [-40, 100]
+  thr_prob: 0.8
+  n_neg_train: 100000
+  n_features: 1024
+system: !munch.Munch {plot: 0}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback_wo_reward.yaml]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-14,
+  filename_data: /data/clinical/neural/fr/2019-08-14/data_12_56_01.bin, filename_baseline: /data/clinical/neural/fr/2019-08-14/bl_12_56_01.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-14/info_12_56_01.log, filename_log_debug: /data/clinical/neural/fr/2019-08-14/debug_12_56_01.log,
+  filename_events: /data/clinical/neural/fr/2019-08-14/events_12_56_01.txt, filename_config: /data/clinical/neural/fr/2019-08-14/config_12_56_01.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-14/paradigm_12_56_01.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-14/config_dump_12_56_01.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-14/git_changes_12_56_01.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-14/history.bin, git_hash: 6fcc149}
+feedback: !munch.Munch {beta: 120, feedback_tone: true, hold_iterations: 2, target_n_tones: 5,
+  tone_length: 0.25, alpha: 360, target_tone_length: 1.0}
+sim_data: !munch.Munch {rate_bl: 10}
+speller: !munch.Munch {audio_result_fb: true, type: feedback, pyttsx_rate: 100, speller_matrix: true,
+  audio: true}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  feedback: !munch.Munch
+    audio_path: /kiap/data/speller/feedback/
+    play_end_feedback: !munch.Munch {success: false, fail: false}
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    number_of_stim: 10
+    symmetrical: true
+    selected_mode: 0
+    mode: [Training, Validation]
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-14/config_dump_13_08_36.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+daq: !munch.Munch
+  data_source: spike_rates
+  smpl_fct: 30
+  car_channels: []
+  fs: 30000.0
+  n_channels_max: 128
+  exclude_channels: []
+  normalization: !munch.Munch
+    update_interval: 10.0
+    len: 600.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    use_all_channels: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    do_update: false
+    range: [10, 90]
+    clamp_firing_rates: true
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  trigger_len: 50
+  spike_band_power: !munch.Munch
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    integrated_samples: 1500
+    sample_group: 6
+    average_n_bins: 10
+    loop_interval: 50
+  daq_sleep: 0.1
+  n_channels: 128
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-14,
+  filename_data: /data/clinical/neural/fr/2019-08-14/data_13_08_36.bin, filename_baseline: /data/clinical/neural/fr/2019-08-14/bl_13_08_36.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-14/info_13_08_36.log, filename_log_debug: /data/clinical/neural/fr/2019-08-14/debug_13_08_36.log,
+  filename_events: /data/clinical/neural/fr/2019-08-14/events_13_08_36.txt, filename_config: /data/clinical/neural/fr/2019-08-14/config_13_08_36.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-14/paradigm_13_08_36.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-14/config_dump_13_08_36.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-14/git_changes_13_08_36.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-14/history.bin, git_hash: 6fcc149}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+system: !munch.Munch {plot: 0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, bl: true, stimulus: true, decode: false}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    symmetrical: true
+    audio_path: /kiap/data/speller/feedback/
+    selected_mode: 0
+    number_of_stim: 10
+    mode: [Training, Validation]
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+classifier: !munch.Munch
+  deadtime: 40
+  thr_prob: 0.8
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  thr_window: 40
+  online: false
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  n_classes: 2
+  n_triggers: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  max_active_ch_nr: []
+  exclude_data_channels: []
+  break_loop: true
+  include_channels: [20]
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  trigger_pos: start
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  saved_model_conf_name: config/model_conf.yaml
+  n_neg_train: 100000
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+  n_features: 1024
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, recording_loop_interval_data: 0.02, t_response: 5.0,
+    recording_loop_interval: 0.05, decoder_refresh_interval: 0.01, t_baseline_all: 1.0,
+    t_after_stimulus: 0.5, t_baseline_rand: 1.0, bci_loop_interval: 0.05}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+sim_data: !munch.Munch {rate_bl: 10}
+speller: !munch.Munch {type: feedback, audio: true, pyttsx_rate: 100, speller_matrix: true,
+  audio_result_fb: true}
+feedback: !munch.Munch {tone_length: 0.25, target_tone_length: 1.0, target_n_tones: 5,
+  beta: 120, feedback_tone: true, hold_iterations: 2, alpha: 360}
+plot: !munch.Munch
+  fps: 10.0
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+  pca: false

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-14/config_dump_13_16_05.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, decode: false, bl_rand: true, bl: true}
+paradigms: !munch.Munch
+  feedback: !munch.Munch
+    selected_mode: 0
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    symmetrical: true
+    mode: [Training, Validation]
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: true
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+plot: !munch.Munch
+  fps: 10.0
+  pca: false
+  channels: [20, 24, 99]
+  filter_min_rate: 2
+daq: !munch.Munch
+  car_channels: []
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels_max: 128
+  fs: 30000.0
+  data_source: spike_rates
+  daq_sleep: 0.1
+  trigger_len: 50
+  smpl_fct: 30
+  normalization: !munch.Munch
+    do_update: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    len: 600.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    range: [10, 90]
+    use_all_channels: false
+    update_interval: 10.0
+    clamp_firing_rates: true
+  exclude_channels: []
+  spike_band_power: !munch.Munch
+    average_n_bins: 10
+    sample_group: 6
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    integrated_samples: 1500
+    loop_interval: 50
+  n_channels: 128
+sim_data: !munch.Munch {rate_bl: 10}
+system: !munch.Munch {plot: 0}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_all: 1.0, recording_loop_interval: 0.05, t_response: 5.0,
+    t_baseline_rand: 1.0, recording_loop_interval_data: 0.02, t_baseline_1: 5.0, bci_loop_interval: 0.05,
+    decoder_refresh_interval: 0.01, t_after_stimulus: 0.5}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+feedback: !munch.Munch {beta: 120, tone_length: 0.25, hold_iterations: 2, alpha: 360,
+  feedback_tone: true, target_n_tones: 5, target_tone_length: 1.0}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-14,
+  filename_data: /data/clinical/neural/fr/2019-08-14/data_13_16_05.bin, filename_baseline: /data/clinical/neural/fr/2019-08-14/bl_13_16_05.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-14/info_13_16_05.log, filename_log_debug: /data/clinical/neural/fr/2019-08-14/debug_13_16_05.log,
+  filename_events: /data/clinical/neural/fr/2019-08-14/events_13_16_05.txt, filename_config: /data/clinical/neural/fr/2019-08-14/config_13_16_05.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-14/paradigm_13_16_05.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-14/config_dump_13_16_05.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-14/git_changes_13_16_05.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-14/history.bin, git_hash: 6fcc149}
+speller: !munch.Munch {audio: true, type: feedback, pyttsx_rate: 100, audio_result_fb: true,
+  speller_matrix: true}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+classifier: !munch.Munch
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  include_channels: [20]
+  break_loop: true
+  thr_window: 40
+  max_active_ch_nr: []
+  exclude_data_channels: []
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_classes: 2
+  n_triggers: 2
+  thr_prob: 0.8
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  saved_model_conf_name: config/model_conf.yaml
+  n_neg_train: 100000
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  deadtime: 40
+  online: false
+  n_features: 1024

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-14/config_dump_13_43_14.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+plot: !munch.Munch
+  pca: false
+  fps: 10.0
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+recording: !munch.Munch
+  timing: !munch.Munch {t_response: 5.0, decoder_refresh_interval: 0.01, t_after_stimulus: 0.5,
+    t_baseline_rand: 1.0, recording_loop_interval_data: 0.02, t_baseline_1: 5.0, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, t_baseline_all: 1.0}
+paradigms: !munch.Munch
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  feedback: !munch.Munch
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    number_of_stim: 10
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    selected_mode: 0
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    audio_path: /kiap/data/speller/feedback/
+    mode: [Training, Validation]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+speller: !munch.Munch {audio: true, speller_matrix: true, pyttsx_rate: 100, audio_result_fb: true,
+  type: feedback}
+daq: !munch.Munch
+  fs: 30000.0
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  daq_sleep: 0.1
+  n_channels_max: 128
+  trigger_len: 50
+  exclude_channels: []
+  smpl_fct: 30
+  normalization: !munch.Munch
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    len: 600.0
+    clamp_firing_rates: true
+    do_update: false
+    use_all_channels: false
+    update_interval: 10.0
+    range: [10, 90]
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+  spike_band_power: !munch.Munch
+    loop_interval: 50
+    integrated_samples: 1500
+    average_n_bins: 10
+    sample_group: 6
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+  car_channels: []
+  data_source: spike_rates
+  n_channels: 128
+sim_data: !munch.Munch {rate_bl: 10}
+feedback: !munch.Munch {target_tone_length: 1.0, beta: 120, tone_length: 0.25, hold_iterations: 2,
+  feedback_tone: true, target_n_tones: 5, alpha: 360}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-14,
+  filename_data: /data/clinical/neural/fr/2019-08-14/data_13_43_14.bin, filename_baseline: /data/clinical/neural/fr/2019-08-14/bl_13_43_14.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-14/info_13_43_14.log, filename_log_debug: /data/clinical/neural/fr/2019-08-14/debug_13_43_14.log,
+  filename_events: /data/clinical/neural/fr/2019-08-14/events_13_43_14.txt, filename_config: /data/clinical/neural/fr/2019-08-14/config_13_43_14.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-14/paradigm_13_43_14.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-14/config_dump_13_43_14.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-14/git_changes_13_43_14.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-14/history.bin, git_hash: 6fcc149}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+classifier: !munch.Munch
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_classes: 2
+  saved_model_conf_name: config/model_conf.yaml
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  n_triggers: 2
+  n_neg_train: 100000
+  max_active_ch_nr: []
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  thr_window: 40
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  include_channels: [20]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  thr_prob: 0.8
+  break_loop: true
+  trigger_pos: start
+  exclude_data_channels: []
+  online: false
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  deadtime: 40
+  psth: !munch.Munch
+    cut: [-40, 100]
+  n_features: 1024
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, bl_rand: true, decode: false, bl: true}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-14/config_dump_14_18_08.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+paradigms: !munch.Munch
+  feedback: !munch.Munch
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    selected_mode: 0
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    number_of_stim: 10
+    audio_path: /kiap/data/speller/feedback/
+    symmetrical: true
+    mode: [Training, Validation]
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+plot: !munch.Munch
+  fps: 10.0
+  channels: [20, 24, 99]
+  filter_min_rate: 2
+  pca: false
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+system: !munch.Munch {plot: 0}
+classifier: !munch.Munch
+  n_triggers: 2
+  max_active_ch_nr: []
+  trigger_pos: start
+  thr_prob: 0.8
+  saved_model_conf_name: config/model_conf.yaml
+  psth: !munch.Munch
+    cut: [-40, 100]
+  n_classes: 2
+  exclude_data_channels: []
+  online: false
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  include_channels: [20]
+  n_neg_train: 100000
+  deadtime: 40
+  thr_window: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  break_loop: true
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  n_features: 1024
+sim_data: !munch.Munch {rate_bl: 10}
+speller: !munch.Munch {audio: true, audio_result_fb: true, type: feedback, speller_matrix: true,
+  pyttsx_rate: 100}
+feedback: !munch.Munch {feedback_tone: true, alpha: 360, beta: 120, target_tone_length: 1.0,
+  target_n_tones: 5, tone_length: 0.25, hold_iterations: 2}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  exclude_channels: []
+  fs: 30000.0
+  n_channels_max: 128
+  daq_sleep: 0.1
+  data_source: spike_rates
+  normalization: !munch.Munch
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    range: [10, 90]
+    do_update: false
+    len: 600.0
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    clamp_firing_rates: true
+    update_interval: 10.0
+  car_channels: []
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  trigger_len: 50
+  spike_band_power: !munch.Munch
+    integrated_samples: 1500
+    sample_group: 6
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    loop_interval: 50
+    average_n_bins: 10
+  smpl_fct: 30
+  n_channels: 128
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-14,
+  filename_data: /data/clinical/neural/fr/2019-08-14/data_14_18_08.bin, filename_baseline: /data/clinical/neural/fr/2019-08-14/bl_14_18_08.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-14/info_14_18_08.log, filename_log_debug: /data/clinical/neural/fr/2019-08-14/debug_14_18_08.log,
+  filename_events: /data/clinical/neural/fr/2019-08-14/events_14_18_08.txt, filename_config: /data/clinical/neural/fr/2019-08-14/config_14_18_08.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-14/paradigm_14_18_08.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-14/config_dump_14_18_08.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-14/git_changes_14_18_08.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-14/history.bin, git_hash: 6fcc149}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_response: 5.0, t_baseline_rand: 1.0,
+    bci_loop_interval: 0.05, t_baseline_all: 1.0, t_after_stimulus: 0.5, recording_loop_interval: 0.05,
+    decoder_refresh_interval: 0.01, recording_loop_interval_data: 0.02}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_12_43_01.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+daq: !munch.Munch
+  normalization: !munch.Munch
+    range: [10, 90]
+    do_update: false
+    len: 600.0
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    use_all_channels: false
+    update_interval: 10.0
+    clamp_firing_rates: true
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+  trigger_len: 50
+  data_source: spike_rates
+  car_channels: []
+  n_channels_max: 128
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  fs: 30000.0
+  spike_band_power: !munch.Munch
+    loop_interval: 50
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    sample_group: 6
+    integrated_samples: 1500
+    average_n_bins: 10
+  smpl_fct: 30
+  exclude_channels: []
+  daq_sleep: 0.1
+  n_channels: 128
+plot: !munch.Munch
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+feedback: !munch.Munch {hold_iterations: 2, target_tone_length: 1.0, feedback_tone: true,
+  target_n_tones: 5, tone_length: 0.25, alpha: 360, beta: 120}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    number_of_stim: 10
+    play_end_feedback: !munch.Munch {fail: false, success: false}
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    mode: [Training, Validation]
+    symmetrical: true
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    audio_path: /kiap/data/speller/feedback/
+    selected_mode: 0
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+speller: !munch.Munch {pyttsx_rate: 100, audio_result_fb: true, audio: true, type: feedback,
+  speller_matrix: true}
+sim_data: !munch.Munch {rate_bl: 10}
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval_data: 0.02, recording_loop_interval: 0.05,
+    t_after_stimulus: 0.0, t_baseline_all: 1.0, t_baseline_rand: 1.0, t_baseline_1: 5.0,
+    bci_loop_interval: 0.05, decoder_refresh_interval: 0.01, t_response: 5.0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback_wo_reward.yaml]
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+classifier: !munch.Munch
+  exclude_data_channels: []
+  include_channels: [20]
+  online: false
+  trigger_pos: start
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  max_active_ch_nr: []
+  thr_window: 40
+  thr_prob: 0.8
+  n_triggers: 2
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  deadtime: 40
+  n_neg_train: 100000
+  saved_model_conf_name: config/model_conf.yaml
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  n_classes: 2
+  n_features: 1024
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, decode: false, bl: true, bl_rand: false}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_12_43_01.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_12_43_01.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_12_43_01.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_12_43_01.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_12_43_01.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_12_43_01.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_12_43_01.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_12_43_01.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_12_43_01.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}
+system: !munch.Munch {plot: 0}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_12_49_56.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+paradigms: !munch.Munch
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  feedback: !munch.Munch
+    symmetrical: true
+    selected_mode: 0
+    mode: [Training, Validation]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    number_of_stim: 10
+    audio_path: /kiap/data/speller/feedback/
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+daq: !munch.Munch
+  fs: 30000.0
+  exclude_channels: []
+  smpl_fct: 30
+  data_source: spike_rates
+  n_channels_max: 128
+  spike_band_power: !munch.Munch
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    integrated_samples: 1500
+    sample_group: 6
+    average_n_bins: 10
+    loop_interval: 50
+  normalization: !munch.Munch
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    update_interval: 10.0
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    use_all_channels: false
+    do_update: false
+    len: 600.0
+    range: [10, 90]
+    clamp_firing_rates: true
+  trigger_len: 50
+  car_channels: []
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  daq_sleep: 0.1
+  n_channels: 128
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, bl_rand: true, decode: false, bl: true}
+speller: !munch.Munch {audio: true, speller_matrix: true, pyttsx_rate: 100, type: feedback,
+  audio_result_fb: true}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+system: !munch.Munch {plot: 0}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_12_49_56.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_12_49_56.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_12_49_56.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_12_49_56.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_12_49_56.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_12_49_56.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_12_49_56.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_12_49_56.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_12_49_56.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+feedback: !munch.Munch {tone_length: 0.25, target_tone_length: 1.0, alpha: 360, target_n_tones: 5,
+  beta: 120, hold_iterations: 2, feedback_tone: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_rand: 1.0, recording_loop_interval_data: 0.02,
+    t_response: 5.0, t_after_stimulus: 0.5, bci_loop_interval: 0.05, t_baseline_1: 5.0,
+    decoder_refresh_interval: 0.01, recording_loop_interval: 0.05, t_baseline_all: 1.0}
+sim_data: !munch.Munch {rate_bl: 10}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+plot: !munch.Munch
+  channels: [20, 24, 99]
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+classifier: !munch.Munch
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  thr_window: 40
+  exclude_data_channels: []
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_neg_train: 100000
+  trigger_pos: start
+  saved_model_conf_name: config/model_conf.yaml
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  max_active_ch_nr: []
+  break_loop: true
+  n_classes: 2
+  thr_prob: 0.8
+  deadtime: 40
+  include_channels: [20]
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_triggers: 2
+  online: false
+  psth: !munch.Munch
+    cut: [-40, 100]
+  n_features: 1024

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_12_56_38.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+plot: !munch.Munch
+  filter_min_rate: 2
+  fps: 10.0
+  channels: [20, 24, 99]
+  pca: false
+feedback: !munch.Munch {target_tone_length: 1.0, hold_iterations: 2, tone_length: 0.25,
+  target_n_tones: 5, feedback_tone: true, alpha: 360, beta: 120}
+system: !munch.Munch {plot: 0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+daq: !munch.Munch
+  daq_sleep: 0.1
+  smpl_fct: 30
+  car_channels: []
+  trigger_len: 50
+  exclude_channels: []
+  fs: 30000.0
+  n_channels_max: 128
+  data_source: spike_rates
+  spike_band_power: !munch.Munch
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    sample_group: 6
+    loop_interval: 50
+    integrated_samples: 1500
+    average_n_bins: 10
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  normalization: !munch.Munch
+    len: 600.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    update_interval: 10.0
+    do_update: false
+    use_all_channels: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    range: [10, 90]
+    clamp_firing_rates: true
+  n_channels: 128
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+speller: !munch.Munch {type: feedback, speller_matrix: true, audio: true, audio_result_fb: true,
+  pyttsx_rate: 100}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, bl: true, decode: false, bl_rand: false}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+classifier: !munch.Munch
+  thr_window: 40
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  online: false
+  exclude_data_channels: []
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  max_active_ch_nr: []
+  saved_model_conf_name: config/model_conf.yaml
+  psth: !munch.Munch
+    cut: [-40, 100]
+  n_triggers: 2
+  include_channels: [20]
+  n_neg_train: 100000
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  break_loop: true
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  thr_prob: 0.8
+  deadtime: 40
+  trigger_pos: start
+  n_features: 1024
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval_data: 0.02, t_baseline_all: 1.0, t_response: 5.0,
+    bci_loop_interval: 0.05, recording_loop_interval: 0.05, t_baseline_1: 5.0, t_after_stimulus: 0.0,
+    t_baseline_rand: 1.0, decoder_refresh_interval: 0.01}
+sim_data: !munch.Munch {rate_bl: 10}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_12_56_38.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_12_56_38.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_12_56_38.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_12_56_38.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_12_56_38.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_12_56_38.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_12_56_38.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_12_56_38.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_12_56_38.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback_wo_reward.yaml]
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    symmetrical: true
+    number_of_stim: 10
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    play_end_feedback: !munch.Munch {success: false, fail: false}
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_13_02_10.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+plot: !munch.Munch
+  pca: false
+  fps: 10.0
+  channels: [20, 24, 99]
+  filter_min_rate: 2
+feedback: !munch.Munch {alpha: 360, target_tone_length: 1.0, feedback_tone: true,
+  hold_iterations: 2, target_n_tones: 5, tone_length: 0.25, beta: 120}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  feedback: !munch.Munch
+    mode: [Training, Validation]
+    number_of_stim: 10
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    symmetrical: true
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    selected_mode: 0
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    audio_path: /kiap/data/speller/feedback/
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+sim_data: !munch.Munch {rate_bl: 10}
+classifier: !munch.Munch
+  n_classes: 2
+  online: false
+  thr_window: 40
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  max_active_ch_nr: []
+  deadtime: 40
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  break_loop: true
+  psth: !munch.Munch
+    cut: [-40, 100]
+  n_neg_train: 100000
+  thr_prob: 0.8
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  trigger_pos: start
+  n_triggers: 2
+  exclude_data_channels: []
+  saved_model_conf_name: config/model_conf.yaml
+  include_channels: [20]
+  n_features: 1024
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_after_stimulus: 0.5, t_baseline_all: 1.0,
+    recording_loop_interval_data: 0.02, t_response: 5.0, bci_loop_interval: 0.05,
+    t_baseline_rand: 1.0, recording_loop_interval: 0.05, decoder_refresh_interval: 0.01}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+system: !munch.Munch {plot: 0}
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, stimulus: true, bl: true, decode: false}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  data_source: spike_rates
+  smpl_fct: 30
+  car_channels: []
+  spike_band_power: !munch.Munch
+    integrated_samples: 1500
+    sample_group: 6
+    average_n_bins: 10
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    loop_interval: 50
+  fs: 30000.0
+  trigger_len: 50
+  exclude_channels: []
+  normalization: !munch.Munch
+    do_update: false
+    range: [10, 90]
+    update_interval: 10.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    use_all_channels: false
+    clamp_firing_rates: true
+    len: 600.0
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+  n_channels_max: 128
+  daq_sleep: 0.1
+  n_channels: 128
+speller: !munch.Munch {speller_matrix: true, type: feedback, audio: true, audio_result_fb: true,
+  pyttsx_rate: 100}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_13_02_10.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_13_02_10.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_13_02_10.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_13_02_10.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_13_02_10.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_13_02_10.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_13_02_10.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_13_02_10.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_13_02_10.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_13_08_21.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+daq: !munch.Munch
+  n_channels_max: 128
+  data_source: spike_rates
+  normalization: !munch.Munch
+    do_update: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    range: [10, 90]
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    len: 600.0
+    use_all_channels: false
+    clamp_firing_rates: true
+    update_interval: 10.0
+  spike_band_power: !munch.Munch
+    sample_group: 6
+    loop_interval: 50
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    integrated_samples: 1500
+    average_n_bins: 10
+  car_channels: []
+  trigger_len: 50
+  fs: 30000.0
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  smpl_fct: 30
+  exclude_channels: []
+  daq_sleep: 0.1
+  n_channels: 128
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_13_08_21.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_13_08_21.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_13_08_21.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_13_08_21.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_13_08_21.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_13_08_21.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_13_08_21.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_13_08_21.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_13_08_21.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}
+recording: !munch.Munch
+  timing: !munch.Munch {bci_loop_interval: 0.05, recording_loop_interval: 0.05, decoder_refresh_interval: 0.01,
+    t_baseline_all: 1.0, t_response: 5.0, t_baseline_rand: 1.0, recording_loop_interval_data: 0.02,
+    t_after_stimulus: 0.5, t_baseline_1: 5.0}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  online: false
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  thr_window: 40
+  exclude_data_channels: []
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  thr_prob: 0.8
+  n_classes: 2
+  deadtime: 40
+  break_loop: true
+  saved_model_conf_name: config/model_conf.yaml
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  include_channels: [20]
+  n_triggers: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  n_neg_train: 100000
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  trigger_pos: start
+  n_features: 1024
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+speller: !munch.Munch {audio: true, type: feedback, audio_result_fb: true, speller_matrix: true,
+  pyttsx_rate: 100}
+system: !munch.Munch {plot: 0}
+feedback: !munch.Munch {target_tone_length: 1.0, hold_iterations: 2, target_n_tones: 5,
+  beta: 120, tone_length: 0.25, feedback_tone: true, alpha: 360}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+plot: !munch.Munch
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+  pca: false
+  fps: 10.0
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    audio_path: /kiap/data/speller/feedback/
+    selected_mode: 0
+    symmetrical: true
+    mode: [Training, Validation]
+    number_of_stim: 10
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, bl: true, bl_rand: true, stimulus: true}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_13_21_05.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+daq: !munch.Munch
+  car_channels: []
+  daq_sleep: 0.1
+  data_source: spike_rates
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  fs: 30000.0
+  normalization: !munch.Munch
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    update_interval: 10.0
+    range: [10, 90]
+    do_update: false
+    clamp_firing_rates: true
+    use_all_channels: false
+    len: 600.0
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+  smpl_fct: 30
+  trigger_len: 50
+  exclude_channels: []
+  spike_band_power: !munch.Munch
+    average_n_bins: 10
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    sample_group: 6
+    loop_interval: 50
+    integrated_samples: 1500
+  n_channels_max: 128
+  n_channels: 128
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+system: !munch.Munch {plot: 0}
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  feedback: !munch.Munch
+    audio_path: /kiap/data/speller/feedback/
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    symmetrical: true
+    number_of_stim: 10
+    mode: [Training, Validation]
+    selected_mode: 0
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+classifier: !munch.Munch
+  exclude_data_channels: []
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  include_channels: [20]
+  deadtime: 40
+  thr_window: 40
+  max_active_ch_nr: []
+  n_neg_train: 100000
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  psth: !munch.Munch
+    cut: [-40, 100]
+  online: false
+  trigger_pos: start
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  thr_prob: 0.8
+  break_loop: true
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_triggers: 2
+  n_classes: 2
+  saved_model_conf_name: config/model_conf.yaml
+  n_features: 1024
+plot: !munch.Munch
+  fps: 10.0
+  pca: false
+  channels: [20, 24, 99]
+  filter_min_rate: 2
+speller: !munch.Munch {audio: true, speller_matrix: true, audio_result_fb: true, pyttsx_rate: 100,
+  type: feedback}
+feedback: !munch.Munch {tone_length: 0.25, beta: 120, alpha: 360, target_n_tones: 5,
+  hold_iterations: 2, target_tone_length: 1.0, feedback_tone: true}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+recording: !munch.Munch
+  timing: !munch.Munch {t_response: 5.0, t_baseline_1: 5.0, decoder_refresh_interval: 0.01,
+    t_after_stimulus: 0.5, bci_loop_interval: 0.05, recording_loop_interval: 0.05,
+    recording_loop_interval_data: 0.02, t_baseline_rand: 1.0, t_baseline_all: 1.0}
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, bl_rand: true, bl: true, decode: false}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_13_21_05.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_13_21_05.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_13_21_05.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_13_21_05.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_13_21_05.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_13_21_05.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_13_21_05.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_13_21_05.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_13_21_05.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_13_38_18.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+plot: !munch.Munch
+  fps: 10.0
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+  pca: false
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+system: !munch.Munch {plot: 0}
+classifier: !munch.Munch
+  include_channels: [20]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  online: false
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  psth: !munch.Munch
+    cut: [-40, 100]
+  thr_window: 40
+  n_classes: 2
+  saved_model_conf_name: config/model_conf.yaml
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  thr_prob: 0.8
+  n_neg_train: 100000
+  n_triggers: 2
+  exclude_data_channels: []
+  break_loop: true
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  max_active_ch_nr: []
+  trigger_pos: start
+  n_features: 1024
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, bl_rand: true, bl: true, stimulus: true}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+speller: !munch.Munch {audio: true, speller_matrix: true, pyttsx_rate: 100, type: feedback,
+  audio_result_fb: true}
+daq: !munch.Munch
+  fs: 30000.0
+  n_channels_max: 128
+  normalization: !munch.Munch
+    update_interval: 10.0
+    clamp_firing_rates: true
+    len: 600.0
+    range: [10, 90]
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    do_update: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    use_all_channels: false
+  daq_sleep: 0.1
+  trigger_len: 50
+  data_source: spike_rates
+  spike_band_power: !munch.Munch
+    sample_group: 6
+    integrated_samples: 1500
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    average_n_bins: 10
+    loop_interval: 50
+  car_channels: []
+  exclude_channels: []
+  smpl_fct: 30
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  n_channels: 128
+recording: !munch.Munch
+  timing: !munch.Munch {decoder_refresh_interval: 0.01, t_baseline_1: 5.0, recording_loop_interval: 0.05,
+    recording_loop_interval_data: 0.02, t_after_stimulus: 0.5, t_response: 5.0, t_baseline_all: 1.0,
+    bci_loop_interval: 0.05, t_baseline_rand: 1.0}
+feedback: !munch.Munch {target_tone_length: 1.0, alpha: 360, feedback_tone: true,
+  target_n_tones: 5, tone_length: 0.25, beta: 120, hold_iterations: 2}
+paradigms: !munch.Munch
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  feedback: !munch.Munch
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    number_of_stim: 10
+    mode: [Training, Validation]
+    symmetrical: true
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    audio_path: /kiap/data/speller/feedback/
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    selected_mode: 0
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_13_38_18.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_13_38_18.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_13_38_18.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_13_38_18.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_13_38_18.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_13_38_18.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_13_38_18.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_13_38_18.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_13_38_18.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+sim_data: !munch.Munch {rate_bl: 10}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_14_21_33.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+plot: !munch.Munch
+  fps: 10.0
+  pca: false
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+daq: !munch.Munch
+  spike_band_power: !munch.Munch
+    loop_interval: 50
+    sample_group: 6
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    integrated_samples: 1500
+    average_n_bins: 10
+  fs: 30000.0
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  trigger_len: 50
+  n_channels_max: 128
+  car_channels: []
+  normalization: !munch.Munch
+    len: 600.0
+    do_update: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    range: [10, 90]
+    clamp_firing_rates: true
+    update_interval: 10.0
+    use_all_channels: false
+  daq_sleep: 0.1
+  exclude_channels: []
+  smpl_fct: 30
+  data_source: spike_rates
+  n_channels: 128
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, bl_rand: true, bl: true, stimulus: true}
+sim_data: !munch.Munch {rate_bl: 10}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_14_21_33.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_14_21_33.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_14_21_33.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_14_21_33.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_14_21_33.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_14_21_33.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_14_21_33.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_14_21_33.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_14_21_33.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+system: !munch.Munch {plot: 0}
+classifier: !munch.Munch
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  n_neg_train: 100000
+  thr_window: 40
+  saved_model_conf_name: config/model_conf.yaml
+  deadtime: 40
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  psth: !munch.Munch
+    cut: [-40, 100]
+  trigger_pos: start
+  break_loop: true
+  include_channels: [20]
+  n_classes: 2
+  online: false
+  max_active_ch_nr: []
+  thr_prob: 0.8
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  n_triggers: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  exclude_data_channels: []
+  n_features: 1024
+recording: !munch.Munch
+  timing: !munch.Munch {t_after_stimulus: 0.5, decoder_refresh_interval: 0.01, recording_loop_interval_data: 0.02,
+    recording_loop_interval: 0.05, t_response: 5.0, t_baseline_1: 5.0, t_baseline_all: 1.0,
+    t_baseline_rand: 1.0, bci_loop_interval: 0.05}
+feedback: !munch.Munch {hold_iterations: 2, feedback_tone: true, alpha: 360, tone_length: 0.25,
+  target_n_tones: 5, beta: 120, target_tone_length: 1.0}
+paradigms: !munch.Munch
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    symmetrical: true
+    number_of_stim: 10
+    selected_mode: 0
+    mode: [Training, Validation]
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    audio_path: /kiap/data/speller/feedback/
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+speller: !munch.Munch {speller_matrix: true, pyttsx_rate: 100, audio: true, audio_result_fb: true,
+  type: feedback}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_14_27_05.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+plot: !munch.Munch
+  fps: 10.0
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+  pca: false
+feedback: !munch.Munch {feedback_tone: true, hold_iterations: 2, tone_length: 0.25,
+  alpha: 360, target_tone_length: 1.0, beta: 120, target_n_tones: 5}
+speller: !munch.Munch {audio_result_fb: true, type: feedback, audio: true, pyttsx_rate: 100,
+  speller_matrix: true}
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, decode: false, stimulus: true, bl: true}
+classifier: !munch.Munch
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_triggers: 2
+  deadtime: 40
+  psth: !munch.Munch
+    cut: [-40, 100]
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_neg_train: 100000
+  break_loop: true
+  thr_prob: 0.8
+  thr_window: 40
+  saved_model_conf_name: config/model_conf.yaml
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  max_active_ch_nr: []
+  trigger_pos: start
+  online: false
+  exclude_data_channels: []
+  include_channels: [20]
+  n_classes: 2
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_features: 1024
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_all: 1.0, t_after_stimulus: 0.5, t_baseline_rand: 1.0,
+    t_baseline_1: 5.0, decoder_refresh_interval: 0.01, bci_loop_interval: 0.05, t_response: 5.0,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  feedback: !munch.Munch
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    audio_path: /kiap/data/speller/feedback/
+    mode: [Training, Validation]
+    symmetrical: true
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    selected_mode: 0
+    number_of_stim: 10
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+daq: !munch.Munch
+  normalization: !munch.Munch
+    use_all_channels: false
+    range: [10, 90]
+    update_interval: 10.0
+    len: 600.0
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    clamp_firing_rates: true
+    do_update: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+  spike_band_power: !munch.Munch
+    loop_interval: 50
+    integrated_samples: 1500
+    average_n_bins: 10
+    sample_group: 6
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  fs: 30000.0
+  n_channels_max: 128
+  data_source: spike_rates
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  car_channels: []
+  exclude_channels: []
+  n_channels: 128
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+system: !munch.Munch {plot: 0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+sim_data: !munch.Munch {rate_bl: 10}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_14_27_05.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_14_27_05.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_14_27_05.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_14_27_05.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_14_27_05.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_14_27_05.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_14_27_05.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_14_27_05.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_14_27_05.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_14_59_53.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_response: 5.0, bci_loop_interval: 0.05,
+    recording_loop_interval_data: 0.02, t_after_stimulus: 0.5, decoder_refresh_interval: 0.01,
+    recording_loop_interval: 0.05, t_baseline_rand: 1.0, t_baseline_all: 1.0}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_14_59_53.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_14_59_53.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_14_59_53.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_14_59_53.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_14_59_53.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_14_59_53.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_14_59_53.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_14_59_53.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_14_59_53.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+system: !munch.Munch {plot: 0}
+plot: !munch.Munch
+  fps: 10.0
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+  pca: false
+daq: !munch.Munch
+  daq_sleep: 0.1
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  car_channels: []
+  trigger_len: 50
+  n_channels_max: 128
+  spike_band_power: !munch.Munch
+    average_n_bins: 10
+    integrated_samples: 1500
+    sample_group: 6
+    loop_interval: 50
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+  fs: 30000.0
+  normalization: !munch.Munch
+    update_interval: 10.0
+    clamp_firing_rates: true
+    len: 600.0
+    range: [10, 90]
+    use_all_channels: false
+    do_update: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+  smpl_fct: 30
+  exclude_channels: []
+  data_source: spike_rates
+  n_channels: 128
+sim_data: !munch.Munch {rate_bl: 10}
+speller: !munch.Munch {audio_result_fb: true, speller_matrix: true, type: feedback,
+  audio: true, pyttsx_rate: 100}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+feedback: !munch.Munch {beta: 120, target_n_tones: 5, target_tone_length: 1.0, tone_length: 0.25,
+  feedback_tone: true, alpha: 360, hold_iterations: 2}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    symmetrical: true
+    number_of_stim: 10
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    audio_path: /kiap/data/speller/feedback/
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    selected_mode: 0
+    mode: [Training, Validation]
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, decode: false, bl_rand: true, stimulus: true}
+classifier: !munch.Munch
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  saved_model_conf_name: config/model_conf.yaml
+  thr_prob: 0.8
+  n_triggers: 2
+  deadtime: 40
+  max_active_ch_nr: []
+  online: false
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  include_channels: [20]
+  n_neg_train: 100000
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  thr_window: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  psth: !munch.Munch
+    cut: [-40, 100]
+  trigger_pos: start
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  break_loop: true
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  exclude_data_channels: []
+  n_features: 1024
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-15/config_dump_15_55_16.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, decoder_refresh_interval: 0.01, recording_loop_interval: 0.05,
+    t_baseline_all: 1.0, t_after_stimulus: 0.5, t_baseline_rand: 1.0, recording_loop_interval_data: 0.02,
+    bci_loop_interval: 0.05, t_response: 5.0}
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, bl: true, stimulus: true, decode: false}
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    symmetrical: true
+    selected_mode: 0
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    mode: [Training, Validation]
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+plot: !munch.Munch
+  channels: [20, 24, 99]
+  filter_min_rate: 2
+  pca: false
+  fps: 10.0
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+system: !munch.Munch {plot: 0}
+classifier: !munch.Munch
+  n_classes: 2
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  thr_window: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  exclude_data_channels: []
+  online: false
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  break_loop: true
+  max_active_ch_nr: []
+  n_neg_train: 100000
+  deadtime: 40
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+  thr_prob: 0.8
+  saved_model_conf_name: config/model_conf.yaml
+  trigger_pos: start
+  n_features: 1024
+speller: !munch.Munch {pyttsx_rate: 100, speller_matrix: true, audio_result_fb: true,
+  type: feedback, audio: true}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-15,
+  filename_data: /data/clinical/neural/fr/2019-08-15/data_15_55_16.bin, filename_baseline: /data/clinical/neural/fr/2019-08-15/bl_15_55_16.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-15/info_15_55_16.log, filename_log_debug: /data/clinical/neural/fr/2019-08-15/debug_15_55_16.log,
+  filename_events: /data/clinical/neural/fr/2019-08-15/events_15_55_16.txt, filename_config: /data/clinical/neural/fr/2019-08-15/config_15_55_16.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-15/paradigm_15_55_16.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-15/config_dump_15_55_16.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-15/git_changes_15_55_16.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-15/history.bin, git_hash: 6fcc149}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+feedback: !munch.Munch {tone_length: 0.25, beta: 120, target_n_tones: 5, alpha: 360,
+  hold_iterations: 2, target_tone_length: 1.0, feedback_tone: true}
+daq: !munch.Munch
+  smpl_fct: 30
+  spike_band_power: !munch.Munch
+    loop_interval: 50
+    sample_group: 6
+    average_n_bins: 10
+    integrated_samples: 1500
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+  normalization: !munch.Munch
+    range: [10, 90]
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    do_update: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    len: 600.0
+    clamp_firing_rates: true
+    use_all_channels: false
+    update_interval: 10.0
+  data_source: spike_rates
+  n_channels_max: 128
+  exclude_channels: []
+  daq_sleep: 0.1
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  car_channels: []
+  fs: 30000.0
+  trigger_len: 50
+  n_channels: 128
+sim_data: !munch.Munch {rate_bl: 10}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-16/config_dump_11_54_24.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+speller: !munch.Munch {audio: true, type: feedback, audio_result_fb: true, pyttsx_rate: 100,
+  speller_matrix: true}
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, bl: true, stimulus: true, bl_rand: false}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback_wo_reward.yaml]
+classifier: !munch.Munch
+  thr_window: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_neg_train: 100000
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  online: false
+  n_triggers: 2
+  include_channels: [20]
+  max_active_ch_nr: []
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  exclude_data_channels: []
+  saved_model_conf_name: config/model_conf.yaml
+  psth: !munch.Munch
+    cut: [-40, 100]
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  break_loop: true
+  deadtime: 40
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  trigger_pos: start
+  thr_prob: 0.8
+  n_features: 1024
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+plot: !munch.Munch
+  pca: false
+  channels: [20, 24, 99]
+  fps: 10.0
+  filter_min_rate: 2
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+feedback: !munch.Munch {beta: 120, target_tone_length: 1.0, alpha: 360, target_n_tones: 5,
+  tone_length: 0.25, feedback_tone: true, hold_iterations: 2}
+paradigms: !munch.Munch
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  feedback: !munch.Munch
+    symmetrical: true
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    number_of_stim: 10
+    play_end_feedback: !munch.Munch {success: false, fail: false}
+    mode: [Training, Validation]
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+system: !munch.Munch {plot: 0}
+sim_data: !munch.Munch {rate_bl: 10}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-16,
+  filename_data: /data/clinical/neural/fr/2019-08-16/data_11_54_24.bin, filename_baseline: /data/clinical/neural/fr/2019-08-16/bl_11_54_24.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-16/info_11_54_24.log, filename_log_debug: /data/clinical/neural/fr/2019-08-16/debug_11_54_24.log,
+  filename_events: /data/clinical/neural/fr/2019-08-16/events_11_54_24.txt, filename_config: /data/clinical/neural/fr/2019-08-16/config_11_54_24.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-16/paradigm_11_54_24.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-16/config_dump_11_54_24.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-16/git_changes_11_54_24.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-16/history.bin, git_hash: 6fcc149}
+daq: !munch.Munch
+  car_channels: []
+  trigger_len: 50
+  n_channels_max: 128
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    use_all_channels: false
+    update_interval: 10.0
+    len: 600.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    do_update: false
+  exclude_channels: []
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  smpl_fct: 30
+  fs: 30000.0
+  spike_band_power: !munch.Munch
+    average_n_bins: 10
+    sample_group: 6
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    loop_interval: 50
+    integrated_samples: 1500
+  data_source: spike_rates
+  n_channels: 128
+recording: !munch.Munch
+  timing: !munch.Munch {decoder_refresh_interval: 0.01, t_response: 5.0, t_after_stimulus: 0.0,
+    t_baseline_1: 5.0, recording_loop_interval: 0.05, bci_loop_interval: 0.05, recording_loop_interval_data: 0.02,
+    t_baseline_rand: 1.0, t_baseline_all: 1.0}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-16/config_dump_11_58_42.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+daq: !munch.Munch
+  n_channels_max: 128
+  car_channels: []
+  normalization: !munch.Munch
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    range: [10, 90]
+    update_interval: 10.0
+    len: 600.0
+    clamp_firing_rates: true
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    do_update: false
+  spike_band_power: !munch.Munch
+    sample_group: 6
+    integrated_samples: 1500
+    average_n_bins: 10
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    loop_interval: 50
+  trigger_len: 50
+  data_source: spike_rates
+  exclude_channels: []
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  fs: 30000.0
+  daq_sleep: 0.1
+  smpl_fct: 30
+  n_channels: 128
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+speller: !munch.Munch {audio: true, audio_result_fb: true, pyttsx_rate: 100, type: feedback,
+  speller_matrix: true}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, decode: false, bl: true, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {bci_loop_interval: 0.05, t_baseline_all: 1.0, recording_loop_interval_data: 0.02,
+    t_response: 5.0, t_baseline_rand: 1.0, t_baseline_1: 5.0, recording_loop_interval: 0.05,
+    t_after_stimulus: 0.5, decoder_refresh_interval: 0.01}
+paradigms: !munch.Munch
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  feedback: !munch.Munch
+    number_of_stim: 10
+    mode: [Training, Validation]
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    audio_path: /kiap/data/speller/feedback/
+    symmetrical: true
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    selected_mode: 0
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+system: !munch.Munch {plot: 0}
+classifier: !munch.Munch
+  deadtime: 40
+  n_classes: 2
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  max_active_ch_nr: []
+  n_triggers: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  trigger_pos: start
+  psth: !munch.Munch
+    cut: [-40, 100]
+  online: false
+  break_loop: true
+  include_channels: [20]
+  thr_window: 40
+  thr_prob: 0.8
+  exclude_data_channels: []
+  saved_model_conf_name: config/model_conf.yaml
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_neg_train: 100000
+  n_features: 1024
+sim_data: !munch.Munch {rate_bl: 10}
+feedback: !munch.Munch {alpha: 360, tone_length: 0.25, feedback_tone: true, target_n_tones: 5,
+  target_tone_length: 1.0, hold_iterations: 2, beta: 120}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-16,
+  filename_data: /data/clinical/neural/fr/2019-08-16/data_11_58_42.bin, filename_baseline: /data/clinical/neural/fr/2019-08-16/bl_11_58_42.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-16/info_11_58_42.log, filename_log_debug: /data/clinical/neural/fr/2019-08-16/debug_11_58_42.log,
+  filename_events: /data/clinical/neural/fr/2019-08-16/events_11_58_42.txt, filename_config: /data/clinical/neural/fr/2019-08-16/config_11_58_42.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-16/paradigm_11_58_42.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-16/config_dump_11_58_42.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-16/git_changes_11_58_42.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-16/history.bin, git_hash: 6fcc149}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+plot: !munch.Munch
+  channels: [20, 24, 99]
+  filter_min_rate: 2
+  fps: 10.0
+  pca: false

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-16/config_dump_12_03_29.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+daq: !munch.Munch
+  n_channels_max: 128
+  fs: 30000.0
+  trigger_len: 50
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  exclude_channels: []
+  normalization: !munch.Munch
+    range: [10, 90]
+    clamp_firing_rates: true
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    use_all_channels: false
+    update_interval: 10.0
+    len: 600.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    do_update: false
+  data_source: spike_rates
+  spike_band_power: !munch.Munch
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    sample_group: 6
+    integrated_samples: 1500
+    loop_interval: 50
+    average_n_bins: 10
+  smpl_fct: 30
+  car_channels: []
+  daq_sleep: 0.1
+  n_channels: 128
+speller: !munch.Munch {audio: true, audio_result_fb: true, pyttsx_rate: 100, type: feedback,
+  speller_matrix: true}
+classifier: !munch.Munch
+  deadtime: 40
+  include_channels: [20]
+  thr_window: 40
+  n_neg_train: 100000
+  saved_model_conf_name: config/model_conf.yaml
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  online: false
+  max_active_ch_nr: []
+  trigger_pos: start
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  psth: !munch.Munch
+    cut: [-40, 100]
+  break_loop: true
+  thr_prob: 0.8
+  exclude_data_channels: []
+  n_features: 1024
+recording: !munch.Munch
+  timing: !munch.Munch {decoder_refresh_interval: 0.01, t_baseline_all: 1.0, t_baseline_rand: 1.0,
+    bci_loop_interval: 0.05, t_baseline_1: 5.0, t_after_stimulus: 0.5, recording_loop_interval_data: 0.02,
+    t_response: 5.0, recording_loop_interval: 0.05}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+paradigms: !munch.Munch
+  feedback: !munch.Munch
+    number_of_stim: 10
+    audio_path: /kiap/data/speller/feedback/
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    symmetrical: true
+    mode: [Training, Validation]
+    selected_mode: 0
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+system: !munch.Munch {plot: 0}
+sim_data: !munch.Munch {rate_bl: 10}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+feedback: !munch.Munch {beta: 120, target_n_tones: 5, tone_length: 0.25, alpha: 360,
+  feedback_tone: true, hold_iterations: 2, target_tone_length: 1.0}
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, stimulus: true, bl: true, bl_rand: true}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+plot: !munch.Munch
+  fps: 10.0
+  channels: [20, 24, 99]
+  pca: false
+  filter_min_rate: 2
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-16,
+  filename_data: /data/clinical/neural/fr/2019-08-16/data_12_03_29.bin, filename_baseline: /data/clinical/neural/fr/2019-08-16/bl_12_03_29.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-16/info_12_03_29.log, filename_log_debug: /data/clinical/neural/fr/2019-08-16/debug_12_03_29.log,
+  filename_events: /data/clinical/neural/fr/2019-08-16/events_12_03_29.txt, filename_config: /data/clinical/neural/fr/2019-08-16/config_12_03_29.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-16/paradigm_12_03_29.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-16/config_dump_12_03_29.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-16/git_changes_12_03_29.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-16/history.bin, git_hash: 6fcc149}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-16/config_dump_12_52_14.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+plot: !munch.Munch
+  fps: 10.0
+  filter_min_rate: 2
+  pca: false
+  channels: [20, 24, 99]
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+daq: !munch.Munch
+  trigger_len: 50
+  exclude_channels: []
+  n_channels_max: 128
+  fs: 30000.0
+  data_source: spike_rates
+  smpl_fct: 30
+  spike_band_power: !munch.Munch
+    average_n_bins: 10
+    sample_group: 6
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    loop_interval: 50
+    integrated_samples: 1500
+  car_channels: []
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    update_interval: 10.0
+    range: [10, 90]
+    use_all_channels: false
+    len: 600.0
+    clamp_firing_rates: true
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    do_update: false
+  n_channels: 128
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, decode: false, stimulus: true, bl_rand: true}
+system: !munch.Munch {plot: 0}
+classifier: !munch.Munch
+  break_loop: true
+  deadtime: 40
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  trigger_pos: start
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  max_active_ch_nr: []
+  saved_model_conf_name: config/model_conf.yaml
+  n_triggers: 2
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  online: false
+  n_classes: 2
+  include_channels: [20]
+  n_neg_train: 100000
+  thr_prob: 0.8
+  thr_window: 40
+  exclude_data_channels: []
+  psth: !munch.Munch
+    cut: [-40, 100]
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_features: 1024
+feedback: !munch.Munch {alpha: 360, tone_length: 0.25, feedback_tone: true, target_n_tones: 5,
+  hold_iterations: 2, beta: 120, target_tone_length: 1.0}
+sim_data: !munch.Munch {rate_bl: 10}
+speller: !munch.Munch {audio_result_fb: true, speller_matrix: true, type: feedback,
+  audio: true, pyttsx_rate: 100}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-16,
+  filename_data: /data/clinical/neural/fr/2019-08-16/data_12_52_14.bin, filename_baseline: /data/clinical/neural/fr/2019-08-16/bl_12_52_14.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-16/info_12_52_14.log, filename_log_debug: /data/clinical/neural/fr/2019-08-16/debug_12_52_14.log,
+  filename_events: /data/clinical/neural/fr/2019-08-16/events_12_52_14.txt, filename_config: /data/clinical/neural/fr/2019-08-16/config_12_52_14.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-16/paradigm_12_52_14.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-16/config_dump_12_52_14.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-16/git_changes_12_52_14.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-16/history.bin, git_hash: 6fcc149}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  feedback: !munch.Munch
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    audio_path: /kiap/data/speller/feedback/
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    selected_mode: 0
+    mode: [Training, Validation]
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, t_baseline_rand: 1.0, t_response: 5.0,
+    t_after_stimulus: 0.5, t_baseline_all: 1.0, bci_loop_interval: 0.05, recording_loop_interval_data: 0.02,
+    recording_loop_interval: 0.05, decoder_refresh_interval: 0.01}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_02_58.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback_wo_reward.yaml]
+classifier: !munch.Munch
+  trigger_pos: start
+  saved_model_conf_name: config/model_conf.yaml
+  break_loop: true
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_triggers: 2
+  max_active_ch_nr: []
+  include_channels: [20]
+  n_neg_train: 100000
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_classes: 2
+  exclude_data_channels: []
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  online: false
+  thr_prob: 0.8
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  deadtime: 40
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  psth: !munch.Munch
+    cut: [-40, 100]
+  thr_window: 40
+  n_features: 1024
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+plot: !munch.Munch
+  fps: 10.0
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+  pca: false
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-20,
+  filename_data: /data/clinical/neural/fr/2019-08-20/data_13_02_58.bin, filename_baseline: /data/clinical/neural/fr/2019-08-20/bl_13_02_58.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-20/info_13_02_58.log, filename_log_debug: /data/clinical/neural/fr/2019-08-20/debug_13_02_58.log,
+  filename_events: /data/clinical/neural/fr/2019-08-20/events_13_02_58.txt, filename_config: /data/clinical/neural/fr/2019-08-20/config_13_02_58.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-20/paradigm_13_02_58.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-20/config_dump_13_02_58.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-20/git_changes_13_02_58.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-20/history.bin, git_hash: 6fcc149}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+system: !munch.Munch {plot: 0}
+paradigms: !munch.Munch
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    number_of_stim: 10
+    mode: [Training, Validation]
+    symmetrical: true
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    play_end_feedback: !munch.Munch {success: false, fail: false}
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+speller: !munch.Munch {audio_result_fb: true, speller_matrix: true, audio: true, type: feedback,
+  pyttsx_rate: 100}
+feedback: !munch.Munch {alpha: 360, target_n_tones: 5, beta: 120, hold_iterations: 2,
+  target_tone_length: 1.0, tone_length: 0.25, feedback_tone: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_response: 5.0, bci_loop_interval: 0.05, t_baseline_1: 5.0,
+    recording_loop_interval: 0.05, recording_loop_interval_data: 0.02, t_after_stimulus: 0.0,
+    decoder_refresh_interval: 0.01, t_baseline_all: 1.0, t_baseline_rand: 1.0}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+sim_data: !munch.Munch {rate_bl: 10}
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, bl_rand: false, stimulus: true, bl: true}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+daq: !munch.Munch
+  daq_sleep: 0.1
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  trigger_len: 50
+  fs: 30000.0
+  car_channels: []
+  smpl_fct: 30
+  exclude_channels: []
+  normalization: !munch.Munch
+    len: 600.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    do_update: false
+    range: [10, 90]
+    clamp_firing_rates: true
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    update_interval: 10.0
+    use_all_channels: false
+  spike_band_power: !munch.Munch
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    loop_interval: 50
+    average_n_bins: 10
+    sample_group: 6
+    integrated_samples: 1500
+  data_source: spike_rates
+  n_channels_max: 128
+  n_channels: 128

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_07_43.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+daq: !munch.Munch
+  car_channels: []
+  trigger_len: 50
+  fs: 30000.0
+  smpl_fct: 30
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    do_update: false
+    update_interval: 10.0
+    clamp_firing_rates: true
+    len: 600.0
+    range: [10, 90]
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    use_all_channels: false
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  spike_band_power: !munch.Munch
+    integrated_samples: 1500
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    average_n_bins: 10
+    loop_interval: 50
+    sample_group: 6
+  exclude_channels: []
+  n_channels_max: 128
+  data_source: spike_rates
+  n_channels: 128
+sim_data: !munch.Munch {rate_bl: 10}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback_wo_reward.yaml]
+feedback: !munch.Munch {target_tone_length: 1.0, beta: 120, target_n_tones: 5, hold_iterations: 2,
+  alpha: 360, tone_length: 0.25, feedback_tone: true}
+plot: !munch.Munch
+  channels: [20, 24, 99]
+  pca: false
+  filter_min_rate: 2
+  fps: 10.0
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+speller: !munch.Munch {audio_result_fb: true, pyttsx_rate: 100, type: feedback, audio: true,
+  speller_matrix: true}
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    number_of_stim: 10
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    mode: [Training, Validation]
+    play_end_feedback: !munch.Munch {success: false, fail: false}
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+classifier: !munch.Munch
+  saved_model_conf_name: config/model_conf.yaml
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  n_triggers: 2
+  break_loop: true
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  thr_window: 40
+  include_channels: [20]
+  deadtime: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  max_active_ch_nr: []
+  exclude_data_channels: []
+  online: false
+  thr_prob: 0.8
+  n_classes: 2
+  trigger_pos: start
+  n_neg_train: 100000
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_features: 1024
+system: !munch.Munch {plot: 0}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-20,
+  filename_data: /data/clinical/neural/fr/2019-08-20/data_13_07_43.bin, filename_baseline: /data/clinical/neural/fr/2019-08-20/bl_13_07_43.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-20/info_13_07_43.log, filename_log_debug: /data/clinical/neural/fr/2019-08-20/debug_13_07_43.log,
+  filename_events: /data/clinical/neural/fr/2019-08-20/events_13_07_43.txt, filename_config: /data/clinical/neural/fr/2019-08-20/config_13_07_43.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-20/paradigm_13_07_43.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-20/config_dump_13_07_43.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-20/git_changes_13_07_43.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-20/history.bin, git_hash: 6fcc149}
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, decode: false, bl_rand: false, stimulus: true}
+recording: !munch.Munch
+  timing: !munch.Munch {t_after_stimulus: 0.0, t_baseline_rand: 1.0, t_baseline_all: 1.0,
+    t_response: 5.0, t_baseline_1: 5.0, recording_loop_interval: 0.05, decoder_refresh_interval: 0.01,
+    recording_loop_interval_data: 0.02, bci_loop_interval: 0.05}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_13_25.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+sim_data: !munch.Munch {rate_bl: 10}
+daq: !munch.Munch
+  car_channels: []
+  exclude_channels: []
+  n_channels_max: 128
+  fs: 30000.0
+  trigger_len: 50
+  data_source: spike_rates
+  normalization: !munch.Munch
+    do_update: false
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    update_interval: 10.0
+    range: [10, 90]
+    clamp_firing_rates: true
+    len: 600.0
+  smpl_fct: 30
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  spike_band_power: !munch.Munch
+    integrated_samples: 1500
+    average_n_bins: 10
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    loop_interval: 50
+    sample_group: 6
+  daq_sleep: 0.1
+  n_channels: 128
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    mode: [Training, Validation]
+    number_of_stim: 10
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    selected_mode: 0
+    audio_path: /kiap/data/speller/feedback/
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+feedback: !munch.Munch {hold_iterations: 2, beta: 120, alpha: 360, tone_length: 0.25,
+  target_tone_length: 1.0, feedback_tone: true, target_n_tones: 5}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+classifier: !munch.Munch
+  thr_window: 40
+  n_triggers: 2
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  thr_prob: 0.8
+  max_active_ch_nr: []
+  n_classes: 2
+  exclude_data_channels: []
+  saved_model_conf_name: config/model_conf.yaml
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_neg_train: 100000
+  break_loop: true
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  online: false
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  include_channels: [20]
+  deadtime: 40
+  psth: !munch.Munch
+    cut: [-40, 100]
+  trigger_pos: start
+  n_features: 1024
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, stimulus: true, bl: true, decode: false}
+plot: !munch.Munch
+  pca: false
+  filter_min_rate: 2
+  fps: 10.0
+  channels: [20, 24, 99]
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+speller: !munch.Munch {pyttsx_rate: 100, type: feedback, audio: true, audio_result_fb: true,
+  speller_matrix: true}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-20,
+  filename_data: /data/clinical/neural/fr/2019-08-20/data_13_13_25.bin, filename_baseline: /data/clinical/neural/fr/2019-08-20/bl_13_13_25.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-20/info_13_13_25.log, filename_log_debug: /data/clinical/neural/fr/2019-08-20/debug_13_13_25.log,
+  filename_events: /data/clinical/neural/fr/2019-08-20/events_13_13_25.txt, filename_config: /data/clinical/neural/fr/2019-08-20/config_13_13_25.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-20/paradigm_13_13_25.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-20/config_dump_13_13_25.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-20/git_changes_13_13_25.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-20/history.bin, git_hash: 6fcc149}
+system: !munch.Munch {plot: 0}
+recording: !munch.Munch
+  timing: !munch.Munch {decoder_refresh_interval: 0.01, t_after_stimulus: 0.5, t_baseline_all: 1.0,
+    t_baseline_1: 5.0, recording_loop_interval: 0.05, recording_loop_interval_data: 0.02,
+    t_response: 5.0, bci_loop_interval: 0.05, t_baseline_rand: 1.0}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_18_00.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-20,
+  filename_data: /data/clinical/neural/fr/2019-08-20/data_13_18_00.bin, filename_baseline: /data/clinical/neural/fr/2019-08-20/bl_13_18_00.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-20/info_13_18_00.log, filename_log_debug: /data/clinical/neural/fr/2019-08-20/debug_13_18_00.log,
+  filename_events: /data/clinical/neural/fr/2019-08-20/events_13_18_00.txt, filename_config: /data/clinical/neural/fr/2019-08-20/config_13_18_00.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-20/paradigm_13_18_00.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-20/config_dump_13_18_00.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-20/git_changes_13_18_00.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-20/history.bin, git_hash: 6fcc149}
+plot: !munch.Munch
+  pca: false
+  fps: 10.0
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+feedback: !munch.Munch {target_n_tones: 5, beta: 120, hold_iterations: 2, target_tone_length: 1.0,
+  feedback_tone: true, alpha: 360, tone_length: 0.25}
+speller: !munch.Munch {audio: true, audio_result_fb: true, speller_matrix: true, type: feedback,
+  pyttsx_rate: 100}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_1: 5.0, recording_loop_interval: 0.05, t_after_stimulus: 0.5,
+    t_baseline_rand: 1.0, t_baseline_all: 1.0, t_response: 5.0, bci_loop_interval: 0.05,
+    recording_loop_interval_data: 0.02, decoder_refresh_interval: 0.01}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+sim_data: !munch.Munch {rate_bl: 10}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+paradigms: !munch.Munch
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  feedback: !munch.Munch
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    audio_path: /kiap/data/speller/feedback/
+    symmetrical: true
+    selected_mode: 0
+    mode: [Training, Validation]
+    number_of_stim: 10
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+classifier: !munch.Munch
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  include_channels: [20]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  trigger_pos: start
+  thr_prob: 0.8
+  n_triggers: 2
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_neg_train: 100000
+  break_loop: true
+  thr_window: 40
+  n_classes: 2
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  max_active_ch_nr: []
+  saved_model_conf_name: config/model_conf.yaml
+  exclude_data_channels: []
+  online: false
+  psth: !munch.Munch
+    cut: [-40, 100]
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  deadtime: 40
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  n_features: 1024
+daq: !munch.Munch
+  car_channels: []
+  exclude_channels: []
+  fs: 30000.0
+  smpl_fct: 30
+  normalization: !munch.Munch
+    range: [10, 90]
+    update_interval: 10.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    use_all_channels: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    do_update: false
+    len: 600.0
+    clamp_firing_rates: true
+  data_source: spike_rates
+  spike_band_power: !munch.Munch
+    loop_interval: 50
+    integrated_samples: 1500
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    average_n_bins: 10
+    sample_group: 6
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  daq_sleep: 0.1
+  trigger_len: 50
+  n_channels_max: 128
+  n_channels: 128

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_26_36.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+daq: !munch.Munch
+  fs: 30000.0
+  smpl_fct: 30
+  spike_band_power: !munch.Munch
+    sample_group: 6
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    average_n_bins: 10
+    loop_interval: 50
+    integrated_samples: 1500
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  car_channels: []
+  exclude_channels: []
+  trigger_len: 50
+  daq_sleep: 0.1
+  normalization: !munch.Munch
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    do_update: false
+    clamp_firing_rates: true
+    len: 600.0
+    update_interval: 10.0
+    use_all_channels: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    range: [10, 90]
+  n_channels_max: 128
+  data_source: spike_rates
+  n_channels: 128
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+system: !munch.Munch {plot: 0}
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, decode: false, bl: true, bl_rand: true}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+classifier: !munch.Munch
+  psth: !munch.Munch
+    cut: [-40, 100]
+  deadtime: 40
+  thr_prob: 0.8
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_classes: 2
+  online: false
+  include_channels: [20]
+  saved_model_conf_name: config/model_conf.yaml
+  trigger_pos: start
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  exclude_data_channels: []
+  n_neg_train: 100000
+  max_active_ch_nr: []
+  n_triggers: 2
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  break_loop: true
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  thr_window: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_features: 1024
+speller: !munch.Munch {speller_matrix: true, audio_result_fb: true, audio: true, type: feedback,
+  pyttsx_rate: 100}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-20,
+  filename_data: /data/clinical/neural/fr/2019-08-20/data_13_26_36.bin, filename_baseline: /data/clinical/neural/fr/2019-08-20/bl_13_26_36.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-20/info_13_26_36.log, filename_log_debug: /data/clinical/neural/fr/2019-08-20/debug_13_26_36.log,
+  filename_events: /data/clinical/neural/fr/2019-08-20/events_13_26_36.txt, filename_config: /data/clinical/neural/fr/2019-08-20/config_13_26_36.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-20/paradigm_13_26_36.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-20/config_dump_13_26_36.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-20/git_changes_13_26_36.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-20/history.bin, git_hash: 6fcc149}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+paradigms: !munch.Munch
+  feedback: !munch.Munch
+    symmetrical: true
+    selected_mode: 0
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    audio_path: /kiap/data/speller/feedback/
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    number_of_stim: 10
+    mode: [Training, Validation]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+feedback: !munch.Munch {beta: 120, alpha: 360, target_tone_length: 1.0, tone_length: 0.25,
+  target_n_tones: 5, feedback_tone: true, hold_iterations: 2}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_all: 1.0, decoder_refresh_interval: 0.01, recording_loop_interval_data: 0.02,
+    t_after_stimulus: 0.5, t_baseline_rand: 1.0, t_baseline_1: 5.0, bci_loop_interval: 0.05,
+    t_response: 5.0, recording_loop_interval: 0.05}
+sim_data: !munch.Munch {rate_bl: 10}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+plot: !munch.Munch
+  filter_min_rate: 2
+  fps: 10.0
+  pca: false
+  channels: [20, 24, 99]

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-20/config_dump_13_54_12.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+feedback: !munch.Munch {alpha: 360, target_n_tones: 5, target_tone_length: 1.0, beta: 120,
+  tone_length: 0.25, hold_iterations: 2, feedback_tone: true}
+plot: !munch.Munch
+  channels: [20, 24, 99]
+  filter_min_rate: 2
+  pca: false
+  fps: 10.0
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+daq: !munch.Munch
+  fs: 30000.0
+  smpl_fct: 30
+  trigger_len: 50
+  daq_sleep: 0.1
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  spike_band_power: !munch.Munch
+    loop_interval: 50
+    integrated_samples: 1500
+    sample_group: 6
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    average_n_bins: 10
+  exclude_channels: []
+  normalization: !munch.Munch
+    use_all_channels: false
+    update_interval: 10.0
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    len: 600.0
+    do_update: false
+    range: [10, 90]
+    clamp_firing_rates: true
+  car_channels: []
+  data_source: spike_rates
+  n_channels_max: 128
+  n_channels: 128
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+speller: !munch.Munch {audio_result_fb: true, pyttsx_rate: 100, speller_matrix: true,
+  type: feedback, audio: true}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+paradigms: !munch.Munch
+  feedback: !munch.Munch
+    selected_mode: 0
+    number_of_stim: 10
+    audio_path: /kiap/data/speller/feedback/
+    mode: [Training, Validation]
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    symmetrical: true
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+system: !munch.Munch {plot: 0}
+sim_data: !munch.Munch {rate_bl: 10}
+classifier: !munch.Munch
+  exclude_data_channels: []
+  include_channels: [20]
+  trigger_pos: start
+  n_neg_train: 100000
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  thr_window: 40
+  thr_prob: 0.8
+  n_triggers: 2
+  saved_model_conf_name: config/model_conf.yaml
+  psth: !munch.Munch
+    cut: [-40, 100]
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  n_classes: 2
+  deadtime: 40
+  online: false
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  max_active_ch_nr: []
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_features: 1024
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, stimulus: true, bl: true, bl_rand: true}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-20,
+  filename_data: /data/clinical/neural/fr/2019-08-20/data_13_54_12.bin, filename_baseline: /data/clinical/neural/fr/2019-08-20/bl_13_54_12.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-20/info_13_54_12.log, filename_log_debug: /data/clinical/neural/fr/2019-08-20/debug_13_54_12.log,
+  filename_events: /data/clinical/neural/fr/2019-08-20/events_13_54_12.txt, filename_config: /data/clinical/neural/fr/2019-08-20/config_13_54_12.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-20/paradigm_13_54_12.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-20/config_dump_13_54_12.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-20/git_changes_13_54_12.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-20/history.bin, git_hash: 6fcc149}
+recording: !munch.Munch
+  timing: !munch.Munch {decoder_refresh_interval: 0.01, t_baseline_all: 1.0, t_response: 5.0,
+    t_after_stimulus: 0.5, bci_loop_interval: 0.05, recording_loop_interval: 0.05,
+    recording_loop_interval_data: 0.02, t_baseline_1: 5.0, t_baseline_rand: 1.0}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-20/config_dump_14_14_50.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-20,
+  filename_data: /data/clinical/neural/fr/2019-08-20/data_14_14_50.bin, filename_baseline: /data/clinical/neural/fr/2019-08-20/bl_14_14_50.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-20/info_14_14_50.log, filename_log_debug: /data/clinical/neural/fr/2019-08-20/debug_14_14_50.log,
+  filename_events: /data/clinical/neural/fr/2019-08-20/events_14_14_50.txt, filename_config: /data/clinical/neural/fr/2019-08-20/config_14_14_50.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-20/paradigm_14_14_50.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-20/config_dump_14_14_50.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-20/git_changes_14_14_50.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-20/history.bin, git_hash: 6fcc149}
+sim_data: !munch.Munch {rate_bl: 10}
+daq: !munch.Munch
+  normalization: !munch.Munch
+    do_update: false
+    len: 600.0
+    clamp_firing_rates: true
+    update_interval: 10.0
+    range: [10, 90]
+    use_all_channels: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+  trigger_len: 50
+  car_channels: []
+  smpl_fct: 30
+  data_source: spike_rates
+  daq_sleep: 0.1
+  spike_band_power: !munch.Munch
+    integrated_samples: 1500
+    average_n_bins: 10
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    sample_group: 6
+    loop_interval: 50
+  n_channels_max: 128
+  exclude_channels: []
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  fs: 30000.0
+  n_channels: 128
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+session: !munch.Munch
+  flags: !munch.Munch {stimulus: true, decode: false, bl: true, bl_rand: true}
+paradigms: !munch.Munch
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  feedback: !munch.Munch
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    number_of_stim: 10
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    audio_path: /kiap/data/speller/feedback/
+    mode: [Training, Validation]
+    symmetrical: true
+    selected_mode: 0
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+feedback: !munch.Munch {tone_length: 0.25, target_n_tones: 5, alpha: 360, feedback_tone: true,
+  beta: 120, hold_iterations: 2, target_tone_length: 1.0}
+system: !munch.Munch {plot: 0}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+classifier: !munch.Munch
+  online: false
+  n_neg_train: 100000
+  saved_model_conf_name: config/model_conf.yaml
+  thr_window: 40
+  exclude_data_channels: []
+  deadtime: 40
+  break_loop: true
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  trigger_pos: start
+  n_classes: 2
+  max_active_ch_nr: []
+  thr_prob: 0.8
+  n_triggers: 2
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  include_channels: [20]
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  n_features: 1024
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval_data: 0.02, recording_loop_interval: 0.05,
+    bci_loop_interval: 0.05, t_after_stimulus: 0.5, decoder_refresh_interval: 0.01,
+    t_baseline_1: 5.0, t_response: 5.0, t_baseline_rand: 1.0, t_baseline_all: 1.0}
+plot: !munch.Munch
+  pca: false
+  channels: [20, 24, 99]
+  fps: 10.0
+  filter_min_rate: 2
+speller: !munch.Munch {audio_result_fb: true, pyttsx_rate: 100, speller_matrix: true,
+  type: feedback, audio: true}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-20/config_dump_14_20_55.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+daq: !munch.Munch
+  spike_band_power: !munch.Munch
+    sample_group: 6
+    average_n_bins: 10
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    loop_interval: 50
+    integrated_samples: 1500
+  fs: 30000.0
+  smpl_fct: 30
+  data_source: spike_rates
+  trigger_len: 50
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  daq_sleep: 0.1
+  exclude_channels: []
+  car_channels: []
+  normalization: !munch.Munch
+    range: [10, 90]
+    update_interval: 10.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    use_all_channels: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    do_update: false
+    len: 600.0
+    clamp_firing_rates: true
+  n_channels_max: 128
+  n_channels: 128
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+plot: !munch.Munch
+  filter_min_rate: 2
+  fps: 10.0
+  pca: false
+  channels: [20, 24, 99]
+speller: !munch.Munch {speller_matrix: true, audio: true, pyttsx_rate: 100, audio_result_fb: true,
+  type: feedback}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-20,
+  filename_data: /data/clinical/neural/fr/2019-08-20/data_14_20_55.bin, filename_baseline: /data/clinical/neural/fr/2019-08-20/bl_14_20_55.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-20/info_14_20_55.log, filename_log_debug: /data/clinical/neural/fr/2019-08-20/debug_14_20_55.log,
+  filename_events: /data/clinical/neural/fr/2019-08-20/events_14_20_55.txt, filename_config: /data/clinical/neural/fr/2019-08-20/config_14_20_55.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-20/paradigm_14_20_55.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-20/config_dump_14_20_55.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-20/git_changes_14_20_55.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-20/history.bin, git_hash: 6fcc149}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_all: 1.0, recording_loop_interval_data: 0.02, recording_loop_interval: 0.05,
+    t_response: 5.0, bci_loop_interval: 0.05, t_baseline_1: 5.0, decoder_refresh_interval: 0.01,
+    t_baseline_rand: 1.0, t_after_stimulus: 0.5}
+feedback: !munch.Munch {target_tone_length: 1.0, target_n_tones: 5, alpha: 360, hold_iterations: 2,
+  feedback_tone: true, beta: 120, tone_length: 0.25}
+sim_data: !munch.Munch {rate_bl: 10}
+paradigms: !munch.Munch
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  feedback: !munch.Munch
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    symmetrical: true
+    selected_mode: 0
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    mode: [Training, Validation]
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, bl_rand: true, decode: false, stimulus: true}
+classifier: !munch.Munch
+  max_active_ch_nr: []
+  n_triggers: 2
+  deadtime: 40
+  trigger_pos: start
+  thr_window: 40
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  online: false
+  n_classes: 2
+  include_channels: [20]
+  saved_model_conf_name: config/model_conf.yaml
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  n_neg_train: 100000
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  break_loop: true
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  thr_prob: 0.8
+  psth: !munch.Munch
+    cut: [-40, 100]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  exclude_data_channels: []
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  n_features: 1024

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-20/config_dump_15_32_22.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+plot: !munch.Munch
+  filter_min_rate: 2
+  pca: false
+  fps: 10.0
+  channels: [20, 24, 99]
+daq: !munch.Munch
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  daq_sleep: 0.1
+  smpl_fct: 30
+  exclude_channels: []
+  n_channels_max: 128
+  car_channels: []
+  trigger_len: 50
+  data_source: spike_rates
+  fs: 30000.0
+  spike_band_power: !munch.Munch
+    sample_group: 6
+    average_n_bins: 10
+    integrated_samples: 1500
+    loop_interval: 50
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+  normalization: !munch.Munch
+    do_update: false
+    clamp_firing_rates: true
+    range: [10, 90]
+    len: 600.0
+    use_all_channels: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    update_interval: 10.0
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+  n_channels: 128
+system: !munch.Munch {plot: 0}
+classifier: !munch.Munch
+  psth: !munch.Munch
+    cut: [-40, 100]
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  thr_window: 40
+  saved_model_conf_name: config/model_conf.yaml
+  break_loop: true
+  trigger_pos: start
+  thr_prob: 0.8
+  online: false
+  include_channels: [20]
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  n_neg_train: 100000
+  exclude_data_channels: []
+  max_active_ch_nr: []
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  deadtime: 40
+  n_triggers: 2
+  n_classes: 2
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  n_features: 1024
+sim_data: !munch.Munch {rate_bl: 10}
+recording: !munch.Munch
+  timing: !munch.Munch {bci_loop_interval: 0.05, t_response: 5.0, t_after_stimulus: 0.5,
+    decoder_refresh_interval: 0.01, recording_loop_interval_data: 0.02, t_baseline_all: 1.0,
+    recording_loop_interval: 0.05, t_baseline_1: 5.0, t_baseline_rand: 1.0}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+paradigms: !munch.Munch
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  feedback: !munch.Munch
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    mode: [Training, Validation]
+    play_end_feedback: !munch.Munch {success: true, fail: true}
+    symmetrical: true
+    audio_path: /kiap/data/speller/feedback/
+    number_of_stim: 10
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    selected_mode: 0
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-20,
+  filename_data: /data/clinical/neural/fr/2019-08-20/data_15_32_22.bin, filename_baseline: /data/clinical/neural/fr/2019-08-20/bl_15_32_22.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-20/info_15_32_22.log, filename_log_debug: /data/clinical/neural/fr/2019-08-20/debug_15_32_22.log,
+  filename_events: /data/clinical/neural/fr/2019-08-20/events_15_32_22.txt, filename_config: /data/clinical/neural/fr/2019-08-20/config_15_32_22.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-20/paradigm_15_32_22.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-20/config_dump_15_32_22.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-20/git_changes_15_32_22.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-20/history.bin, git_hash: 6fcc149}
+speller: !munch.Munch {audio_result_fb: true, speller_matrix: true, type: feedback,
+  pyttsx_rate: 100, audio: true}
+session: !munch.Munch
+  flags: !munch.Munch {decode: false, stimulus: true, bl: true, bl_rand: true}
+feedback: !munch.Munch {alpha: 360, beta: 120, hold_iterations: 2, feedback_tone: true,
+  tone_length: 0.25, target_tone_length: 1.0, target_n_tones: 5}
+general: !munch.Munch {debug: 1, clear_trial_history: false}

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-21/config_dump_14_11_58.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+session: !munch.Munch
+  flags: !munch.Munch {bl: true, decode: false, stimulus: true, bl_rand: false}
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+classifier: !munch.Munch
+  n_neg_train: 100000
+  exclude_data_channels: []
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  trigger_pos: start
+  n_classes: 2
+  n_triggers: 2
+  online: false
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  break_loop: true
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  thr_prob: 0.8
+  include_channels: [20]
+  max_active_ch_nr: []
+  saved_model_conf_name: config/model_conf.yaml
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  thr_window: 40
+  deadtime: 40
+  n_features: 1024
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-21,
+  filename_data: /data/clinical/neural/fr/2019-08-21/data_14_11_58.bin, filename_baseline: /data/clinical/neural/fr/2019-08-21/bl_14_11_58.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-21/info_14_11_58.log, filename_log_debug: /data/clinical/neural/fr/2019-08-21/debug_14_11_58.log,
+  filename_events: /data/clinical/neural/fr/2019-08-21/events_14_11_58.txt, filename_config: /data/clinical/neural/fr/2019-08-21/config_14_11_58.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-21/paradigm_14_11_58.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-21/config_dump_14_11_58.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-21/git_changes_14_11_58.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-21/history.bin, git_hash: 6fcc149}
+plot: !munch.Munch
+  filter_min_rate: 2
+  pca: false
+  fps: 10.0
+  channels: [20, 24, 99]
+paradigms: !munch.Munch
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  feedback: !munch.Munch
+    audio_path: /kiap/data/speller/feedback/
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    states: !munch.Munch
+      down: [0.0, 0.0, 0.3]
+      up: [1.0, 0.7, 1.0]
+    symmetrical: true
+    mode: [Training, Validation]
+    selected_mode: 0
+    play_end_feedback: !munch.Munch {success: false, fail: false}
+    number_of_stim: 10
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+daq: !munch.Munch
+  car_channels: []
+  data_source: spike_rates
+  spike_band_power: !munch.Munch
+    integrated_samples: 1500
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    average_n_bins: 10
+    loop_interval: 50
+    sample_group: 6
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  normalization: !munch.Munch
+    len: 600.0
+    clamp_firing_rates: true
+    do_update: false
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    use_all_channels: false
+    update_interval: 10.0
+    range: [10, 90]
+  smpl_fct: 30
+  n_channels_max: 128
+  trigger_len: 50
+  exclude_channels: []
+  daq_sleep: 0.1
+  fs: 30000.0
+  n_channels: 128
+feedback: !munch.Munch {tone_length: 0.25, target_n_tones: 5, alpha: 360, feedback_tone: true,
+  target_tone_length: 1.0, beta: 120, hold_iterations: 2}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+speller: !munch.Munch {audio: true, speller_matrix: true, type: feedback, pyttsx_rate: 100,
+  audio_result_fb: true}
+sim_data: !munch.Munch {rate_bl: 10}
+recording: !munch.Munch
+  timing: !munch.Munch {recording_loop_interval_data: 0.02, decoder_refresh_interval: 0.01,
+    bci_loop_interval: 0.05, t_baseline_1: 5.0, t_response: 5.0, t_baseline_rand: 1.0,
+    t_after_stimulus: 0.0, recording_loop_interval: 0.05, t_baseline_all: 1.0}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback_wo_reward.yaml]
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]

+ 211 - 0
KIAP_BCI_neurofeedback/2019-08-21/config_dump_14_17_55.yaml

@@ -0,0 +1,211 @@
+!munch.Munch
+speller: !munch.Munch {type: feedback, pyttsx_rate: 100, speller_matrix: true, audio: true,
+  audio_result_fb: true}
+supplemental_config: [config/model_conf.yaml, config/channels.yaml, config/feedback.yaml]
+file_handling: !munch.Munch {data_path: /data/clinical/neural/fr/, results: /data/clinical/nf/results/,
+  paradigm_config_file: paradigm.yaml, save_data: true, mode: ab, datafile_path: /data/clinical/neural/fr/2019-08-21,
+  filename_data: /data/clinical/neural/fr/2019-08-21/data_14_17_55.bin, filename_baseline: /data/clinical/neural/fr/2019-08-21/bl_14_17_55.npy,
+  filename_log_info: /data/clinical/neural/fr/2019-08-21/info_14_17_55.log, filename_log_debug: /data/clinical/neural/fr/2019-08-21/debug_14_17_55.log,
+  filename_events: /data/clinical/neural/fr/2019-08-21/events_14_17_55.txt, filename_config: /data/clinical/neural/fr/2019-08-21/config_14_17_55.yaml,
+  filename_paradigm: /data/clinical/neural/fr/2019-08-21/paradigm_14_17_55.yaml, filename_config_dump: /data/clinical/neural/fr/2019-08-21/config_dump_14_17_55.yaml,
+  filename_git_patch: /data/clinical/neural/fr/2019-08-21/git_changes_14_17_55.patch,
+  filename_history: /data/clinical/neural/fr/2019-08-21/history.bin, git_hash: 6fcc149}
+cerebus: !munch.Munch {instance: 0, buffer_reset: true, buffer_size_cont: 30001, buffer_size_comments: 500}
+lfp: !munch.Munch
+  fs: 1000
+  sampling_ratio: 30
+  filter_fc_lb: [10, 0]
+  filter_fc_mb: [12, 40]
+  filter_fc_hb: [60, 250]
+  filter_order_lb: 2
+  filter_order_mb: 6
+  filter_order_hb: 10
+  artifact_thr: 400
+  array1: [32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
+    50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63]
+  array21: [0, 1]
+  array22: []
+  array1_exclude: []
+  array2_exclude: []
+  i_start: 0
+  i_stop: -1
+  psth_win: [-1000, 5000]
+  exclude: false
+  normalize: false
+  zscore: false
+  car: true
+  sub_band: 1
+  motor_mapping: [Zunge, Schliesse_Hand, Oeffne_Hand, Bewege_Augen, Bewege_Kopf]
+  spectra: !munch.Munch {spgr_len: 500}
+  plot: !munch.Munch
+    ch_ids: [0]
+    general: true
+    filters: false
+  array2: [0, 1]
+feedback: !munch.Munch {hold_iterations: 2, feedback_tone: true, target_n_tones: 5,
+  target_tone_length: 1.0, tone_length: 0.25, beta: 120, alpha: 360}
+paradigms: !munch.Munch
+  feedback: !munch.Munch
+    audio_path: /kiap/data/speller/feedback/
+    symmetrical: true
+    states: !munch.Munch
+      up: [1.0, 0.7, 1.0]
+      down: [0.0, 0.0, 0.3]
+    sounds: !munch.Munch {success: /kiap/data/speller/feedback/kerching.wav, fail: /kiap/data/speller/feedback/blarg.wav}
+    number_of_stim: 10
+    play_end_feedback: !munch.Munch {fail: true, success: true}
+    selected_mode: 0
+    mode: [Training, Validation]
+  exploration: !munch.Munch
+    mode: [Screening]
+    selected_mode: 0
+    states: [SchliesseHand, BeugeRechtenMittelfinger, BeugeRechtenZeigefinger, BeugeRechtenDaumen,
+      OeffneHand, StreckeRechtenMittelfinger, StreckeRechtenZeigefinger, StreckeRechtenDaumen]
+    selected_states: [0, 1, 2, 3, 4, 5, 6, 7]
+    audio_path: /kiap/data/speller/Audio/exploration
+    number_of_stim: 5
+  training_color: !munch.Munch
+    mode: [Training]
+    selected_mode: 0
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    training_string: Gustav
+    confirmation_yes: 1
+    confirmation_no: 1
+  question: !munch.Munch
+    mode: [Training, Validation, Free]
+    selected_mode: 2
+    audio_path: /kiap/data/speller/Audio/question
+    number_of_stim: 10
+    symmetrical: true
+  color: !munch.Munch
+    mode: [Validation, Free]
+    selected_mode: 1
+    states:
+    - - gelb
+      - [E, A, D, C, B, F, ^]
+    - - gruen
+      - [N, S, R, O, M, P, Q, ^]
+    - - rot
+      - [I, H, L, G, K, J, ^]
+    - - blau
+      - [T, U, W, Z, V, Y, X, ^]
+    - - weiss
+      - [<, ' ', '?', word, end, ^]
+    max_length_vocabulary: 5
+    confirmation_methods: [single, double_yes, best_of_three]
+    selected_confirmation_method: 0
+    corpora_path: /kiap/data/speller/Corpora
+    audio_path: /kiap/data/speller/Audio
+    general_corpus: cfd_tiger.p
+    general_user_corpus: general_user_cfd.txt
+    speller_user_corpus: speller_user.txt
+    word_prediction: false
+    validation_string: FELIX.
+    init_string: ''
+    n_repeat_unclassified: 1
+  variablesToShowInGUI: !munch.Munch
+    variableGroups: [timing, color]
+    variableNames: [t_baseline, t_response, bci_loop_interval, selected_mode, max_length_vocabulary]
+    t: 1
+system: !munch.Munch {plot: 0}
+general: !munch.Munch {debug: 1, clear_trial_history: false}
+classifier: !munch.Munch
+  model_training: !munch.Munch {save_model: false, model: scikit, solver: lsqr, cross_validation: true,
+    n_splits: 5, test_size: 0.2, reg_fact: 0.3, fsel: false, triggers_plot: 3}
+  n_neg_train: 100000
+  exclude_data_channels: []
+  trigger_pos: start
+  saved_model_conf_name: config/model_conf.yaml
+  n_triggers: 2
+  online: false
+  thr_window: 40
+  exclude_channels: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
+    18, 19, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
+    39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58,
+    59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78,
+    79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98,
+    99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
+    115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127]
+  include_channels: [20]
+  template: !!python/object/apply:numpy.core.multiarray._reconstruct
+    args:
+    - !!python/name:numpy.ndarray ''
+    - !!python/tuple [0]
+    - !!binary |
+      Yg==
+    state: !!python/tuple
+    - 1
+    - !!python/tuple [8]
+    - !!python/object/apply:numpy.dtype
+      args: [i8, 0, 1]
+      state: !!python/tuple [3, <, null, null, null, -1, -1, 0]
+    - false
+    - !!binary |
+      CgAAAAAAAAAOAAAAAAAAABIAAAAAAAAAFgAAAAAAAAAaAAAAAAAAAB4AAAAAAAAAIgAAAAAAAAAm
+      AAAAAAAAAA==
+  break_loop: true
+  peaks: !munch.Munch {distance: 40, sig: pred, prefilter: false}
+  n_classes: 2
+  psth: !munch.Munch
+    cut: [-40, 100]
+  path_model1: /data/clinical/neural/fr/2019-06-26/model1_104948.pkl
+  path_model2: /data/clinical/neural/fr/2019-06-26/model2_104948.pkl
+  max_active_ch_nr: []
+  deadtime: 40
+  thr_prob: 0.8
+  n_features: 1024
+sim_data: !munch.Munch {rate_bl: 10}
+recording: !munch.Munch
+  timing: !munch.Munch {t_baseline_all: 1.0, t_baseline_rand: 1.0, bci_loop_interval: 0.05,
+    recording_loop_interval: 0.05, decoder_refresh_interval: 0.01, recording_loop_interval_data: 0.02,
+    t_baseline_1: 5.0, t_response: 5.0, t_after_stimulus: 0.5}
+plot: !munch.Munch
+  pca: false
+  filter_min_rate: 2
+  channels: [20, 24, 99]
+  fps: 10.0
+session: !munch.Munch
+  flags: !munch.Munch {bl_rand: true, bl: true, stimulus: true, decode: false}
+buffer: !munch.Munch
+  length: 600
+  shape: [600, 128]
+daq: !munch.Munch
+  fs: 30000.0
+  spike_rates: !munch.Munch {n_units: 1, bin_width: 0.05, loop_interval: 50, method: boxcar,
+    decay_factor: 0.9, max_bins: 20, bl_offset: 30.0, correct_bl: false, correct_bl_model: false}
+  car_channels: []
+  trigger_len: 50
+  daq_sleep: 0.1
+  smpl_fct: 30
+  normalization: !munch.Munch
+    all_channels: !munch.Munch {bottom: 1.15625, top: 1.59375, invert: false}
+    use_all_channels: false
+    channels:
+    - !munch.Munch {id: 20, bottom: 5.1, top: 10.0, invert: true}
+    len: 600.0
+    range: [10, 90]
+    update_interval: 10.0
+    clamp_firing_rates: true
+    do_update: false
+  spike_band_power: !munch.Munch
+    average_n_bins: 10
+    integrated_samples: 1500
+    filter: !munch.Munch
+      b: [0.956543225556877, -1.91308645111375, 0.956543225556877]
+      a: [1, -1.91119706742607, 0.914975834801434]
+    sample_group: 6
+    loop_interval: 50
+  exclude_channels: []
+  data_source: spike_rates
+  n_channels_max: 128
+  n_channels: 128

+ 0 - 0
KIAP_BCI_neurofeedback/2019-08-21/config_dump_14_24_24.yaml


Some files were not shown because too many files changed in this diff