@brainpilot/skills 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/dist/index.d.ts +6 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +28 -0
  4. package/dist/index.js.map +1 -0
  5. package/package.json +35 -0
  6. package/skills/01_Meta-Skills/contribute-skill/SKILL.md +277 -0
  7. package/skills/01_Meta-Skills/contribute-skills-via-pr/SKILL.md +163 -0
  8. package/skills/01_Meta-Skills/paper-to-skill/SKILL.md +435 -0
  9. package/skills/01_Meta-Skills/paper-to-skill/references/extraction-guide.md +286 -0
  10. package/skills/01_Meta-Skills/paper-to-skill/references/skill-template.md +250 -0
  11. package/skills/01_Meta-Skills/repo-to-skill/SKILL.md +289 -0
  12. package/skills/01_Meta-Skills/share-case/SKILL.md +253 -0
  13. package/skills/01_Meta-Skills/share-usage/README.md +63 -0
  14. package/skills/01_Meta-Skills/share-usage/SKILL.md +395 -0
  15. package/skills/01_Meta-Skills/verify-skill/SKILL.md +331 -0
  16. package/skills/02_Cross-Domain_Foundation/cogsci-power-analysis/SKILL.md +194 -0
  17. package/skills/02_Cross-Domain_Foundation/cogsci-power-analysis/references/effect-sizes.md +352 -0
  18. package/skills/02_Cross-Domain_Foundation/cogsci-power-analysis/references/sample-size-guide.md +407 -0
  19. package/skills/02_Cross-Domain_Foundation/cogsci-statistics/SKILL.md +361 -0
  20. package/skills/02_Cross-Domain_Foundation/cogsci-statistics/references/common-analyses.md +517 -0
  21. package/skills/02_Cross-Domain_Foundation/cogsci-visualization/SKILL.md +292 -0
  22. package/skills/02_Cross-Domain_Foundation/cogsci-visualization/references/plot-recipes.md +709 -0
  23. package/skills/02_Cross-Domain_Foundation/research-literacy/SKILL.md +286 -0
  24. package/skills/02_Cross-Domain_Foundation/research-literacy/references/common-assumptions.md +320 -0
  25. package/skills/02_Cross-Domain_Foundation/research-literacy/references/planning-template.md +143 -0
  26. package/skills/03_Cognitive_Psychology/alternative-uses-task-designer/SKILL.md +197 -0
  27. package/skills/03_Cognitive_Psychology/alternative-uses-task-designer/references/instruction-templates.md +60 -0
  28. package/skills/03_Cognitive_Psychology/cognitive-paradigm-design/SKILL.md +246 -0
  29. package/skills/03_Cognitive_Psychology/cognitive-paradigm-design/references/classic-paradigms.md +435 -0
  30. package/skills/03_Cognitive_Psychology/cognitive-paradigm-design/references/design-principles.md +256 -0
  31. package/skills/03_Cognitive_Psychology/creativity-self-efficacy-mediation/SKILL.md +270 -0
  32. package/skills/03_Cognitive_Psychology/creativity-self-efficacy-mediation/references/lavaan-templates.md +172 -0
  33. package/skills/03_Cognitive_Psychology/divergent-thinking-scoring/SKILL.md +238 -0
  34. package/skills/03_Cognitive_Psychology/divergent-thinking-scoring/references/scoring-rubric.md +143 -0
  35. package/skills/03_Cognitive_Psychology/drift-diffusion-model/SKILL.md +203 -0
  36. package/skills/03_Cognitive_Psychology/drift-diffusion-model/references/fitting-guide.md +571 -0
  37. package/skills/03_Cognitive_Psychology/drift-diffusion-model/references/model-variants.md +427 -0
  38. package/skills/03_Cognitive_Psychology/evidence-accumulation-selector/SKILL.md +310 -0
  39. package/skills/03_Cognitive_Psychology/evidence-accumulation-selector/references/ez-diffusion-formulas.md +137 -0
  40. package/skills/03_Cognitive_Psychology/signal-detection-analysis/SKILL.md +300 -0
  41. package/skills/03_Cognitive_Psychology/signal-detection-analysis/references/application-guide.md +278 -0
  42. package/skills/03_Cognitive_Psychology/signal-detection-analysis/references/sdt-formulas.md +318 -0
  43. package/skills/03_Cognitive_Psychology/visual-search-array-generator/SKILL.md +283 -0
  44. package/skills/03_Cognitive_Psychology/visual-search-array-generator/references/array-generation-parameters.yaml +111 -0
  45. package/skills/04_Psycholinguistics/reading-time-analysis/SKILL.md +301 -0
  46. package/skills/04_Psycholinguistics/reading-time-analysis/references/measure-computation-guide.md +195 -0
  47. package/skills/04_Psycholinguistics/self-paced-reading-designer/SKILL.md +257 -0
  48. package/skills/04_Psycholinguistics/self-paced-reading-designer/references/analysis-guide.md +356 -0
  49. package/skills/04_Psycholinguistics/self-paced-reading-designer/references/region-segmentation.md +266 -0
  50. package/skills/04_Psycholinguistics/sentence-stimulus-norming/SKILL.md +346 -0
  51. package/skills/04_Psycholinguistics/sentence-stimulus-norming/references/lexical-databases-guide.md +184 -0
  52. package/skills/05_EEG_ERP/eeg-paradigm-designer/SKILL.md +226 -0
  53. package/skills/05_EEG_ERP/eeg-paradigm-designer/references/component-paradigm-map.md +276 -0
  54. package/skills/05_EEG_ERP/eeg-paradigm-designer/references/timing-parameters.md +244 -0
  55. package/skills/05_EEG_ERP/eeg-preprocessing-pipeline-guide/SKILL.md +367 -0
  56. package/skills/05_EEG_ERP/eeg-preprocessing-pipeline-guide/references/parameter-lookup-tables.md +138 -0
  57. package/skills/05_EEG_ERP/erp-analysis/SKILL.md +185 -0
  58. package/skills/05_EEG_ERP/erp-analysis/references/erp-components.md +447 -0
  59. package/skills/05_EEG_ERP/erp-analysis/references/preprocessing-pipeline.md +277 -0
  60. package/skills/05_EEG_ERP/erp-analysis/references/statistical-approaches.md +351 -0
  61. package/skills/05_EEG_ERP/mne-python-guide/SKILL.md +174 -0
  62. package/skills/05_EEG_ERP/mne-python-guide/references/decoding.md +178 -0
  63. package/skills/05_EEG_ERP/mne-python-guide/references/io_formats.md +160 -0
  64. package/skills/05_EEG_ERP/mne-python-guide/references/preprocessing.md +259 -0
  65. package/skills/05_EEG_ERP/mne-python-guide/references/simulation.md +173 -0
  66. package/skills/05_EEG_ERP/mne-python-guide/references/source_localization.md +234 -0
  67. package/skills/05_EEG_ERP/mne-python-guide/references/statistics.md +196 -0
  68. package/skills/05_EEG_ERP/mne-python-guide/references/time_frequency.md +165 -0
  69. package/skills/05_EEG_ERP/mne-python-guide/references/visualization.md +175 -0
  70. package/skills/06_fMRI_Neuroimaging/brain-connectivity-modeler/SKILL.md +317 -0
  71. package/skills/06_fMRI_Neuroimaging/brain-connectivity-modeler/references/method-implementation-guide.md +116 -0
  72. package/skills/06_fMRI_Neuroimaging/fmri-glm-analysis-guide/SKILL.md +296 -0
  73. package/skills/06_fMRI_Neuroimaging/fmri-glm-analysis-guide/references/design-matrix-guide.md +214 -0
  74. package/skills/06_fMRI_Neuroimaging/fmri-glm-analysis-guide/references/statistical-inference.md +288 -0
  75. package/skills/06_fMRI_Neuroimaging/fmri-preprocessing-pipeline-guide/SKILL.md +274 -0
  76. package/skills/06_fMRI_Neuroimaging/fmri-preprocessing-pipeline-guide/references/quality-control.md +336 -0
  77. package/skills/06_fMRI_Neuroimaging/fmri-preprocessing-pipeline-guide/references/step-by-step-pipeline.md +380 -0
  78. package/skills/06_fMRI_Neuroimaging/fmri-task-design-guide/SKILL.md +264 -0
  79. package/skills/06_fMRI_Neuroimaging/fmri-task-design-guide/references/design-optimization-examples.md +114 -0
  80. package/skills/06_fMRI_Neuroimaging/neural-decoding-analysis/SKILL.md +273 -0
  81. package/skills/06_fMRI_Neuroimaging/neural-decoding-analysis/references/decoding-methods.md +170 -0
  82. package/skills/06_fMRI_Neuroimaging/neural-decoding-analysis/references/rsa-guide.md +266 -0
  83. package/skills/06_fMRI_Neuroimaging/pycortex-guide/SKILL.md +123 -0
  84. package/skills/06_fMRI_Neuroimaging/pycortex-guide/references/database-subjects.md +179 -0
  85. package/skills/06_fMRI_Neuroimaging/pycortex-guide/references/dataset-types.md +208 -0
  86. package/skills/06_fMRI_Neuroimaging/pycortex-guide/references/freesurfer-fmriprep.md +162 -0
  87. package/skills/06_fMRI_Neuroimaging/pycortex-guide/references/mapping-transforms.md +181 -0
  88. package/skills/06_fMRI_Neuroimaging/pycortex-guide/references/mni-utils.md +207 -0
  89. package/skills/06_fMRI_Neuroimaging/pycortex-guide/references/surface-analysis.md +219 -0
  90. package/skills/06_fMRI_Neuroimaging/pycortex-guide/references/visualization.md +251 -0
  91. package/skills/07_Computational_Modeling/act-r-model-builder/SKILL.md +297 -0
  92. package/skills/07_Computational_Modeling/act-r-model-builder/references/model-patterns.md +197 -0
  93. package/skills/07_Computational_Modeling/act-r-model-builder/references/parameter-table.yaml +204 -0
  94. package/skills/07_Computational_Modeling/bayesian-cognitive-model-builder/SKILL.md +294 -0
  95. package/skills/07_Computational_Modeling/bayesian-cognitive-model-builder/references/diagnostics-checklist.md +351 -0
  96. package/skills/07_Computational_Modeling/bayesian-cognitive-model-builder/references/prior-selection-guide.md +241 -0
  97. package/skills/07_Computational_Modeling/parameter-recovery-checker/SKILL.md +269 -0
  98. package/skills/07_Computational_Modeling/parameter-recovery-checker/references/recovery-diagnostics.md +207 -0
  99. package/skills/08_Computational_Neuroscience/brain-connectivity-modeler/SKILL.md +317 -0
  100. package/skills/08_Computational_Neuroscience/brain-connectivity-modeler/references/method-implementation-guide.md +116 -0
  101. package/skills/08_Computational_Neuroscience/neural-decoding-analysis/SKILL.md +273 -0
  102. package/skills/08_Computational_Neuroscience/neural-decoding-analysis/references/decoding-methods.md +170 -0
  103. package/skills/08_Computational_Neuroscience/neural-decoding-analysis/references/rsa-guide.md +266 -0
  104. package/skills/08_Computational_Neuroscience/neural-population-analysis-guide/SKILL.md +305 -0
  105. package/skills/08_Computational_Neuroscience/neural-population-analysis-guide/references/data-requirements.md +60 -0
  106. package/skills/08_Computational_Neuroscience/neural-population-analysis-guide/references/method-comparison.md +151 -0
  107. package/skills/08_Computational_Neuroscience/spiking-network-model-builder/SKILL.md +376 -0
  108. package/skills/08_Computational_Neuroscience/spiking-network-model-builder/references/hh-parameters.md +117 -0
  109. package/skills/08_Computational_Neuroscience/spiking-network-model-builder/references/network-regimes.md +130 -0
  110. package/skills/09_Cellular_Molecular_Neuroscience/calcium-imaging-analysis-guide/SKILL.md +258 -0
  111. package/skills/09_Cellular_Molecular_Neuroscience/calcium-imaging-analysis-guide/references/indicator-parameters.md +242 -0
  112. package/skills/09_Cellular_Molecular_Neuroscience/calcium-imaging-analysis-guide/references/pipeline-details.md +211 -0
  113. package/skills/09_Cellular_Molecular_Neuroscience/optogenetics-protocol-designer/SKILL.md +261 -0
  114. package/skills/09_Cellular_Molecular_Neuroscience/optogenetics-protocol-designer/references/opsin-catalog.md +124 -0
  115. package/skills/09_Cellular_Molecular_Neuroscience/optogenetics-protocol-designer/references/stimulation-parameters.md +304 -0
  116. package/skills/10_Clinical_Neuropsychology/lesion-symptom-mapping-guide/SKILL.md +367 -0
  117. package/skills/10_Clinical_Neuropsychology/lesion-symptom-mapping-guide/references/disconnection-guide.md +152 -0
  118. package/skills/10_Clinical_Neuropsychology/lesion-symptom-mapping-guide/references/vlsm-pipeline.md +182 -0
  119. package/skills/10_Clinical_Neuropsychology/neuropsych-battery-selector/SKILL.md +250 -0
  120. package/skills/10_Clinical_Neuropsychology/neuropsych-battery-selector/references/deficit-profiles.md +302 -0
  121. package/skills/10_Clinical_Neuropsychology/neuropsych-battery-selector/references/test-catalog.md +304 -0
  122. package/skills/11_Developmental_Cognition/infant-looking-time-designer/SKILL.md +345 -0
  123. package/skills/11_Developmental_Cognition/infant-looking-time-designer/references/age-parameters.yaml +186 -0
  124. package/skills/12_Social_Cognition/tom-task-selector/SKILL.md +379 -0
  125. package/skills/12_Social_Cognition/tom-task-selector/references/task-database.md +317 -0
  126. package/skills/13_Visualization/nature-figure/README.md +442 -0
  127. package/skills/13_Visualization/nature-figure/SKILL.md +60 -0
  128. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-01-bar-charts.png +0 -0
  129. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-02-line-trends.png +0 -0
  130. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-03-heatmaps.png +0 -0
  131. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-04-scatter-bubble.png +0 -0
  132. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-05-radar-polar.png +0 -0
  133. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-06-distributions.png +0 -0
  134. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-07-forest-interval.png +0 -0
  135. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-08-area-stacked.png +0 -0
  136. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-09-image-plates.png +0 -0
  137. package/skills/13_Visualization/nature-figure/assets/chart-atlas/atlas-10-network-matrix.png +0 -0
  138. package/skills/13_Visualization/nature-figure/assets/figures4papers/assets/Dispersion_motivation.png +0 -0
  139. package/skills/13_Visualization/nature-figure/assets/figures4papers/assets/Dispersion_observation.png +0 -0
  140. package/skills/13_Visualization/nature-figure/assets/figures4papers/assets/Dispersion_observation_distillation.png +0 -0
  141. package/skills/13_Visualization/nature-figure/assets/figures4papers/assets/ImmunoStruct_contrastive.png +0 -0
  142. package/skills/13_Visualization/nature-figure/assets/figures4papers/assets/ImmunoStruct_results_CEDAR.png +0 -0
  143. package/skills/13_Visualization/nature-figure/assets/figures4papers/assets/ImmunoStruct_results_IEDB.png +0 -0
  144. package/skills/13_Visualization/nature-figure/assets/figures4papers/assets/ImmunoStruct_schematic.png +0 -0
  145. package/skills/13_Visualization/nature-figure/assets/figures4papers/assets/RNAGenScape_schematic.png +0 -0
  146. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_CellSpliceNet/figures/ablation.png +0 -0
  147. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_CellSpliceNet/figures/comparison.png +0 -0
  148. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_CellSpliceNet/plot_ablation.py +86 -0
  149. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_CellSpliceNet/plot_comparison.py +109 -0
  150. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/diffusion_swiss_roll.py +97 -0
  151. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/figures/diffusion_swiss_roll.png +0 -0
  152. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/figures/fig2_comparison_GeneRegulatory.pdf +0 -0
  153. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/figures/fig2_comparison_GeneRegulatory.png +0 -0
  154. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/figures/fig2_comparison_Trajectory.pdf +0 -0
  155. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/figures/fig2_comparison_Trajectory.png +0 -0
  156. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/figures/figX_comparison_Ablation.pdf +0 -0
  157. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/figures/figX_comparison_Ablation.png +0 -0
  158. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/plot_comparison_Ablation.py +64 -0
  159. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/plot_comparison_GeneRegulatory.py +74 -0
  160. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Cflows/plot_comparison_Trajectory.py +74 -0
  161. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Dispersion/figures/idea.png +0 -0
  162. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Dispersion/figures/illustration.png +0 -0
  163. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Dispersion/plot_idea.py +76 -0
  164. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_Dispersion/plot_illustration.py +404 -0
  165. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_FPGM/figures/freq_prior.png +0 -0
  166. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_FPGM/plot_freq_prior.py +146 -0
  167. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ImmunoStruct/figures/bars_ablation_Cancer.png +0 -0
  168. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ImmunoStruct/figures/bars_ablation_IEDB.png +0 -0
  169. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ImmunoStruct/figures/bars_comparison_Cancer.png +0 -0
  170. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ImmunoStruct/figures/bars_comparison_IEDB.png +0 -0
  171. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ImmunoStruct/plot_bars.py +216 -0
  172. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ImmunoStruct/raw_data.py +125 -0
  173. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_RNAGenScape/figures/manifold.png +0 -0
  174. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_RNAGenScape/figures/manifold_holes.png +0 -0
  175. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_RNAGenScape/figures/results_comparison_optimization.png +0 -0
  176. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_RNAGenScape/figures/results_comparison_speed.png +0 -0
  177. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_RNAGenScape/figures/results_sweep.png +0 -0
  178. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_RNAGenScape/plot_comparison.py +228 -0
  179. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_RNAGenScape/plot_hole_manifold.py +82 -0
  180. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_RNAGenScape/plot_manifold.py +61 -0
  181. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_RNAGenScape/plot_sweep.py +77 -0
  182. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_VIGIL/figures/comparison_posttraining.png +0 -0
  183. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_VIGIL/figures/comparison_radar.png +0 -0
  184. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_VIGIL/plot_comparison_radar.py +173 -0
  185. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_VIGIL/plot_posttraining.py +82 -0
  186. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/figures/brute_force.png +0 -0
  187. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/figures/correctness_by_category.png +0 -0
  188. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/figures/correctness_by_subcategory.png +0 -0
  189. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/figures/rewriting.png +0 -0
  190. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/figures/selfcorrection_math.png +0 -0
  191. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/plot_brute_force.py +248 -0
  192. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/plot_correctness_by_category.py +132 -0
  193. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/plot_correctness_by_subcategory.py +131 -0
  194. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/plot_rewriting.py +105 -0
  195. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_brainteaser/plot_selfcorrection_math.py +99 -0
  196. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ophthal_review/figures/composition_heatmap.png +0 -0
  197. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ophthal_review/figures/trend_by_month.png +0 -0
  198. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ophthal_review/plot_composition.py +81 -0
  199. package/skills/13_Visualization/nature-figure/assets/figures4papers/figure_ophthal_review/plot_trend.py +125 -0
  200. package/skills/13_Visualization/nature-figure/assets/gallery/fig1-material-mechanism-rich.png +0 -0
  201. package/skills/13_Visualization/nature-figure/assets/gallery/fig2-spatial-imaging-rich.png +0 -0
  202. package/skills/13_Visualization/nature-figure/assets/gallery/fig3-in-vivo-efficacy-rich.png +0 -0
  203. package/skills/13_Visualization/nature-figure/assets/gallery/fig4-single-cell-systems-rich.png +0 -0
  204. package/skills/13_Visualization/nature-figure/assets/gallery/fig5-validation-perturbation-rich.png +0 -0
  205. package/skills/13_Visualization/nature-figure/evals/evals.json +37 -0
  206. package/skills/13_Visualization/nature-figure/manifest.yaml +57 -0
  207. package/skills/13_Visualization/nature-figure/references/api.md +428 -0
  208. package/skills/13_Visualization/nature-figure/references/backend-selection.md +100 -0
  209. package/skills/13_Visualization/nature-figure/references/chart-types.md +281 -0
  210. package/skills/13_Visualization/nature-figure/references/common-patterns.md +350 -0
  211. package/skills/13_Visualization/nature-figure/references/demos.md +65 -0
  212. package/skills/13_Visualization/nature-figure/references/design-theory.md +436 -0
  213. package/skills/13_Visualization/nature-figure/references/figure-contract.md +93 -0
  214. package/skills/13_Visualization/nature-figure/references/nature-2026-observations.md +112 -0
  215. package/skills/13_Visualization/nature-figure/references/qa-contract.md +119 -0
  216. package/skills/13_Visualization/nature-figure/references/r-template-index.md +66 -0
  217. package/skills/13_Visualization/nature-figure/references/r-workflow.md +161 -0
  218. package/skills/13_Visualization/nature-figure/references/tutorials.md +251 -0
  219. package/skills/13_Visualization/nature-figure/static/core/contract.md +29 -0
  220. package/skills/13_Visualization/nature-figure/static/core/stance.md +37 -0
  221. package/skills/13_Visualization/nature-figure/static/fragments/backend/python.md +37 -0
  222. package/skills/13_Visualization/nature-figure/static/fragments/backend/r.md +44 -0
  223. package/skills/14_Writing/markdown-report-writing/SKILL.md +306 -0
  224. package/skills/14_Writing/markdown-report-writing/references/compatibility-matrix.md +72 -0
  225. package/skills/14_Writing/markdown-report-writing/references/templates.md +299 -0
  226. package/skills/15_Others/neuroimaging-power-guide/SKILL.md +324 -0
  227. package/skills/15_Others/neuroimaging-power-guide/references/effect-size-lookup-tables.md +102 -0
  228. package/skills/15_Others/neuroimaging-sample-size-calculator/SKILL.md +330 -0
  229. package/skills/15_Others/neuroimaging-sample-size-calculator/references/worked-examples.md +220 -0
@@ -0,0 +1,277 @@
1
+ # ERP Preprocessing Pipeline
2
+
3
+ Detailed parameter recommendations for each step of the ERP preprocessing pipeline. All numerical values include citations to their source.
4
+
5
+ ---
6
+
7
+ ## Step 1: Data Import and Initial Inspection
8
+
9
+ ### Actions
10
+
11
+ - Load raw continuous EEG data
12
+ - Visually inspect for gross artifacts (e.g., amplifier saturation, large-scale drift, periods of flat-line data)
13
+ - Note any channels that appear consistently noisy across the recording
14
+ - Verify event markers/triggers align with experimental design
15
+
16
+ ### Parameters
17
+
18
+ | Parameter | Recommendation | Source |
19
+ |-----------|---------------|--------|
20
+ | Sampling rate verification | Confirm >= **250 Hz** for typical ERP work; **512 Hz** or **1024 Hz** common for modern systems | Luck, 2014, Ch. 5 |
21
+ | Data format | Use lossless formats (e.g., .fif, .set, .bdf); avoid lossy compression | Best practice (expert consensus) |
22
+
23
+ ### Decision Points
24
+
25
+ - If sampling rate > **512 Hz** and you do not need high temporal precision (e.g., brainstem responses), downsample to **256 Hz** or **512 Hz** after anti-aliasing filter to reduce computational load (Luck, 2014, Ch. 5)
26
+
27
+ ---
28
+
29
+ ## Step 2: Filtering
30
+
31
+ ### High-Pass Filter
32
+
33
+ | Parameter | Recommendation | Source |
34
+ |-----------|---------------|--------|
35
+ | Default cutoff | **0.1 Hz** | Luck, 2014, Ch. 5; Tanner et al., 2015 |
36
+ | Alternative cutoff | **0.01 Hz** when studying slow components (CNV, P3, LPC) or when filter distortion is a concern | Tanner et al., 2015 |
37
+ | Aggressive cutoff | **0.5 Hz** only for ICA decomposition step (apply to a copy of the data, not the final data); improves ICA quality | Winkler et al., 2015 |
38
+ | Filter type | **FIR** (finite impulse response), zero-phase (non-causal) | Widmann et al., 2015 |
39
+ | Filter order / transition bandwidth | Hamming window FIR; transition bandwidth **1 Hz** for cutoffs >= 1 Hz, or **2x the cutoff frequency** for lower cutoffs | Widmann et al., 2015 |
40
+
41
+ **Why 0.1 Hz and not higher?** High-pass cutoffs above **0.1 Hz** can:
42
+ - Introduce artifactual effects that mimic ERP components (Tanner et al., 2015)
43
+ - Distort the latency and amplitude of slow ERP components such as N400 and P300 (Widmann & Schroger, 2012)
44
+ - Create apparent baseline differences that do not exist in the unfiltered data (Tanner et al., 2015)
45
+
46
+ **Why 0.1 Hz and not lower?** Very low cutoffs (e.g., **0.01 Hz**) allow more low-frequency drift, which can:
47
+ - Increase baseline variability across epochs
48
+ - Reduce signal-to-noise ratio for faster components (P1, N1)
49
+ - The **0.1 Hz** value represents a balance between these competing concerns (Luck, 2014, Ch. 5)
50
+
51
+ ### Low-Pass Filter
52
+
53
+ | Parameter | Recommendation | Source |
54
+ |-----------|---------------|--------|
55
+ | Default cutoff | **30 Hz** | Luck, 2014, Ch. 5 |
56
+ | Alternative cutoff | **40 Hz** when studying components with fast temporal dynamics (e.g., brainstem responses, high-frequency oscillations) | Keil et al., 2014 |
57
+ | Conservative cutoff | **20 Hz** acceptable for broad, slow components (N400, P300, LPC) when high-frequency noise is problematic | Kappenman & Luck, 2010 |
58
+ | Filter type | **FIR**, zero-phase (same as high-pass) | Widmann et al., 2015 |
59
+
60
+ **Rationale**: ERP components are primarily composed of frequencies below **30 Hz**. The low-pass filter removes high-frequency noise (muscle artifact, line noise residuals) without removing signal (Luck, 2014, Ch. 5).
61
+
62
+ ### Notch Filter
63
+
64
+ | Parameter | Recommendation | Source |
65
+ |-----------|---------------|--------|
66
+ | Line noise frequency | **50 Hz** (Europe, Asia, most of world) or **60 Hz** (Americas, Japan at 60Hz regions) | Regional electrical standards |
67
+ | When to use | Only if line noise is present after bandpass filtering | Luck, 2014, Ch. 5; Widmann et al., 2015 |
68
+ | Preferred alternative | A low-pass at **30 Hz** typically removes line noise, making notch filter unnecessary | Luck, 2014, Ch. 5 |
69
+ | If needed | Use narrow notch (bandwidth **1-2 Hz**) to minimize spectral distortion | Widmann et al., 2015 |
70
+
71
+ **Best practice**: If your low-pass filter is set at **30 Hz**, a notch filter at 50/60 Hz is redundant. Only apply a notch filter if your low-pass cutoff is above the line noise frequency (Luck, 2014, Ch. 5).
72
+
73
+ ---
74
+
75
+ ## Step 3: Re-Referencing
76
+
77
+ ### Reference Scheme Options
78
+
79
+ | Scheme | When to Use | Advantages | Disadvantages | Source |
80
+ |--------|-------------|-----------|---------------|--------|
81
+ | **Average reference** | High-density arrays (>= 64 channels); most ERP studies | Approximates a neutral reference; widely accepted | Biased with low channel counts or poor coverage; affected by noisy channels | Luck, 2014, Ch. 5; Keil et al., 2014 |
82
+ | **Linked mastoids** (TP9/TP10 average) | Low-density arrays (32 channels or fewer); clinical EEG | Simple; good for temporal/parietal components | Not truly neutral; asymmetric mastoid potentials add noise; can reduce lateralized effects | Luck, 2014, Ch. 5 |
83
+ | **Single mastoid** | Legacy studies; comparability with older literature | Simple | Introduces hemispheric asymmetry artifact | Luck, 2014, Ch. 5 |
84
+ | **REST** (Reference Electrode Standardization Technique) | Source-level analyses; theoretical ideal | Approximates infinity reference; theoretically principled | Requires accurate head model; computationally expensive | Yao, 2001; Dong et al., 2017 |
85
+ | **CSD** (Current Source Density / Surface Laplacian) | When spatial resolution is more important than waveform shape; reducing volume conduction | Reference-free; sharpens topography | Attenuates deep sources; changes component morphology; not appropriate for all components | Kayser & Tenke, 2006 |
86
+
87
+ ### Decision Logic
88
+
89
+ 1. **Default recommendation**: Use **average reference** for studies with >= **64 channels** (Luck, 2014, Ch. 5)
90
+ 2. For **32 channels or fewer**, average reference becomes unreliable; use **linked mastoids** (Luck, 2014, Ch. 5)
91
+ 3. If studying **lateralized components** (N2pc, LRP, ELAN), avoid single mastoid reference as it distorts hemispheric asymmetries (Luck, 2014, Ch. 5)
92
+ 4. Apply re-referencing **after bad channel interpolation** when using average reference, so that interpolated channels do not contaminate the reference signal (best practice; expert consensus)
93
+ 5. If combining with ICA: re-reference **before** ICA, as ICA assumes a consistent reference (Luck, 2014, Ch. 5)
94
+
95
+ ---
96
+
97
+ ## Step 4: Bad Channel Identification and Interpolation
98
+
99
+ ### Identification Criteria
100
+
101
+ | Criterion | Threshold | Source |
102
+ |-----------|-----------|--------|
103
+ | Flat-line duration | > **5 seconds** of zero variance | EEGLAB/clean_rawdata defaults (MNE-Python convention) |
104
+ | High-frequency noise (std) | > **3-5 standard deviations** above the mean of all channels | Keil et al., 2014 |
105
+ | Low correlation with neighbors | Correlation < **0.4** with surrounding channels (over sliding windows) | Bigdely-Shamlo et al., 2015 |
106
+ | Visual inspection | Persistent broadband noise, intermittent spiking | Luck, 2014, Ch. 5 |
107
+
108
+ ### Interpolation Parameters
109
+
110
+ | Parameter | Recommendation | Source |
111
+ |-----------|---------------|--------|
112
+ | Method | **Spherical spline** interpolation | Perrin et al., 1989; standard in EEGLAB and MNE-Python |
113
+ | When to interpolate | After identifying bad channels but **before** average re-referencing | Luck, 2014, Ch. 5 |
114
+ | Maximum proportion | Interpolate no more than **10%** of total channels (e.g., <= 6 out of 64) | Keil et al., 2014 |
115
+ | If > 10% bad channels | Exclude the participant rather than interpolating excessively | Keil et al., 2014 |
116
+ | Bridged electrodes | Detect via electrical bridging analysis; interpolate or exclude (Alschuler et al., 2014) | Alschuler et al., 2014 |
117
+
118
+ ### Decision Points
119
+
120
+ - **Interpolate early**: Interpolate before ICA so that ICA decomposition operates on a complete, well-conditioned data matrix
121
+ - **Document everything**: Record which channels were interpolated and why (Keil et al., 2014)
122
+ - If a channel is bad for only part of the recording, consider marking those segments rather than interpolating the entire channel
123
+
124
+ ---
125
+
126
+ ## Step 5: ICA-Based Artifact Correction
127
+
128
+ ### ICA Parameters
129
+
130
+ | Parameter | Recommendation | Source |
131
+ |-----------|---------------|--------|
132
+ | Algorithm | **Extended Infomax** (default in EEGLAB) or **PICARD** (faster, used in MNE-Python) | Makeig et al., 1996; Ablin et al., 2018 |
133
+ | Number of components | **n_components = n_channels - n_interpolated** (rank-reduced data) or use PCA pre-reduction to **95-99% variance explained** | Luck, 2014, Ch. 5; MNE-Python convention |
134
+ | High-pass for ICA | Apply **1 Hz** high-pass on a copy of data for ICA decomposition, then apply the resulting ICA weights to the **0.1 Hz** filtered data | Winkler et al., 2015 |
135
+ | Minimum data length | At least **k * n_components^2** data points, where k >= **20** (i.e., for 64 components, need >= 81,920 points = ~160 s at 512 Hz) | Onton & Makeig, 2006 |
136
+
137
+ ### Component Classification
138
+
139
+ | Artifact Type | Key Identification Features | Source |
140
+ |---------------|---------------------------|--------|
141
+ | **Eye blinks** | Large frontal positivity (Fp1/Fp2); time course matches blink pattern; topography: frontal bilateral | Luck, 2014, Ch. 5; Chaumon et al., 2015 |
142
+ | **Horizontal saccades** | Frontal dipolar topography (F7 vs F8); step-like time course | Luck, 2014, Ch. 5 |
143
+ | **Cardiac artifact** | Regular periodic signal (~1 Hz); frontal/temporal topography; sharp QRS morphology | Luck, 2014, Ch. 5 |
144
+ | **Muscle artifact** | High-frequency broadband noise; peripheral/temporal electrodes; spectrum dominated by > 20 Hz | McMenamin et al., 2010 |
145
+ | **Channel noise** | Activity localized to single electrode; irregular time course | Chaumon et al., 2015 |
146
+
147
+ ### Automated Classification Tools
148
+
149
+ | Tool | Method | Source |
150
+ |------|--------|--------|
151
+ | **ICLabel** | Deep learning classifier; outputs probability for 7 categories | Pion-Tonachini et al., 2019 |
152
+ | **ADJUST** | Feature-based heuristic rules | Mognon et al., 2011 |
153
+ | **MARA** | Machine learning on 6 features | Winkler et al., 2011 |
154
+ | **iclabel threshold** | Remove components with brain probability < **0.5** and any non-brain probability > **0.8** | Pion-Tonachini et al., 2019; common usage threshold |
155
+
156
+ ### Decision Points
157
+
158
+ - **Conservative approach**: Remove only components that are clearly artifactual (eye blinks, eye movements, cardiac). When uncertain, keep the component (Luck, 2014, Ch. 5)
159
+ - **Typical removal**: **1-3 components** for eye blinks/movements; **0-1** for cardiac (Chaumon et al., 2015)
160
+ - If removing > **5-6 components**, reconsider data quality or ICA parameters
161
+ - **Document**: Report the number of components removed and their classification (Keil et al., 2014)
162
+
163
+ ---
164
+
165
+ ## Step 6: Epoching and Baseline Correction
166
+
167
+ ### Epoching Parameters
168
+
169
+ | Parameter | Recommendation | Source |
170
+ |-----------|---------------|--------|
171
+ | Default epoch window | **-200 ms to 800 ms** relative to stimulus onset | Luck, 2014, Ch. 5 |
172
+ | Extended window | **-200 ms to 1000 ms** or longer for slow components (P3, N400, P600, LPC) | Luck, 2014, Ch. 5 |
173
+ | Pre-stimulus window | **-500 ms to stimulus** when studying pre-stimulus activity (CNV, alpha desynchronization) | Expert consensus |
174
+ | Response-locked epochs | **-500 ms to 500 ms** relative to response for ERN/Pe analysis | Luck, 2014, Ch. 5 |
175
+
176
+ ### Baseline Correction
177
+
178
+ | Parameter | Recommendation | Source |
179
+ |-----------|---------------|--------|
180
+ | Default baseline window | **-200 ms to 0 ms** (pre-stimulus) | Luck, 2014, Ch. 5 |
181
+ | Extended baseline | **-500 ms to -200 ms** when early post-stimulus activity may contaminate the standard window | Expert consensus |
182
+ | Whole-epoch baseline | **Entire epoch mean** subtracted; used in some regression-based approaches | Smith & Kutas, 2015 |
183
+ | No baseline correction | When using linear detrending or high-pass filter as alternative (controversial) | Alday, 2019 |
184
+
185
+ ### Considerations
186
+
187
+ - Baseline correction assumes that the pre-stimulus period contains no systematic condition differences. If your design involves cue-target paradigms where cue-related activity extends into the baseline, consider:
188
+ - Using an earlier baseline window (e.g., **-500 ms to -300 ms**; Luck, 2014, Ch. 5)
189
+ - Using a pre-cue baseline
190
+ - Using regression-based baseline correction (Alday, 2019)
191
+ - Epoch length should include enough pre-stimulus time for baseline and enough post-stimulus time to capture the component of interest, plus buffer for filter edge artifacts (~**3 cycles of the high-pass cutoff**, i.e., ~100 ms for a 0.1 Hz filter is negligible, but ~600 ms for a 0.5 Hz filter; Luck, 2014, Ch. 5)
192
+
193
+ ---
194
+
195
+ ## Step 7: Epoch Rejection (Post-ICA)
196
+
197
+ ### Amplitude-Based Rejection
198
+
199
+ | Parameter | Recommendation | Source |
200
+ |-----------|---------------|--------|
201
+ | Peak-to-peak threshold | **100 uV** within a sliding **200 ms** window | Luck, 2014 |
202
+ | Simple voltage threshold | **+/-75 uV** to **+/-100 uV** | Luck, 2014; Keil et al., 2014 |
203
+ | Step function (saccade detection) | **80 uV** step within **200 ms** window at HEOG channels | Luck, 2014, Ch. 5 |
204
+ | Flatline detection | < **0.5 uV** range within **100 ms** window | MNE-Python defaults |
205
+
206
+ ### Rejection Rates
207
+
208
+ | Metric | Acceptable Range | Source |
209
+ |--------|-----------------|--------|
210
+ | Overall rejection rate | **< 25%** of epochs | Keil et al., 2014 |
211
+ | Minimum retained trials per condition | **>= 30** trials | Boudewyn et al., 2018 |
212
+ | Ideal retained trials per condition | **>= 40-50** trials for stable ERP estimates | Luck, 2014, Ch. 9 |
213
+ | If rejection rate > 30% | Recheck preprocessing parameters, ICA quality, or data quality | Keil et al., 2014 |
214
+
215
+ ### Decision Logic
216
+
217
+ 1. After ICA correction, most eye artifacts should already be removed
218
+ 2. Apply amplitude-based rejection to catch remaining artifacts (muscle, movement, residual)
219
+ 3. If rejection rate is too high:
220
+ - First, check if ICA adequately removed eye artifacts
221
+ - Then, consider slightly relaxing thresholds (e.g., **+/-125 uV**) if data quality is generally good (Luck, 2014)
222
+ - Finally, if many epochs are contaminated, the participant may need to be excluded
223
+ 4. Check for differential rejection rates across conditions -- imbalance > **20%** between conditions is concerning (Luck & Gaspelin, 2017)
224
+
225
+ ---
226
+
227
+ ## Processing Order: The Multiverse Problem
228
+
229
+ Different preprocessing choices can lead to different results. Lonedo et al. (2020) demonstrated that varying common preprocessing decisions produces a "multiverse" of possible outcomes. Key decision points with the largest impact:
230
+
231
+ ### High-Impact Decisions
232
+
233
+ | Decision | Options | Impact | Source |
234
+ |----------|---------|--------|--------|
235
+ | High-pass cutoff | 0.01 Hz vs 0.1 Hz vs 0.5 Hz | Can create or eliminate slow component effects | Tanner et al., 2015 |
236
+ | Reference scheme | Average vs mastoids vs REST | Changes component topography and amplitude | Luck, 2014, Ch. 5 |
237
+ | ICA vs no ICA | ICA correction vs epoch rejection only | ICA preserves more trials; rejection may be more conservative | Luck, 2014, Ch. 5 |
238
+ | Baseline window | -200 to 0 vs -100 to 0 vs no baseline | Affects amplitude estimates for all components | Luck, 2014, Ch. 5 |
239
+ | Artifact threshold | 75 uV vs 100 uV vs 150 uV | Strictness-trial count tradeoff | Luck, 2014 |
240
+
241
+ ### Recommendations for Robustness
242
+
243
+ 1. **Pre-register** your exact preprocessing pipeline before data collection (Keil et al., 2014)
244
+ 2. If exploratory, run **2-3 pipeline variants** and report whether results are consistent (Lonedo et al., 2020)
245
+ 3. Use established, published pipelines (e.g., MADE pipeline: Debnath et al., 2020; HAPPE: Gabard-Durnam et al., 2018) rather than inventing your own
246
+ 4. Report all preprocessing parameters in sufficient detail for replication (Keil et al., 2014)
247
+
248
+ ---
249
+
250
+ ## References
251
+
252
+ - Ablin, P., Cardoso, J. F., & Gramfort, A. (2018). Faster independent component analysis by preconditioning with Hessian approximations. *IEEE TSP*, 66(15), 4040-4049.
253
+ - Alday, P. M. (2019). How much baseline correction do we need in ERP research? *Brain Topography*, 32, 167-174.
254
+ - Alschuler, D. M., Tenke, C. E., Bruder, G. E., & Kayser, J. (2014). Identifying electrode bridging from electrical distance distributions. *Clinical Neurophysiology*, 125(3), 484-490.
255
+ - Bigdely-Shamlo, N., Mullen, T., Kothe, C., Su, K. M., & Robbins, K. A. (2015). The PREP pipeline. *Frontiers in Neuroinformatics*, 9, 16.
256
+ - Boudewyn, M. A., Luck, S. J., Farrens, J. L., & Kappenman, E. S. (2018). How many trials does it take to get a significant ERP effect? *Psychophysiology*, 55(6), e13049.
257
+ - Chaumon, M., Bishop, D. V., & Busch, N. A. (2015). A practical guide to the selection of independent components of the electroencephalogram for artifact correction. *Journal of Neuroscience Methods*, 250, 47-63.
258
+ - Debnath, R., Buzzell, G. A., Morales, S., Bowers, M. E., Leach, S. C., & Fox, N. A. (2020). The Maryland analysis of developmental EEG (MADE) pipeline. *Psychophysiology*, 57(6), e13580.
259
+ - Dong, L., Li, F., Liu, Q., Wen, X., Lai, Y., Xu, P., & Yao, D. (2017). MATLAB toolboxes for reference electrode standardization technique (REST). *Frontiers in Neuroscience*, 11, 601.
260
+ - Gabard-Durnam, L. J., et al. (2018). The Harvard Automated Processing Pipeline for EEG (HAPPE). *Frontiers in Neuroscience*, 12, 97.
261
+ - Kayser, J., & Tenke, C. E. (2006). Principal components analysis of Laplacian waveforms as a generic method for identifying ERP generator patterns. *Clinical Neurophysiology*, 117(2), 348-368.
262
+ - Keil, A., et al. (2014). Committee report: Publication guidelines for EEG and MEG. *Psychophysiology*, 51(1), 1-21.
263
+ - Lonedo, A., et al. (2020). The multiverse of ERP analysis pipelines. *NeuroImage*, 209, 116465.
264
+ - Luck, S. J. (2014). *An Introduction to the Event-Related Potential Technique* (2nd ed.). MIT Press.
265
+ - Makeig, S., Bell, A. J., Jung, T. P., & Sejnowski, T. J. (1996). Independent component analysis of electroencephalographic data. *NIPS*, 8, 145-151.
266
+ - McMenamin, B. W., Shackman, A. J., Maxwell, J. S., Bachhuber, D. R., Koppenhaver, A. M., Greischar, L. L., & Davidson, R. J. (2010). Validation of ICA-based myogenic artifact correction for scalp and source-localized EEG. *NeuroImage*, 49(3), 2416-2432.
267
+ - Mognon, A., Jovicich, J., Bruzzone, L., & Buiatti, M. (2011). ADJUST: An automatic EEG artifact detector based on the joint use of spatial and temporal features. *Psychophysiology*, 48(2), 229-240.
268
+ - Onton, J., & Makeig, S. (2006). Information-based modeling of event-related brain dynamics. *Progress in Brain Research*, 159, 99-120.
269
+ - Perrin, F., Pernier, J., Bertrand, O., & Echallier, J. F. (1989). Spherical splines for scalp potential and current density mapping. *Electroencephalography and Clinical Neurophysiology*, 72(2), 184-187.
270
+ - Pion-Tonachini, L., Kreutz-Delgado, K., & Makeig, S. (2019). ICLabel: An automated electroencephalographic independent component classifier. *NeuroImage*, 198, 181-197.
271
+ - Smith, N. J., & Kutas, M. (2015). Regression-based estimation of ERP waveforms. *Psychophysiology*, 52(2), 157-168.
272
+ - Tanner, D., Morgan-Short, K., & Luck, S. J. (2015). How inappropriate high-pass filters can produce artifactual effects. *Psychophysiology*, 52(8), 997-1009.
273
+ - Widmann, A., & Schroger, E. (2012). Filter effects and filter artifacts in the analysis of electrophysiological data. *Frontiers in Psychology*, 3, 233.
274
+ - Widmann, A., Schroger, E., & Maess, B. (2015). Digital filter design for electrophysiological data. *Journal of Neuroscience Methods*, 250, 34-46.
275
+ - Winkler, I., Debener, S., Muller, K. R., & Tangermann, M. (2015). On the influence of high-pass filtering on ICA-based artifact reduction in EEG-ERP. *Proceedings of the IEEE EMBC*, 4101-4105.
276
+ - Winkler, I., Haufe, S., & Tangermann, M. (2011). Automatic classification of artifactual ICA-components for artifact removal in EEG signals. *Behavioral and Brain Functions*, 7(1), 30.
277
+ - Yao, D. (2001). A method to standardize a reference of scalp EEG recordings to a point at infinity. *Physiological Measurement*, 22(4), 693-711.
@@ -0,0 +1,351 @@
1
+ # Statistical Approaches for ERP Analysis
2
+
3
+ This reference covers the major statistical methods used in ERP research, including amplitude measurement choices, time window and ROI selection strategies, traditional parametric approaches, and mass univariate / permutation-based methods.
4
+
5
+ ---
6
+
7
+ ## 1. Amplitude Measurement Methods
8
+
9
+ ### Mean Amplitude
10
+
11
+ | Property | Details | Source |
12
+ |----------|---------|--------|
13
+ | **Definition** | Average voltage across all time points within the measurement window | Luck, 2014, Ch. 9 |
14
+ | **When to use** | Broad components without a sharp peak (N400, P300, LPC, CNV) | Luck, 2014, Ch. 9 |
15
+ | **Advantages** | Robust to noise; not biased by trial count; does not require a clear peak | Luck, 2014, Ch. 9 |
16
+ | **Disadvantages** | Sensitive to window width; can include non-component activity if the window is too wide | Luck, 2014, Ch. 9 |
17
+ | **Recommendation** | **Default choice** for most ERP analyses | Luck, 2014, Ch. 9 |
18
+
19
+ ### Peak Amplitude
20
+
21
+ | Property | Details | Source |
22
+ |----------|---------|--------|
23
+ | **Definition** | Maximum (or minimum for negative components) voltage within the measurement window | Luck, 2014, Ch. 9 |
24
+ | **When to use** | Sharp, well-defined peaks (P1, N1, N170) | Luck, 2014, Ch. 9 |
25
+ | **Advantages** | Intuitive; captures the maximum expression of a component | Luck, 2014, Ch. 9 |
26
+ | **Disadvantages** | Biased by noise (noisy data = artificially large peaks); biased by trial count (fewer trials = more noise = larger apparent peak); requires a clear peak to be meaningful | Luck, 2014, Ch. 9 |
27
+ | **Bias correction** | Use **local peak** (search within window then average surrounding **+/-25 ms**) rather than absolute maximum | Luck, 2014, Ch. 9 |
28
+
29
+ ### Peak Latency
30
+
31
+ | Property | Details | Source |
32
+ |----------|---------|--------|
33
+ | **Definition** | Time point of the maximum (or minimum) voltage within the measurement window | Luck, 2014, Ch. 9 |
34
+ | **When to use** | When processing speed is the variable of interest | Luck, 2014, Ch. 9 |
35
+ | **Disadvantages** | Very sensitive to noise; a secondary peak or noise spike can shift the measured latency dramatically; **do not use** for components without a clear peak | Luck, 2014, Ch. 9 |
36
+ | **Preferred alternative** | **50% fractional area latency** (see below) | Kiesel et al., 2008 |
37
+
38
+ ### 50% Fractional Area Latency
39
+
40
+ | Property | Details | Source |
41
+ |----------|---------|--------|
42
+ | **Definition** | The time point that divides the area under the component into two equal halves (50% of the total area on each side) | Kiesel et al., 2008 |
43
+ | **When to use** | Whenever latency is of interest; **preferred over peak latency** for nearly all components | Kiesel et al., 2008; Luck, 2014, Ch. 9 |
44
+ | **Advantages** | More robust to noise than peak latency; works even when the peak is broad or asymmetric; not biased by amplitude differences between conditions | Kiesel et al., 2008 |
45
+ | **Implementation** | Define the measurement window, rectify the waveform if needed, compute cumulative area, find the 50% crossing point | Kiesel et al., 2008 |
46
+
47
+ ### Signed and Unsigned Area
48
+
49
+ | Property | Details | Source |
50
+ |----------|---------|--------|
51
+ | **Signed area** | Area between the waveform and zero (or baseline), counting positive and negative areas with their sign | Luck, 2014, Ch. 9 |
52
+ | **Unsigned area** | Absolute area regardless of polarity | Luck, 2014, Ch. 9 |
53
+ | **When to use** | Signed area: when the component's polarity is meaningful and consistent. Unsigned area: when the component may span both polarities | Luck, 2014, Ch. 9 |
54
+
55
+ ### Decision Guide: Which Measure?
56
+
57
+ ```
58
+ Does the component have a clear, sharp peak?
59
+ |
60
+ +-- YES (e.g., P1, N1, N170)
61
+ | |
62
+ | +-- Measuring amplitude? --> Peak amplitude (with local peak averaging)
63
+ | +-- Measuring latency? --> 50% fractional area latency (preferred) or peak latency
64
+ |
65
+ +-- NO (e.g., N400, P300, LPC, CNV)
66
+ |
67
+ +-- Measuring amplitude? --> Mean amplitude (default)
68
+ +-- Measuring latency? --> 50% fractional area latency
69
+ ```
70
+
71
+ ---
72
+
73
+ ## 2. Time Window and ROI Selection
74
+
75
+ ### Strategy 1: A Priori Selection (Preferred)
76
+
77
+ | Property | Details | Source |
78
+ |----------|---------|--------|
79
+ | **Approach** | Select time window and electrode ROI based on prior literature **before** looking at your data | Luck & Gaspelin, 2017 |
80
+ | **Example** | "Based on Kutas & Federmeier (2011), we defined the N400 time window as 300-500 ms at electrodes Cz, CPz, Pz, C3, C4, CP3, CP4, P3, P4" | Standard practice |
81
+ | **Advantages** | Eliminates double-dipping; fully pre-specifiable in a pre-registration | Luck & Gaspelin, 2017 |
82
+ | **Disadvantages** | May miss the true peak if your paradigm differs from the literature; may include time points where the component is not active | Luck & Gaspelin, 2017 |
83
+ | **When to use** | When studying a well-characterized component with established windows from prior work | Luck & Gaspelin, 2017 |
84
+
85
+ ### Strategy 2: Collapsed Localizer
86
+
87
+ | Property | Details | Source |
88
+ |----------|---------|--------|
89
+ | **Approach** | Average across **all conditions** (collapsing the factor of interest) to identify the component's peak latency and scalp distribution; then measure differences **between conditions** within that window | Luck & Gaspelin, 2017 |
90
+ | **Example** | Average all word types to find the N400 peak timing and location, then test semantic congruity differences within that window | Luck & Gaspelin, 2017 |
91
+ | **Advantages** | Data-informed but avoids double-dipping (the localizer is orthogonal to the contrast of interest) | Luck & Gaspelin, 2017 |
92
+ | **Disadvantages** | Assumes the component peaks at the same time for all conditions (may not hold if latency varies across conditions) | Luck & Gaspelin, 2017 |
93
+ | **When to use** | When a priori windows are uncertain or when working with a less-studied paradigm | Luck & Gaspelin, 2017 |
94
+
95
+ ### Strategy 3: Data-Driven (Mass Univariate)
96
+
97
+ | Property | Details | Source |
98
+ |----------|---------|--------|
99
+ | **Approach** | Test every time point and electrode, using permutation-based correction for multiple comparisons | Maris & Oostenveld, 2007; Groppe et al., 2011 |
100
+ | **Advantages** | No need to pre-select window or ROI; discovers effects wherever they occur | Maris & Oostenveld, 2007 |
101
+ | **Disadvantages** | Lower power for specific, targeted hypotheses; cannot spatiotemporally localize effects (for cluster-based tests) | Maris & Oostenveld, 2007 |
102
+ | **When to use** | Exploratory analyses; effects with unknown timing/distribution; supplementing a priori analyses | Groppe et al., 2011 |
103
+
104
+ ### The Double-Dipping Problem
105
+
106
+ **Never** select time windows or electrodes by examining the difference between conditions, then test that same difference in the selected window. This is circular analysis (Kriegeskorte et al., 2009) and inflates Type I error rates well above the nominal alpha level (Luck & Gaspelin, 2017).
107
+
108
+ **Acceptable**:
109
+ - A priori windows from prior studies
110
+ - Collapsed localizer (averaged across all conditions)
111
+ - Independent localizer (from a separate task or separate participants)
112
+ - Mass univariate with proper correction
113
+
114
+ **Not acceptable**:
115
+ - Choosing the window where the difference between conditions is largest
116
+ - Choosing electrodes where the effect is strongest
117
+ - "Adjusting" a priori windows after seeing the data to better capture the observed effect
118
+
119
+ ---
120
+
121
+ ## 3. Traditional Parametric Approaches
122
+
123
+ ### Repeated-Measures ANOVA
124
+
125
+ The most common traditional approach for ERP analysis.
126
+
127
+ | Property | Details | Source |
128
+ |----------|---------|--------|
129
+ | **Typical design** | Condition (2+) x Electrode Region (anterior/posterior, or left/midline/right) x Hemisphere (left/right) | Luck, 2014, Ch. 10 |
130
+ | **Dependent variable** | Mean amplitude (or peak amplitude) extracted from a defined time window and ROI | Luck, 2014, Ch. 9 |
131
+ | **Sphericity correction** | Use Greenhouse-Geisser correction when epsilon < **0.75**; Huynh-Feldt when epsilon >= **0.75** (Luck, 2014, Ch. 10) | Luck, 2014, Ch. 10 |
132
+ | **Effect size** | Report **partial eta-squared** (eta_p^2) for ANOVA effects; **Cohen's d** for follow-up t-tests | Keil et al., 2014 |
133
+ | **Topographic factors** | Including electrode as a factor tests whether the effect varies across the scalp (interaction), but main effects of electrode are usually not meaningful | Luck, 2014, Ch. 10 |
134
+
135
+ ### Considerations for Electrode Factors
136
+
137
+ - If including an **Anteriority** factor (frontal, central, parietal) and **Laterality** factor (left, midline, right), you are testing whether the **scalp distribution** of the effect varies across conditions (Luck, 2014, Ch. 10)
138
+ - A **Condition x Anteriority** interaction means the condition effect differs in size across anterior-to-posterior electrode sites -- this is topographic information, not additional evidence for the basic effect (Luck, 2014, Ch. 10)
139
+ - Normalize amplitudes (e.g., vector scaling; McCarthy & Wood, 1985) before testing topographic interactions to avoid confounding amplitude and distribution differences (Urbach & Kutas, 2002)
140
+
141
+ ### Follow-Up Tests
142
+
143
+ | Test | When | Source |
144
+ |------|------|--------|
145
+ | Pairwise t-tests | After significant omnibus ANOVA | Standard |
146
+ | Planned contrasts | When specific condition comparisons are hypothesized a priori | Standard |
147
+ | Simple effects | When interactions are significant | Standard |
148
+ | Correction | Bonferroni or Holm-Bonferroni for multiple pairwise comparisons | Luck, 2014, Ch. 10 |
149
+
150
+ ---
151
+
152
+ ## 4. Mass Univariate Approaches
153
+
154
+ ### Cluster-Based Permutation Test
155
+
156
+ The most widely used mass univariate approach for ERP/EEG data.
157
+
158
+ | Property | Details | Source |
159
+ |----------|---------|--------|
160
+ | **Core idea** | Test each time-electrode point; form clusters of contiguous significant points; compare observed cluster statistics to a null distribution from permuted data | Maris & Oostenveld, 2007 |
161
+ | **Cluster-forming threshold** | Typically **p < 0.05** (uncorrected) at each time-electrode point; some use **p < 0.01** for greater specificity | Maris & Oostenveld, 2007 |
162
+ | **Cluster statistic** | Sum of t-values (or F-values) within each cluster; tests whether clusters are larger than expected by chance | Maris & Oostenveld, 2007 |
163
+ | **Number of permutations** | **>= 1000** (minimum); **5000-10,000** recommended for stable p-values | Maris & Oostenveld, 2007; MNE-Python documentation |
164
+ | **Corrected alpha** | **0.05** (two-tailed: use **0.025** for each tail, or set tail parameter appropriately) | Maris & Oostenveld, 2007 |
165
+ | **Adjacency definition** | Spatial neighbors based on electrode positions (typically **4-6 nearest neighbors**); temporal neighbors are adjacent time points | Maris & Oostenveld, 2007 |
166
+ | **Implementation** | MNE-Python: `mne.stats.spatio_temporal_cluster_test`; FieldTrip: `ft_timelockstatistics` with `cfg.method = 'montecarlo'` | MNE-Python / FieldTrip documentation |
167
+
168
+ #### Strengths
169
+
170
+ - Controls family-wise error rate (FWER) across all time points and electrodes simultaneously (Maris & Oostenveld, 2007)
171
+ - No need to pre-select time windows or ROIs (Maris & Oostenveld, 2007)
172
+ - Works with any test statistic (t-test, F-test, correlation) (Maris & Oostenveld, 2007)
173
+ - Handles complex spatiotemporal correlation structure of EEG data naturally (Maris & Oostenveld, 2007)
174
+
175
+ #### Limitations and Common Misinterpretations
176
+
177
+ | Issue | Explanation | Source |
178
+ |-------|-------------|--------|
179
+ | **No spatial/temporal localization** | A significant cluster does NOT mean the effect is present at every time-electrode point within the cluster; the test is on the cluster as a whole | Maris & Oostenveld, 2007 |
180
+ | **Sensitive to cluster-forming threshold** | Different thresholds can yield different clusters; report your threshold and consider sensitivity analysis | Pernet et al., 2015 |
181
+ | **Not interpretable as absence of effect** | A non-significant cluster does NOT provide evidence that no effect exists at those time points (low power for distributed, weak effects) | Sassenhagen & Draschkow, 2019 |
182
+ | **Not for testing latency differences** | Cluster boundaries do NOT indicate when the effect starts/stops | Sassenhagen & Draschkow, 2019 |
183
+
184
+ ### Threshold-Free Cluster Enhancement (TFCE)
185
+
186
+ | Property | Details | Source |
187
+ |----------|---------|--------|
188
+ | **Core idea** | Enhances each point's test statistic based on the support from neighboring significant points, without requiring a fixed cluster-forming threshold | Smith & Nichols, 2009 |
189
+ | **Advantage** | Avoids the arbitrary cluster-forming threshold choice | Smith & Nichols, 2009 |
190
+ | **Parameters** | H = **0.5**, E = **0.5** (defaults for 3D data from fMRI; may need adjustment for ERP data) | Smith & Nichols, 2009 |
191
+ | **Implementation** | MNE-Python: `mne.stats.spatio_temporal_cluster_test` with `threshold=dict(start=0, step=0.2)` | MNE-Python documentation |
192
+
193
+ ### FDR Correction (False Discovery Rate)
194
+
195
+ | Property | Details | Source |
196
+ |----------|---------|--------|
197
+ | **Core idea** | Control the expected proportion of false positives among all rejected hypotheses (rather than FWER) | Benjamini & Hochberg, 1995 |
198
+ | **Method** | Benjamini-Hochberg (BH) procedure: rank p-values, compare to (rank/n) * q | Benjamini & Hochberg, 1995 |
199
+ | **Typical q-value** | **0.05** (controls FDR at 5%) | Benjamini & Hochberg, 1995 |
200
+ | **When to use** | When testing many individual time-electrode points without clustering; when spatial localization of the effect is desired | Groppe et al., 2011 |
201
+ | **Advantages** | More powerful than Bonferroni; provides point-by-point localization; no cluster-forming threshold needed | Groppe et al., 2011 |
202
+ | **Disadvantages** | Less powerful than cluster-based methods for spatially extended effects; does not leverage spatial correlation structure | Groppe et al., 2011 |
203
+ | **Implementation** | MNE-Python: `mne.stats.fdr_correction`; R: `p.adjust(method="BH")` | Standard implementations |
204
+
205
+ ### Bonferroni and Holm-Bonferroni
206
+
207
+ | Property | Details | Source |
208
+ |----------|---------|--------|
209
+ | **Bonferroni** | Divide alpha by number of comparisons: corrected alpha = **0.05 / n_comparisons** | Standard |
210
+ | **Holm-Bonferroni** | Step-down procedure; more powerful than Bonferroni while maintaining FWER control | Holm, 1979 |
211
+ | **When to use** | Small number of planned comparisons (e.g., 3-5 pairwise t-tests after ANOVA); NOT recommended for hundreds of time-electrode tests | Luck, 2014, Ch. 10 |
212
+ | **Advantages** | Simple; controls FWER exactly | Standard |
213
+ | **Disadvantages** | Very conservative for large numbers of comparisons; does not leverage spatial/temporal correlation | Standard |
214
+
215
+ ---
216
+
217
+ ## 5. Choosing a Statistical Approach: Decision Framework
218
+
219
+ ### Decision Tree
220
+
221
+ ```
222
+ What is your research question?
223
+ |
224
+ +-- "Does condition A differ from condition B for a SPECIFIC component?"
225
+ | |
226
+ | +-- Do you have a priori time window and ROI?
227
+ | |
228
+ | +-- YES --> Extract mean amplitude; run repeated-measures ANOVA or paired t-test
229
+ | +-- NO --> Use collapsed localizer to define window, then ANOVA
230
+ |
231
+ +-- "WHERE and WHEN does the effect occur?" (exploratory)
232
+ | |
233
+ | +-- Is spatial localization important?
234
+ | |
235
+ | +-- YES --> Mass univariate with FDR correction (Groppe et al., 2011)
236
+ | +-- NO --> Cluster-based permutation test (Maris & Oostenveld, 2007)
237
+ |
238
+ +-- "Does my effect survive correction for multiple comparisons?"
239
+ | |
240
+ | +-- Few comparisons (< 10) --> Holm-Bonferroni
241
+ | +-- Many comparisons (time x electrode) --> Cluster-based or FDR
242
+ |
243
+ +-- "Is the effect present at specific time points?" (latency question)
244
+ |
245
+ +-- Fractional area latency on individual participants
246
+ +-- Do NOT use cluster boundaries to answer this question
247
+ ```
248
+
249
+ ### Method Comparison Summary
250
+
251
+ | Method | Controls | Power | Localization | Complexity | Best For |
252
+ |--------|----------|-------|-------------|------------|----------|
253
+ | ANOVA on a priori ROI | Type I (with correction) | High (focused) | Predefined | Low | Confirmatory, well-characterized components |
254
+ | Cluster permutation | FWER | High (for extended effects) | No (cluster-level only) | Medium | Whole-scalp exploratory analysis |
255
+ | TFCE | FWER | High | Better than cluster | Medium-High | Avoiding cluster-forming threshold |
256
+ | FDR (BH) | FDR | Medium | Yes (point-by-point) | Low | When spatial precision matters |
257
+ | Bonferroni | FWER | Low (if many tests) | Yes | Lowest | Few planned comparisons |
258
+
259
+ ---
260
+
261
+ ## 6. Reporting Standards
262
+
263
+ Based on Keil et al. (2014) and community best practices:
264
+
265
+ ### For Traditional ANOVA
266
+
267
+ - Report exact F-values, degrees of freedom, p-values, and effect sizes (partial eta-squared)
268
+ - If Greenhouse-Geisser correction is applied, report the epsilon value and corrected p-value
269
+ - Report follow-up pairwise comparisons with correction method specified
270
+ - Report mean amplitudes and standard deviations (or standard errors) for each condition
271
+
272
+ ### For Cluster-Based Permutation Tests
273
+
274
+ - Report the cluster-forming threshold (e.g., p < 0.05 uncorrected)
275
+ - Report the number of permutations (e.g., 5000)
276
+ - Report the cluster statistic (sum of t-values), cluster p-value, and the approximate spatial and temporal extent of the cluster
277
+ - **Do not** over-interpret cluster boundaries as precise onset/offset times
278
+ - Report effect sizes for the overall effect (e.g., Cohen's d at the peak time point)
279
+
280
+ ### For FDR-Corrected Mass Univariate
281
+
282
+ - Report the q-level used (e.g., q = 0.05)
283
+ - Report the number of comparisons
284
+ - Report which time-electrode points survived correction
285
+ - Visualize corrected significance maps
286
+
287
+ ### General Requirements
288
+
289
+ | Item | Details | Source |
290
+ |------|---------|--------|
291
+ | Effect sizes | **Always** report: partial eta-squared for ANOVA, Cohen's d for t-tests | Keil et al., 2014 |
292
+ | Exact p-values | Report exact values (e.g., p = 0.023), not just p < 0.05 | Keil et al., 2014 |
293
+ | Trial counts | Report number of accepted trials per condition per participant (mean and range) | Keil et al., 2014; Boudewyn et al., 2018 |
294
+ | Minimum trials | **>= 30** per condition per participant recommended for stable estimates | Boudewyn et al., 2018 |
295
+ | Software | Report the analysis software and version (e.g., "MNE-Python 1.6.0", "EEGLAB 2024.0") | Keil et al., 2014 |
296
+
297
+ ---
298
+
299
+ ## 7. Advanced Topics
300
+
301
+ ### Regression-Based ERP (rERP)
302
+
303
+ | Property | Details | Source |
304
+ |----------|---------|--------|
305
+ | **Approach** | Fit a linear regression at each time point with continuous/categorical predictors, rather than averaging and comparing means | Smith & Kutas, 2015 |
306
+ | **Advantages** | Handles continuous predictors (e.g., word frequency); accounts for overlapping responses; handles unbalanced designs | Smith & Kutas, 2015 |
307
+ | **When to use** | Continuous experimental variables; rapid-presentation paradigms with overlap; naturalistic stimuli | Smith & Kutas, 2015 |
308
+ | **Implementation** | Unfold toolbox (MATLAB); MNE-Python with custom regression | Ehinger & Dimigen, 2019 |
309
+
310
+ ### Linear Mixed Models (LMMs) for ERP
311
+
312
+ | Property | Details | Source |
313
+ |----------|---------|--------|
314
+ | **Approach** | Fit a linear mixed-effects model to single-trial amplitudes with random effects for participants (and optionally items) | Fromer et al., 2018 |
315
+ | **Advantages** | Handles unbalanced data; models individual differences; can include continuous predictors and covariates; no need to average first | Fromer et al., 2018 |
316
+ | **Disadvantages** | Computationally intensive for many time points; multiple comparison issue if applied at many time-electrode points | Fromer et al., 2018 |
317
+ | **Implementation** | R: `lme4::lmer()`; combine with cluster permutation for multiple comparison correction | Fromer et al., 2018 |
318
+
319
+ ### Multivariate Pattern Analysis (MVPA) / Decoding
320
+
321
+ | Property | Details | Source |
322
+ |----------|---------|--------|
323
+ | **Approach** | Train a classifier (e.g., SVM, LDA) to distinguish conditions from multivariate EEG patterns at each time point | Grootswagers et al., 2017 |
324
+ | **Advantages** | Uses all electrodes simultaneously; sensitive to distributed patterns; temporal generalization reveals processing dynamics | King & Dehaene, 2014 |
325
+ | **Typical parameters** | Leave-one-out or **5-fold** cross-validation; **L2-regularized** linear SVM or LDA; **AUC** or accuracy as metric | Grootswagers et al., 2017 |
326
+ | **Statistical testing** | Test decoding accuracy against **chance (50%** for 2-class) using one-sample t-test or cluster permutation across time | Grootswagers et al., 2017 |
327
+
328
+ ---
329
+
330
+ ## References
331
+
332
+ - Benjamini, Y., & Hochberg, Y. (1995). Controlling the false discovery rate. *JRSS-B*, 57(1), 289-300.
333
+ - Boudewyn, M. A., et al. (2018). How many trials does it take to get a significant ERP effect? *Psychophysiology*, 55(6), e13049.
334
+ - Ehinger, B. V., & Dimigen, O. (2019). Unfold: An integrated toolbox for overlap correction, non-linear modeling, and regression-based EEG analysis. *PeerJ*, 7, e7838.
335
+ - Fromer, R., Maier, M., & Abdel Rahman, R. (2018). Group-level EEG-processing pipeline for flexible single trial-based analyses including linear mixed models. *Frontiers in Neuroscience*, 12, 48.
336
+ - Groppe, D. M., Urbach, T. P., & Kutas, M. (2011). Mass univariate analysis of event-related brain potentials/fields I. *Psychophysiology*, 48(12), 1711-1725.
337
+ - Grootswagers, T., Wardle, S. G., & Carlson, T. A. (2017). Decoding dynamic brain patterns from evoked responses. *Journal of Neuroscience*, 37(3), 691-702.
338
+ - Holm, S. (1979). A simple sequentially rejective multiple test procedure. *Scandinavian Journal of Statistics*, 6(2), 65-70.
339
+ - Keil, A., et al. (2014). Committee report: Publication guidelines for EEG and MEG. *Psychophysiology*, 51(1), 1-21.
340
+ - Kiesel, A., et al. (2008). Measurement of ERP latency differences. *Psychophysiology*, 45(4), 517-523.
341
+ - King, J. R., & Dehaene, S. (2014). Characterizing the dynamics of mental representations. *Trends in Cognitive Sciences*, 18(4), 203-210.
342
+ - Kriegeskorte, N., et al. (2009). Circular analysis in systems neuroscience. *Nature Neuroscience*, 12(5), 535-540.
343
+ - Luck, S. J. (2014). *An Introduction to the Event-Related Potential Technique* (2nd ed.). MIT Press.
344
+ - Luck, S. J., & Gaspelin, N. (2017). How to get statistically significant effects in any ERP experiment. *Psychophysiology*, 54(1), 146-157.
345
+ - Maris, E., & Oostenveld, R. (2007). Nonparametric statistical testing of EEG- and MEG-data. *JNM*, 164(1), 177-190.
346
+ - McCarthy, G., & Wood, C. C. (1985). Scalp distributions of event-related potentials: An ambiguity associated with analysis of variance models. *Electroencephalography and Clinical Neurophysiology*, 62(3), 203-208.
347
+ - Pernet, C. R., Latinus, M., Nichols, T. E., & Rousselet, G. A. (2015). Cluster-based computational methods for mass univariate analyses of event-related brain potentials/fields. *JNM*, 250, 85-93.
348
+ - Sassenhagen, J., & Draschkow, D. (2019). Cluster-based permutation tests of MEG/EEG data do not establish significance of effect latency or location. *Psychophysiology*, 56(6), e13335.
349
+ - Smith, N. J., & Kutas, M. (2015). Regression-based estimation of ERP waveforms. *Psychophysiology*, 52(2), 157-168.
350
+ - Smith, S. M., & Nichols, T. E. (2009). Threshold-free cluster enhancement. *NeuroImage*, 44(1), 83-98.
351
+ - Urbach, T. P., & Kutas, M. (2002). The intractability of scaling scalp distributions to infer neuroelectric sources. *Psychophysiology*, 39(6), 791-808.