Browse Source

inital commit

Robin 5 months ago
commit
67677e9743
100 changed files with 8625 additions and 0 deletions
  1. 140 0
      .gitignore
  2. 144 0
      .zenodo.json
  3. 29 0
      LICENSE
  4. 53 0
      README.md
  5. 108 0
      aggregate_pipeline_output/Snakefile
  6. 21 0
      aggregate_pipeline_output/config.yml
  7. 41 0
      aggregate_pipeline_output/scripts/aggregate_pipeline_output.py
  8. 54 0
      aggregate_pipeline_output/scripts/average_wavemode_measures.py
  9. 60 0
      aggregate_pipeline_output/scripts/trend_wavefront_measures.py
  10. 41 0
      cobrawap_configs/configs/config.yaml
  11. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_KO1.yaml
  12. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_KO2.yaml
  13. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_KO3.yaml
  14. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_WT3.yaml
  15. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_WT4.yaml
  16. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT1_ISO000.yaml
  17. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT1_ISO050.yaml
  18. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT1_ISO100.yaml
  19. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT2_ISO000.yaml
  20. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT2_ISO020.yaml
  21. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT2_ISO100.yaml
  22. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT3_ISO000.yaml
  23. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT3_ISO020.yaml
  24. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT3_ISO075.yaml
  25. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT4_ISO000.yaml
  26. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT4_ISO050.yaml
  27. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT4_ISO100.yaml
  28. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT6_ISO000.yaml
  29. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT6_ISO020.yaml
  30. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT6_ISO100.yaml
  31. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT7_ISO000.yaml
  32. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT7_ISO050.yaml
  33. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT7_ISO125.yaml
  34. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT8_ISO000.yaml
  35. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT8_ISO050.yaml
  36. 113 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT8_ISO125.yaml
  37. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO1.yaml
  38. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO2.yaml
  39. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO3.yaml
  40. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO4.yaml
  41. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO5.yaml
  42. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO6.yaml
  43. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT1.yaml
  44. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT2.yaml
  45. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT3.yaml
  46. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT4.yaml
  47. 114 0
      cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT5.yaml
  48. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t1_s1.yaml
  49. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t1_s2.yaml
  50. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t1_s3.yaml
  51. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t1_s4.yaml
  52. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t2_s1.yaml
  53. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t2_s2.yaml
  54. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t2_s3.yaml
  55. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t2_s4.yaml
  56. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t3_s1.yaml
  57. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t3_s2.yaml
  58. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t3_s3.yaml
  59. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t3_s4.yaml
  60. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t1.yaml
  61. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t2.yaml
  62. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t3.yaml
  63. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t4.yaml
  64. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t5.yaml
  65. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t6.yaml
  66. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t7.yaml
  67. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t8.yaml
  68. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t1.yaml
  69. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t11.yaml
  70. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t12.yaml
  71. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t2.yaml
  72. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t4.yaml
  73. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t5.yaml
  74. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t6.yaml
  75. 59 0
      cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t9.yaml
  76. 109 0
      cobrawap_configs/stage01_data_entry/scripts/curate_IDIBAPS_data.py
  77. 83 0
      cobrawap_configs/stage01_data_entry/scripts/curate_LENS_data.py
  78. 91 0
      cobrawap_configs/stage02_processing/config_IDIBAPS.yaml
  79. 91 0
      cobrawap_configs/stage02_processing/config_IDIBAPS|25Hz.yaml
  80. 97 0
      cobrawap_configs/stage02_processing/config_LENS.yaml
  81. 97 0
      cobrawap_configs/stage02_processing/config_LENS|macrodim11.yaml
  82. 97 0
      cobrawap_configs/stage02_processing/config_LENS|macrodim3.yaml
  83. 97 0
      cobrawap_configs/stage02_processing/config_LENS|macrodim5.yaml
  84. 97 0
      cobrawap_configs/stage02_processing/config_LENS|macrodim7.yaml
  85. 97 0
      cobrawap_configs/stage02_processing/config_LENS|macrodim9.yaml
  86. 87 0
      cobrawap_configs/stage03_trigger_detection/config_IDIBAPS.yaml
  87. 87 0
      cobrawap_configs/stage03_trigger_detection/config_LENS.yaml
  88. 87 0
      cobrawap_configs/stage03_trigger_detection/config_LENS|minimatrigger.yaml
  89. 96 0
      cobrawap_configs/stage04_wave_detection/config_IDIBAPS.yaml
  90. 96 0
      cobrawap_configs/stage04_wave_detection/config_LENS.yaml
  91. 96 0
      cobrawap_configs/stage04_wave_detection/config_LENS|macrodim11.yaml
  92. 96 0
      cobrawap_configs/stage04_wave_detection/config_LENS|macrodim3.yaml
  93. 96 0
      cobrawap_configs/stage04_wave_detection/config_LENS|macrodim5.yaml
  94. 96 0
      cobrawap_configs/stage04_wave_detection/config_LENS|macrodim7.yaml
  95. 96 0
      cobrawap_configs/stage04_wave_detection/config_LENS|macrodim9.yaml
  96. 49 0
      cobrawap_configs/stage05_channel_wave_characterization/config_IDIBAPS.yaml
  97. 49 0
      cobrawap_configs/stage05_channel_wave_characterization/config_LENS.yaml
  98. 49 0
      cobrawap_configs/stage05_channel_wave_characterization/config_LENS|macrodim11.yaml
  99. 49 0
      cobrawap_configs/stage05_channel_wave_characterization/config_LENS|macrodim3.yaml
  100. 0 0
      cobrawap_configs/stage05_channel_wave_characterization/config_LENS|macrodim5.yaml

+ 140 - 0
.gitignore

@@ -0,0 +1,140 @@
+cobrawap_output/*
+
+cluster_files/
+snakejob.sh
+
+miniconda3/
+.snakemake/
+temp*
+temp*/
+.idea/
+
+# Byte-compiled / optimized / DLL files
+__pycache__/
+*.py[cod]
+*$py.class
+
+# C extensions
+*.so
+
+# Distribution / packaging
+.Python
+build/
+develop-eggs/
+dist/
+downloads/
+eggs/
+.eggs/
+lib/
+lib64/
+parts/
+sdist/
+var/
+wheels/
+pip-wheel-metadata/
+share/python-wheels/
+*.egg-info/
+.installed.cfg
+*.egg
+MANIFEST
+
+# PyInstaller
+#  Usually these files are written by a python script from a template
+#  before PyInstaller builds the exe, so as to inject date/other infos into it.
+*.manifest
+*.spec
+
+# Installer logs
+pip-log.txt
+pip-delete-this-directory.txt
+
+# Unit test / coverage reports
+htmlcov/
+.tox/
+.nox/
+.coverage
+.coverage.*
+.cache
+nosetests.xml
+coverage.xml
+*.cover
+*.py,cover
+.hypothesis/
+.pytest_cache/
+
+# Translations
+*.mo
+*.pot
+
+# Django stuff:
+*.log
+local_settings.py
+db.sqlite3
+db.sqlite3-journal
+
+# Flask stuff:
+instance/
+.webassets-cache
+
+# Scrapy stuff:
+.scrapy
+
+# Sphinx documentation
+docs/_build/
+
+# PyBuilder
+target/
+
+# Jupyter Notebook
+.ipynb_checkpoints
+
+# IPython
+profile_default/
+ipython_config.py
+
+# pyenv
+.python-version
+
+# pipenv
+#   According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
+#   However, in case of collaboration, if having platform-specific dependencies or dependencies
+#   having no cross-platform support, pipenv may install dependencies that don't work, or not
+#   install all needed dependencies.
+#Pipfile.lock
+
+# PEP 582; used by e.g. github.com/David-OConnor/pyflow
+__pypackages__/
+
+# Celery stuff
+celerybeat-schedule
+celerybeat.pid
+
+# SageMath parsed files
+*.sage.py
+
+# Environments
+.env
+.venv
+env/
+venv/
+ENV/
+env.bak/
+venv.bak/
+
+# Spyder project settings
+.spyderproject
+.spyproject
+
+# Rope project settings
+.ropeproject
+
+# mkdocs documentation
+/site
+
+# mypy
+.mypy_cache/
+.dmypy.json
+dmypy.json
+
+# Pyre type checker
+.pyre/

+ 144 - 0
.zenodo.json

@@ -0,0 +1,144 @@
+{
+    "creators": [
+      {
+        "orcid": "0000-0001-7373-5962",
+        "affiliation": "Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA-Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany",
+        "name": "Gutzen, Robin"
+      }
+    ],
+    
+    "contributors": [
+        {
+        "orcid": "0000-0001-7373-5962",
+        "affiliation": "Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA-Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany; Theoretical Systems Neurobiology, RWTH Aachen University, Aachen, Germany",
+        "name": "Gutzen, Robin",
+        "role": "Project Member"
+        },
+        {
+        "orcid": "0000-0001-7079-5724",
+        "affiliation": "Istituto Nazionale di Fisica Nucleare (INFN), Sezione di Roma, Rome, Italy",
+        "name": "De Bonis, Giulia",
+        "role": "Project Member"
+        },
+        {
+        "orcid": "0000-0003-3488-0088",
+        "affiliation": "Istituto Nazionale di Fisica Nucleare (INFN), Sezione di Roma, Rome, Italy; Institute of Neuroinformatics, University of Zürich and ETH Zürich, Zürich, Switzerland",
+        "name": "De Luca, Chiara",
+        "role": "Project Member"
+        },
+      {
+        "orcid": "0000-0001-7079-5724",
+        "affiliation": "Istituto Nazionale di Fisica Nucleare (INFN), Sezione di Roma, Rome, Italy",
+        "name": "De Bonis, Giulia",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0003-3488-0088",
+        "affiliation": "Istituto Nazionale di Fisica Nucleare (INFN), Sezione di Roma, Rome, Italy; Institute of Neuroinformatics, University of Zürich and ETH Zürich, Zürich, Switzerland",
+        "name": "De Luca, Chiara",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0003-0682-1232",
+        "affiliation": "Istituto Nazionale di Fisica Nucleare (INFN), Sezione di Roma, Rome, Italy",
+        "name": "Pastorelli, Elena",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0002-9958-2551",
+        "affiliation": "Istituto Nazionale di Fisica Nucleare (INFN), Sezione di Roma, Rome, Italy",
+        "name": "Capone, Cristiano",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0002-8489-0076",
+        "affiliation": "European Laboratory for Non-linear Spectroscopy (LENS), University of Florence, Florence, Italy; Neuroscience Institute, National Research Council, Pisa, Italy",
+        "name": "Allegra Mascaro, Anna Letizia",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0002-9605-5852",
+        "affiliation": "European Laboratory for Non-linear Spectroscopy (LENS), University of Florence, Florence, Italy; Department of Physics and Astronomy, University of Florence, Florence, Italy",
+        "name": "Resta, Francesco",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0002-9605-5852",
+        "affiliation": "European Laboratory for Non-linear Spectroscopy (LENS), University of Florence, Florence, Italy; Department of Physics and Astronomy, University of Florence, Florence, Italy",
+        "name": "Resta, Francesco",
+        "role": "Data Collector"
+      },
+      {
+        "orcid": "0000-0002-8306-0759",
+        "affiliation": "Institut d’Investigacions Biomèdiques August Pi i Sunyer (IDIBAPS), Barcelona, Spain",
+        "name": "Manasanch, Arnau",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0002-0675-3981",
+        "affiliation": "European Laboratory for Non-linear Spectroscopy (LENS), University of Florence, Florence, Italy; Department of Physics and Astronomy, University of Florence, Florence, Italy; National Institute of Optics, National research Council, Sesto Fiorentino, Italy",
+        "name": "Pavone, Francesco Saverio",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0002-8437-9083",
+        "affiliation": "Institut d’Investigacions Biomèdiques August Pi i Sunyer (IDIBAPS), Barcelona, Spain; Institució Catalana de Recerca i Estudis Avançats (ICREA), Barcelona, Spain",
+        "name": "Sanchez-Vives, Maria V.",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0002-2356-4509",
+        "affiliation": "Natl. Center for Radiation Protection and Computational Physics, Istituto Superiore di Sanità (ISS), Rome, Italy",
+        "name": "Mattia, Maurizio",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0003-2829-2220",
+        "affiliation": "Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA-Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany; Theoretical Systems Neurobiology, RWTH Aachen University, Aachen, Germany",
+        "name": "Grün, Sonja",
+        "role": "Project Member"
+      },
+      {
+        "orcid": "0000-0003-1255-7300",
+        "affiliation": "Institute of Neuroscience and Medicine (INM-6) and Institute for Advanced Simulation (IAS-6) and JARA-Institute Brain Structure-Function Relationships (INM-10), Jülich Research Centre, Jülich, Germany",
+        "name": "Denker, Michael",
+        "role": "Project Leader"
+      },
+      {
+        "orcid": "0000-0003-1937-6086",
+        "affiliation": "Istituto Nazionale di Fisica Nucleare (INFN), Sezione di Roma, Rome, Italy",
+        "name": "Paolucci, Pier Stanislao",
+        "role": "Project Leader"
+      }
+    ],
+  
+    "title": "Cobrawap Manuscript Code Archive",
+  
+    "keywords": [
+      "neuroscience",
+      "neurophysiology",
+      "electrophysiology",
+      "statistics",
+      "data-analysis"
+    ],
+  
+    "license": {
+      "id": "BSD 3-Clause 'New' or 'Revised' License"
+    },
+
+    "related_identifiers": [
+      {
+        "scheme": "doi",
+        "identifier": "10.48550/arXiv.2211.08527",
+        "relation": "isDocumentedBy",
+        "resource_type": "publication-preprint"
+      }
+    ],
+    
+    "grants": [
+      {"id": "785907"},
+      {"id": "945539"}
+    ],
+  
+    "upload_type": "software"
+  }

+ 29 - 0
LICENSE

@@ -0,0 +1,29 @@
+BSD 3-Clause License
+
+Copyright (c) 2023, Forschungszentrum Jülich GmbH
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright notice, this
+   list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright notice,
+   this list of conditions and the following disclaimer in the documentation
+   and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holder nor the names of its
+   contributors may be used to endorse or promote products derived from
+   this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+ 53 - 0
README.md

@@ -0,0 +1,53 @@
+# Cobrawap Manuscript Code Archive
+
+This is the code and data archive accompanying the publication
+> Gutzen, R., De Bonis, G., De Luca, C., Pastorelli, E., Capone, C., Allegra Mascaro, A. L., Resta, F., Manasanch, A., Pavone, F. S., Sanchez-Vives, M. V., Mattia, M., Grün, S., Paolucci, P. S., & Denker, M. (2023). "Using a modular and adaptable analysis pipeline to compare slow cerebral rhythms across heterogeneous datasets". Cell Reports Methods
+
+The above publication also introduces the software 
+> Collaborative Brain Wave Analysis Pipeline (Cobrawap). RRID:SCR_022966. [https://cobrawap.readthedocs.io](https://cobrawap.readthedocs.io)
+
+## How to reproduce the results/figures from the publication
+#### Setup
+- Setup the Python environment (`conda create -f environment.yaml`) and activate it.
+- Setup Cobrawap with `cobrawap init` and follow the instructions to 
+    - set the cobrawap output path (\<cobrawap_output\>),
+    - set the cobrawap config path (\<cobrawap_configs\>)
+    (see also the [documentation](https://cobrawap.readthedocs.io)).
+- Set the local project paths in *project_utils/project_paths.py*.
+
+#### Get the data
+- Download the ECoG (IDIBAPS) and calcium imaging (LENS) datasets from the EBRAINS KnowledgeGraph:
+    - IDIBAPS_WBS: [doi:10.25493%2FDZWT-1T8](https://doi.org/10.25493%2FDZWT-1T8)
+    - IDIBAPS_FXS: [doi:10.25493/ANF9-EG3](https://doi.org/10.25493/ANF9-EG3)
+    - IDIBAPS_PM: [10.25493/WKA8-Q4T](https://doi.org/10.25493/WKA8-Q4T)
+    - LENS_M: [10.25493/QFZK-FXS](https://doi.org/10.25493/QFZK-FXS)
+    - LENS_ISO: [10.25493/XJR8-QCA](https://doi.org/10.25493/XJR8-QCA)
+- Set the path parameter (`DATA_SETS`) in the *stage01_data_entry/config/config_<profile>.yaml* files to the corresponding data locations.
+
+#### Run the analysis pipeline
+- To produce all the possible pipeline outputs *\<cobrawap_output\>/\<profile\>\<variant\>/stage05_(channel_)wave_characterization/\<event-type\>_\<measure-type\>_measures.csv*, set the event-type and measure-type accordingly and execute:
+```
+cobrawap run --profile=<profile>
+```
+
+**Profiles:** The names that are used for the individual recordings and their corresponding configurations are listed in *project_utils/profiles.txt*.
+
+**Variants:** Variants are alternative configurations for a profile and can be specified by appending a corresponding label to the profile with a '|', e.g. `<profile>|minimatrigger`. Here, additional variants for spatial downsampling and alternative trigger detection are applied to all LENS datasets: **|macrodim3**, **|macrodim5**, **|macrodim7**, **|macrodim9**, **|macrodim11**, **|minimatrigger**.
+
+**Measure types:** There are two alternative final stages of the pipeline *stage05_wave_characterization* and *stage05_channel_wave_characterization*, corresponding to calculating either **wave-wise** or **channel-wise** characteristic measures. You can select between them in the top-level pipeline config *\<cobrawap_configs\>/configs/config.yaml*.
+
+**Event types:** The wave characterization in the pipeline output can be either given for all **wavefronts** or all **wavemodes** (wavemode = average of similar wavefronts). You can select between them by setting the parameter `EVENT_NAME` in the corresponding *stage05* config file. Also change the prefix of the `STAGE_OUTPUT` accordingly as `wavefronts` or `wavemodes`.
+
+#### Aggregate the output of the analysis pipeline
+In the folder *aggregate_pipeline_output* run snakemake (`snakemake -c1`) to create the combined dataframes from the individual pipeline outputs:
+    - *\<event-type\>_\<measure-type\>\<variant\>_measures.csv* containing the pipeline outputs for all profiles,
+    - *wavefronts_\<measure-type\>_trend_measures.csv* containing the moments of each measure for the downsampled (|macrodim) calcium imaging data,
+    - *wavemodes_\<measure-type\>_avg_measures.csv* containing the measures per wavefront averaged for each wavemode.
+
+#### Plot the figures
+In folder *plot_figures*:
+- Run `snakemake -c1` to produce Figure 5 and 6.
+- Execute `plot_wavemodes_dashboard.ipynb` to produce Figure 4 and S3 (change profile name in notebook accordingly).
+- Execute `plot_trigger_detection_f-anesthesia.ipynb` to produce Figure S4.
+- Execute `plot_examples_frames.ipynb` to produce wave frames in Figure 2.
+    - Note: to plot the ECoG waves frames data, it requires the additional pipeline run of the corresponding profile with reduced rate `cobrawap run --profile=IDIBAPS_WBS_WT4|25Hz`.

+ 108 - 0
aggregate_pipeline_output/Snakefile

@@ -0,0 +1,108 @@
+import sys
+import numpy as np
+sys.path.append(str(Path.cwd().parents[0] / 'project_utils'))
+from project_paths import project_paths
+from types import SimpleNamespace
+
+configfile: 'config.yml'
+config = SimpleNamespace(**config)
+
+profile_definition_file = project_paths.working_dir \
+                        / 'project_utils' / 'profiles.txt'
+
+with open(profile_definition_file) as file:
+    PROFILES = [line.strip() for line in file if len(line.strip())]
+
+def select_profile(profile, excludes=[]):
+    if not type(excludes) == list:
+        excludes = [excludes]
+    return np.array([str(exc) not in profile for exc in excludes]).all()
+
+def get_profiles(variant='', excludes=[]):
+    profiles = [p for p in PROFILES if select_profile(p, excludes)]
+    if variant:
+        return [profile+variant for profile in profiles if 'LENS' in profile]
+    else:
+        return profiles
+
+wildcard_constraints:
+    profile = '[\w]+',
+    measure_type = '[a-z\-]+',
+    event_name = '[a-z]+',
+    variant = '\|(macrodim[0-9]+|minimatrigger)|\d?'
+
+def pipeline_output(w):
+    stage_type = f'{"channel_" if w.measure_type=="channel-wise" else ""}wave'
+    stage = f'stage05_{stage_type}_characterization'
+    stage_output = f'{w.event_name}_{w.measure_type}_measures.csv'
+    path = lambda profile: project_paths.pipeline_output \
+                         / profile / stage / stage_output
+    return [path(profile) for profile in get_profiles(variant=w.variant,
+                                                      excludes=config.EXCLUDES)]
+
+def all_input(w):
+    dfs = expand(project_paths.dataframes
+                 / '{event_name}_{measure_type}{variant}_measures.csv',
+                 measure_type = config.MEASURE_TYPE,
+                 event_name = 'wavefronts',
+                 variant = config.VARIANT)
+    if 'wavemodes' in config.EVENT_NAME:
+        dfs += expand(project_paths.dataframes \
+                      / 'wavemodes_{measure_type}_avg_measures.csv',
+                      measure_type = config.MEASURE_TYPE)
+    if len(config.VARIANT) \
+    and any('macrodim' in variant for variant in config.VARIANT):
+        dfs += expand(project_paths.dataframes \
+                      / 'wavefronts_{measure_type}_trend_measures.csv',
+                      measure_type = config.MEASURE_TYPE)
+    return dfs
+
+rule all:
+    input:
+        all_input
+
+rule aggregate_pipeline_output:
+    input:
+        script = 'scripts/aggregate_pipeline_output.py',
+        data = pipeline_output
+    params:
+        excludes = config.EXCLUDES
+    output:
+        dataframe = project_paths.dataframes \
+                  / '{event_name}_{measure_type}{variant}_measures.csv'
+    shell:
+        """
+        python {input.script} --data {input.data:q} \
+                              --output {output.dataframe:q} \
+                              --excludes {params.excludes:q}
+        """
+
+rule average_wavemode_measures:
+    input:
+        script = 'scripts/average_wavemode_measures.py',
+        dataframe = '{dir}/wavefronts_{measure_type}{variant}_measures.csv'
+    output:
+        dataframe = '{dir}/wavemodes_{measure_type}{variant}_avg_measures.csv'
+    shell:
+        """
+        python {input.script} --dataframe {input.dataframe:q} \
+                              --output {output.dataframe:q}
+        """
+
+rule macrodim_trends:
+    input:
+        script = 'scripts/trend_wavefront_measures.py',
+        dataframes = expand(str(project_paths.dataframes \
+                                / 'wavefronts_{{measure_type}}{variant}_measures.csv'),
+                            variant = [v for v in config.VARIANT if 'minima' not in v])
+    params:
+        groupby = ['anesthetic', 'technique', 'macro_pixel_dim']
+    output:
+        dataframe = project_paths.dataframes \
+                  / 'wavefronts_{measure_type}_trend_measures.csv'
+    shell:
+        """
+        python {input.script} --data {input.dataframes:q} \
+                              --groupby {params.groupby:q} \
+                              --output {output.dataframe:q}
+        """

+ 21 - 0
aggregate_pipeline_output/config.yml

@@ -0,0 +1,21 @@
+
+MEASURE_TYPE : 
+  - wave-wise
+  - channel-wise
+
+EVENT_NAME: 
+  - wavefronts
+  - wavemodes
+
+VARIANT:
+  - ''
+  - '|macrodim3'
+  - '|macrodim5'
+  - '|macrodim7'
+  - '|macrodim9'
+  - '|macrodim11'
+  - '|minimatrigger'
+
+EXCLUDES:
+  - 191022
+  

+ 41 - 0
aggregate_pipeline_output/scripts/aggregate_pipeline_output.py

@@ -0,0 +1,41 @@
+import argparse
+import pandas as pd
+import numpy as np
+import sys
+from pathlib import Path
+sys.path.append(str(Path.cwd().parents[0] / 'plot_figures' / 'scripts'))
+from plotting_utils import df_dtypes
+
+
+def load_df(path):
+    df_dtypes.update(dict(is_planar=str))
+    df = pd.read_csv(path, dtype=df_dtypes)
+    df.drop(df.columns[df.columns.str.contains('unnamed', case=False)],
+            axis=1, inplace=True)
+    if 'wavefronts_id' in df.columns:
+        df = df[df.wavefronts_id.astype(int) != -1]
+    return df
+
+
+if __name__ == '__main__':
+    CLI = argparse.ArgumentParser(description=__doc__,
+                   formatter_class=argparse.RawDescriptionHelpFormatter)
+    CLI.add_argument("--data", nargs='+', type=Path, required=True,
+                     help="path to input data in neo format")
+    CLI.add_argument("--output", nargs='?', type=Path, required=True,
+                     help="path of output file")
+    CLI.add_argument("--excludes", nargs='+', type=str, default=[],
+                     help="path of output file")
+    args, unknown = CLI.parse_known_args()
+
+    dfs = []
+
+    for file in args.data:
+        if np.array([exc in str(file) for exc in args.excludes]).any():
+            continue
+        df = load_df(file)
+        dfs.append(df)
+
+    full_df = pd.concat(dfs, ignore_index=True)
+
+    full_df.to_csv(args.output)

+ 54 - 0
aggregate_pipeline_output/scripts/average_wavemode_measures.py

@@ -0,0 +1,54 @@
+import argparse
+import pandas as pd
+import numpy as np
+import sys
+from pathlib import Path
+sys.path.append(str(Path.cwd().parents[0] / 'plot_figures' / 'scripts'))
+from plotting_utils import df_dtypes, int_types, float_types
+
+def load_df(path, usecols=[]):
+    df = pd.read_csv(path, 
+                     usecols=lambda c: c in set(int_types+float_types+usecols),
+                     dtype=df_dtypes)
+    df.drop(df.columns[df.columns.str.contains('unnamed', case=False)],
+            axis=1, inplace=True)
+    return df
+
+def normalize_direction(df, direction_key='direction'):
+    direction_columns = [col.strip('_x') for col in df.columns \
+                         if (direction_key in col) \
+                         and ('_x' in col) \
+                         and not ('_std' in col)]
+    for key in direction_columns:
+        direction = df[f'{key}_x'] + 1j*df[f'{key}_y']
+        direction /= np.abs(direction)
+        df[f'{key}_x'] = np.real(direction)
+        df[f'{key}_y'] = np.imag(direction)
+    return df
+
+if __name__ == '__main__':
+    CLI = argparse.ArgumentParser(description=__doc__,
+                   formatter_class=argparse.RawDescriptionHelpFormatter)
+    CLI.add_argument("--dataframe", nargs='?', type=Path, required=True,
+                     help="path to input data in neo format")
+    CLI.add_argument("--output", nargs='?', type=Path, required=True,
+                     help="path of output file")
+    args, unknown = CLI.parse_known_args()
+
+    groupby = ['profile', 'wavemode', 'technique', 'anesthetic', 'model_type'] #, 'disease_model'] 
+    df = load_df(args.dataframe, usecols=groupby)
+    df = normalize_direction(df)
+
+    if 'channel-wise' in str(args.dataframe):
+        groupby += ['channel_id', 'x_coords', 'y_coords']
+
+    if 'disease_model' in df.columns:
+        df.disease_model.fillna('None', inplace=True)
+        groupby += ['disease_model']
+
+    avg_df = df.groupby(groupby, as_index=False, observed=True, dropna=False).mean()
+
+    if 'disease_model' in df.columns:
+        avg_df['disease_model'].replace({'None': None}, inplace =True)
+
+    avg_df.to_csv(args.output)

+ 60 - 0
aggregate_pipeline_output/scripts/trend_wavefront_measures.py

@@ -0,0 +1,60 @@
+import argparse
+from builtins import breakpoint
+import pandas as pd
+import numpy as np
+import sys
+from pathlib import Path
+sys.path.append(str(Path.cwd().parent / 'plot_figures' / 'scripts'))
+from plotting_utils import df_dtypes, filter_velocity_local
+from plotting_utils import simplify_anesthetic_names, int_types, float_types
+
+
+def load_df(path, usecols=[]):
+    df = pd.read_csv(path, 
+                     usecols=lambda c: c in set(int_types+float_types+usecols),
+                     dtype=df_dtypes)
+    df.drop(df.columns[df.columns.str.contains('unnamed', case=False)],
+            axis=1, inplace=True)
+    return df
+
+if __name__ == '__main__':
+    CLI = argparse.ArgumentParser(description=__doc__,
+                   formatter_class=argparse.RawDescriptionHelpFormatter)
+    CLI.add_argument("--data", nargs='+', type=Path, required=True,
+                     help="path to input data in neo format")
+    CLI.add_argument("--groupby", nargs='*', type=str, required=True,
+                     help="grouping keys")
+    CLI.add_argument("--output", nargs='?', type=Path, required=True,
+                     help="path of output file")
+    args, unknown = CLI.parse_known_args()
+    
+    dfs = []
+
+    for file in args.data:
+        df = load_df(file, usecols=args.groupby)
+        df = df[df.technique == 'calcium imaging']
+        df = simplify_anesthetic_names(df)
+        df['count'] = 1
+    
+        if 'channel-wise' in str(file):
+            df = filter_velocity_local(df)
+
+        if 'macro_pixel_dim' not in df.columns:
+            df['macro_pixel_dim'] = 1
+
+        grouped = df.groupby(args.groupby, as_index=False, observed=True, dropna=False)
+        median, summation = grouped.median(), grouped.sum()
+        q25, q75 = grouped.quantile(.25), grouped.quantile(.75)
+
+        macrodim_df_1 = pd.merge(q25, q75, how='outer', on=args.groupby, 
+                               suffixes=('_q25', '_q75'))
+        macrodim_df_2 = pd.merge(median, summation, how='outer', 
+                               on=args.groupby, suffixes=('_median', '_sum'))
+        macrodim_df = pd.merge(macrodim_df_1, macrodim_df_2, how='outer', 
+                               on=args.groupby, suffixes=('_1', '_2'))
+
+        dfs.append(macrodim_df)
+
+    trend_df = pd.concat(dfs, ignore_index=True)
+
+    trend_df.to_csv(args.output)

+ 41 - 0
cobrawap_configs/configs/config.yaml

@@ -0,0 +1,41 @@
+
+STAGES:
+    - 'stage01_data_entry'
+    - 'stage02_processing'
+    - 'stage03_trigger_detection'
+    - 'stage04_wave_detection'
+    - 'stage05_channel_wave_characterization'
+    # - 'stage05_wave_characterization'
+
+# A profile collects the parameter configuration for a specific dataset. The stages are executed using the config_<PROFILE>.yaml file, and results are stored in output_path/<PROFILE>/
+PROFILE: 'profile'
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+# PLOT_TSTART: 0  # in s
+# PLOT_TSTOP: 10  # in s
+# PLOT_CHANNELS: ['None', 'None', 'None']
+# PLOT_CHANNELS: ['2011', '3022', '4030']  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# VIDEO SETTINGS
+################
+QUALITY: 5 # 0(good) - 31(bad)
+SCALE_X: 720
+SCALE_Y: 720
+FPS: 18
+BITRATE: 20M
+# displayed sampling rate, the data will be stretched or compressed to.
+# If None, the inherent sampling rate is used.
+FRAME_RATE: None
+# 'gray', 'viridis' (sequential), 'coolwarm' (diverging), 'twilight' (cyclic)
+COLORMAP: 'twilight'
+PLOT_EVENT: 'wavefronts' # name of neo event to plot ('transitions', 'wavefronts'), default is None
+MARKER_COLOR: 'r'

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_KO1.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_FXS_KO1'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_FXS_KO1: '/projects/wavescalephant/Data/IDIBAPS_FXS/data-originals/FXS/KO/cond-FXS_type-KO_sub-1/hbp-01853_cond-FXS_type-KO_sub-1_chs-32_area-ALL_hem-RH_ana-ISO080_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/ANF9-EG3
+    anesthetic: isoflurane
+    concentration: 80 mg/kg
+    disease_model: 'FXS'
+    model_type: 'KO'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_KO2.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_FXS_KO2'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_FXS_KO2: '/projects/wavescalephant/Data/IDIBAPS_FXS/data-originals/FXS/KO/cond-FXS_type-KO_sub-2/hbp-01853_cond-FXS_type-KO_sub-2_chs-32_area-ALL_hem-RH_ana-ISO080_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/ANF9-EG3
+    anesthetic: isoflurane
+    concentration: 80 mg/kg
+    disease_model: 'FXS'
+    model_type: 'KO'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_KO3.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_FXS_KO3'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_FXS_KO3: '/projects/wavescalephant/Data/IDIBAPS_FXS/data-originals/FXS/KO/cond-FXS_type-KO_sub-3/hbp-01853_cond-FXS_type-KO_sub-3_chs-32_area-ALL_hem-RH_ana-ISO080_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/ANF9-EG3
+    anesthetic: isoflurane
+    concentration: 80 mg/kg
+    disease_model: 'FXS'
+    model_type: 'KO'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_WT3.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_FXS_WT3'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_FXS_WT3: '/projects/wavescalephant/Data/IDIBAPS_FXS/data-originals/FXS/WT/cond-FXS_type-WT_sub-3/hbp-01853_cond-FXS_type-WT_sub-3_chs-32_area-ALL_hem-RH_ana-ISO080_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/ANF9-EG3
+    anesthetic: isoflurane
+    concentration: 80 mg/kg
+    disease_model: 'FXS'
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_FXS_WT4.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_FXS_WT4'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_FXS_WT4: '/projects/wavescalephant/Data/IDIBAPS_FXS/data-originals/FXS/WT/cond-FXS_type-WT_sub-4/hbp-01853_cond-FXS_type-WT_sub-4_chs-32_area-ALL_hem-RH_ana-ISO090_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/ANF9-EG3
+    anesthetic: isoflurane
+    concentration: 90 mg/kg
+    disease_model: 'FXS'
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT1_ISO000.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT1_ISO000'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT1_ISO000: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-1/hbp-01852_sub-1_chs-32_hem-RH_ana-ISO000_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT1_ISO050.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT1_ISO050'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT1_ISO050: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-1/hbp-01852_sub-1_chs-32_hem-RH_ana-ISO050_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0.5%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT1_ISO100.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT1_ISO100'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT1_ISO100: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-1/hbp-01852_sub-1_chs-32_hem-RH_ana-ISO100_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 1.0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT2_ISO000.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT2_ISO000'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT2_ISO000: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-2/hbp-01852_sub-2_chs-32_hem-RH_ana-ISO000_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT2_ISO020.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT2_ISO020'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT2_ISO020: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-2/hbp-01852_sub-2_chs-32_hem-RH_ana-ISO020_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0.2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT2_ISO100.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT2_ISO100'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT2_ISO100: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-2/hbp-01852_sub-2_chs-32_hem-RH_ana-ISO100_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 1.0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT3_ISO000.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT3_ISO000'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT3_ISO000: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-3/hbp-01852_sub-3_chs-32_hem-RH_ana-ISO000_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT3_ISO020.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT3_ISO020'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT3_ISO020: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-3/hbp-01852_sub-3_chs-32_hem-RH_ana-ISO020_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0.2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT3_ISO075.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT3_ISO075'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT3_ISO075: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-3/hbp-01852_sub-3_chs-32_hem-RH_ana-ISO075_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0.75%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT4_ISO000.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT4_ISO000'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT4_ISO000: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-4/hbp-01852_sub-4_chs-32_hem-RH_ana-ISO000_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT4_ISO050.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT4_ISO050'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT4_ISO050: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-4/hbp-01852_sub-4_chs-32_hem-RH_ana-ISO050_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0.5%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT4_ISO100.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT4_ISO100'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT4_ISO100: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-4/hbp-01852_sub-4_chs-32_hem-RH_ana-ISO100_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 1.0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT6_ISO000.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT6_ISO000'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT6_ISO000: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-6/hbp-01852_sub-6_chs-32_hem-RH_ana-ISO000_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT6_ISO020.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT6_ISO020'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT6_ISO020: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-6/hbp-01852_sub-6_chs-32_hem-RH_ana-ISO020_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0.2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT6_ISO100.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT6_ISO100'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT6_ISO100: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-6/hbp-01852_sub-6_chs-32_hem-RH_ana-ISO100_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 1.0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT7_ISO000.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT7_ISO000'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT7_ISO000: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-7/hbp-01852_sub-7_chs-32_hem-RH_ana-ISO000_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT7_ISO050.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT7_ISO050'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT7_ISO050: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-7/hbp-01852_sub-7_chs-32_hem-RH_ana-ISO050_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0.5%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT7_ISO125.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT7_ISO125'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT7_ISO125: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-7/hbp-01852_sub-7_chs-32_hem-RH_ana-ISO125_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 1.25%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT8_ISO000.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT8_ISO000'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT8_ISO000: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-8/hbp-01852_sub-8_chs-32_hem-RH_ana-ISO000_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT8_ISO050.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT8_ISO050'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT8_ISO050: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-8/hbp-01852_sub-8_chs-32_hem-RH_ana-ISO050_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 0.5%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 113 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_PM_WT8_ISO125.yaml

@@ -0,0 +1,113 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_PM_WT8_ISO125'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_PM_WT8_ISO125: '/projects/wavescalephant/Data/IDIBAPS_PropagationModes/data-originals/sub-8/hbp-01852_sub-8_chs-32_hem-RH_ana-ISO125_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/WKA8-Q4T
+    anesthetic: ketamine-medetomidine + isoflurane
+    concentration: 55 & 1.3 mg/kg + 1.25%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO1.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_KO1'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_KO1: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/KO/cond-WBS_type-KO_sub-1/hbp-01853_cond-WBS_type-KO_sub-1_chs-32_area-ALL_hem-RH_ana-K100M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 100 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'KO'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO2.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_KO2'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_KO2: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/KO/cond-WBS_type-KO_sub-2/hbp-01853_cond-WBS_type-KO_sub-2_chs-32_area-ALL_hem-RH_ana-K100M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 100 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'KO'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO3.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_KO3'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_KO3: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/KO/cond-WBS_type-KO_sub-3/hbp-01853_cond-WBS_type-KO_sub-3_chs-32_area-ALL_hem-RH_ana-K100M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 100 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'KO'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO4.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_KO4'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_KO4: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/KO/cond-WBS_type-KO_sub-4/hbp-01853_cond-WBS_type-KO_sub-4_chs-32_area-ALL_hem-RH_ana-K100M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 100 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'KO'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO5.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_KO5'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_KO5: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/KO/cond-WBS_type-KO_sub-5/hbp-01853_cond-WBS_type-KO_sub-5_chs-32_area-ALL_hem-RH_ana-K100M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 100 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'KO'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_KO6.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_KO6'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_KO6: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/KO/cond-WBS_type-KO_sub-6/hbp-01853_cond-WBS_type-KO_sub-6_chs-32_area-ALL_hem-RH_ana-K75M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 75 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'KO'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT1.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_WT1'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_WT1: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/WT/cond-WBS_type-WT_sub-1/hbp-01853_cond-WBS_type-WT_sub-1_chs-32_area-ALL_hem-RH_ana-K100M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 100 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT2.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_WT2'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_WT2: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/WT/cond-WBS_type-WT_sub-2/hbp-01853_cond-WBS_type-WT_sub-2_chs-32_area-ALL_hem-RH_ana-K75M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 75 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT3.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_WT3'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_WT3: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/WT/cond-WBS_type-WT_sub-3/hbp-01853_cond-WBS_type-WT_sub-3_chs-32_area-ALL_hem-RH_ana-K100M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 100 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT4.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_WT4'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_WT4: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/WT/cond-WBS_type-WT_sub-4/hbp-01853_cond-WBS_type-WT_sub-4_chs-32_area-ALL_hem-RH_ana-K100M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 100 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 114 - 0
cobrawap_configs/stage01_data_entry/configs/config_IDIBAPS_WBS_WT5.yaml

@@ -0,0 +1,114 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS_WBS_WT5'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    IDIBAPS_WBS_WT5: '/projects/wavescalephant/Data/IDIBAPS_WBS/data-originals/WBS/WT/cond-WBS_type-WT_sub-5/hbp-01853_cond-WBS_type-WT_sub-5_chs-32_area-ALL_hem-RH_ana-K75M13_stim-SPN.smr'
+
+CURATION_SCRIPT: 'curate_IDIBAPS_data.py'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'
+
+# pixel size
+SPATIAL_SCALE: 0.55  # mm
+
+# specified in the data file
+SAMPLING_RATE: 'None' # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: ecog
+    doi: 10.25493/DZWT-1T8
+    anesthetic: ketamine-medetomidine
+    concentration: 75 & 13 mg/kg
+    disease_model: 'WBS'
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+# The keyword arguments are passed as key value pairs.
+# Keywords must only contain letters, numbers, underscores, and spaces.
+# Values can be strings, int, float, bool, or None.
+# Values can also be aranged in 1D objects such as lists, or tuples
+# It is possible to specify nested subdict.
+KWARGS:
+    ELECTRODE_ANNOTATION_NAME: 'phy_chan'
+    NAME2COORDS:
+        0:  (0,1)
+        1:  (6,4)
+        2:  (3,3)
+        3:  (4,3)
+        4:  (5,3)
+        5:  (6,3)
+        6:  (7,3)
+        7:  (8,3)
+        8:  (1,2)
+        9:  (2,2)
+        10: (3,2)
+        11: (4,2)
+        12: (5,2)
+        13: (6,2)
+        14: (7,2)
+        15: (8,2)
+        16: (7,0)
+        17: (1,1)
+        18: (2,1)
+        19: (3,1)
+        20: (4,1)
+        21: (5,1)
+        22: (6,1)
+        23: (7,1)
+        24: (8,1)
+        25: (0,0)
+        26: (1,0)
+        27: (2,0)
+        28: (3,0)
+        29: (4,0)
+        30: (5,0)
+        31: (6,0)
+    ELECTRODE_LOCATION:
+        Visual Cortex: [1,4,5,6,7,12,13,14,15,21,22,23,24]
+        Retrospenial Cortex: [16,31,30,29]
+        Parietal Association Cortex: [3,11,20]
+        Somatosensory Cortex: [2,8,9,10,17,18,19]
+        Motor Cortex: [0,25,26,27,28]
+    ELECTRODE_COLOR: # color scheme to match to figures in publication
+        Visual Cortex: '#0C6BB1'
+        Retrospenial Cortex: '#422F58'
+        Parietal Association Cortex: '#01B24E'
+        Somatosensory Cortex: '#F92600'
+        Motor Cortex: '#EF6700'
+
+# dictionary mapping the channels (ELECTRODE_ANNOTATION_NAME) to their coordiantes on the grid (grid_size)

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t1_s1.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t1'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t1: '/projects/wavescalephant/Data/LENS_ISO/190109/t1'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: 75
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t1_s2.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t1'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t1: '/projects/wavescalephant/Data/LENS_ISO/190109/t1'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: 75
+T_STOP: 150
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t1_s3.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t1'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t1: '/projects/wavescalephant/Data/LENS_ISO/190109/t1'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: 150
+T_STOP: 225
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t1_s4.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t1'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t1: '/projects/wavescalephant/Data/LENS_ISO/190109/t1'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: 225
+T_STOP: 300
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t2_s1.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t2'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t2: '/projects/wavescalephant/Data/LENS_ISO/190109/t2'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: 75
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t2_s2.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t2'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t2: '/projects/wavescalephant/Data/LENS_ISO/190109/t2'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: 75
+T_STOP: 150
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t2_s3.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t2'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t2: '/projects/wavescalephant/Data/LENS_ISO/190109/t2'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: 150
+T_STOP: 225
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t2_s4.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t2'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t2: '/projects/wavescalephant/Data/LENS_ISO/190109/t2'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: 225
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t3_s1.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t3'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t3: '/projects/wavescalephant/Data/LENS_ISO/190109/t3'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: 75
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t3_s2.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t3'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t3: '/projects/wavescalephant/Data/LENS_ISO/190109/t3'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: 75
+T_STOP: 150
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t3_s3.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t3'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t3: '/projects/wavescalephant/Data/LENS_ISO/190109/t3'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: 150
+T_STOP: 225
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_ISO190109_t3_s4.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_ISO190109_t3'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_ISO190109_t3: '/projects/wavescalephant/Data/LENS_ISO/190109/t3'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: 225
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/XJR8-QCA
+    anesthetic: isoflurane
+    concentration: 1-2%
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t1.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M2_t1'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse2_t1: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170110/mouse 2/deep/t1'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t2.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M2_t2'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse2_t2: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170110/mouse 2/deep/t2'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t3.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M2_t3'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse2_t3: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170110/mouse 2/deep/t3'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t4.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M2_t4'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse2_t4: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170110/mouse 2/deep/t4'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t5.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M2_t5'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse2_t5: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170110/mouse 2/deep/t5'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t6.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M2_t6'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse2_t6: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170110/mouse 2/deep/t6'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t7.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M2_t7'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse2_t7: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170110/mouse 2/deep/t7'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M2_t8.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M2_t8'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse2_t8: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170110/mouse 2/deep/t6'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t1.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M3_t1'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse3_t1: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170111/mouse 3/deep/t1'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t11.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M3_t11'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse3_t11: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170111/mouse 3/deep/t11'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t12.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M3_t12'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse3_t12: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170111/mouse 3/deep/t12'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t2.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M3_t2'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse3_t2: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170111/mouse 3/deep/t2'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t4.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M3_t4'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse3_t4: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170111/mouse 3/deep/t4'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t5.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M3_t5'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse3_t5: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170111/mouse 3/deep/t5'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t6.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M3_t6'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse3_t6: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170111/mouse 3/deep/t6'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 59 - 0
cobrawap_configs/stage01_data_entry/configs/config_LENS_M3_t9.yaml

@@ -0,0 +1,59 @@
+# Config file for Stage 1 - Data Entry
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage01_data_entry'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS_M3_t9'
+
+# Name of stage output file.
+STAGE_OUTPUT: "data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Datasets which should be processed with identical settings.
+# To set as key-value pairs
+# Name_of_dataset: /path/to/data/files/
+DATA_SETS:
+    LENS_GCMaP6f_mouse3_t9: '/projects/wavescalephant/Data/LENS/Slow-wave 1/170111/mouse 3/deep/t9'
+
+CURATION_SCRIPT: 'curate_LENS_data.py'
+
+# pixel size
+SPATIAL_SCALE: 0.05  # mm
+
+SAMPLING_RATE: 25  # Hz
+
+# time slice in s
+# if None, the entire recording is used
+T_START: None
+T_STOP: None
+
+# recommend top: ventral
+ORIENTATION_TOP: 'ventral'
+# recommended right: 'lateral' for right hemisphere, 'medial' for left hemisphere
+ORIENTATION_RIGHT: 'lateral'
+
+# Metadata
+ANNOTATIONS:
+    technique: calcium imaging
+    doi: 10.25493/QFZK-FXS
+    anesthetic: ketamine-xylazine
+    concentration: 100 & 10 mg/kg
+    model_type: 'WT'
+
+ARRAY_ANNOTATIONS: 'None'
+
+KWARGS: 'None'
+
+# Plot settings
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [4040, 5050, 6060]  # int, list of ints, or 'None' (default) -> picks channel by random
+PLOT_FORMAT: 'png'

+ 109 - 0
cobrawap_configs/stage01_data_entry/scripts/curate_IDIBAPS_data.py

@@ -0,0 +1,109 @@
+import numpy as np
+import argparse
+import quantities as pq
+import neo
+from utils.parse import parse_string2dict, none_or_float, none_or_str
+from utils.neo_utils import imagesequence_to_analogsignal, time_slice
+from utils.neo_utils import analogsignal_to_imagesequence, flip_image, rotate_image
+from utils.neo_utils import merge_analogsignals, add_empty_sites_to_analogsignal
+from utils.io_utils import write_neo, load_neo
+import matplotlib.pyplot as plt
+
+
+if __name__ == '__main__':
+    CLI = argparse.ArgumentParser(description=__doc__,
+            formatter_class=argparse.RawDescriptionHelpFormatter)
+    CLI.add_argument("--data", nargs='?', type=str, required=True,
+                     help="path to input data")
+    CLI.add_argument("--output", nargs='?', type=str, required=True,
+                     help="path of output file")
+    CLI.add_argument("--sampling_rate", nargs='?', type=none_or_float,
+                     default=None, help="sampling rate in Hz")
+    CLI.add_argument("--spatial_scale", nargs='?', type=float, required=True,
+                     help="distance between electrodes or pixels in mm")
+    CLI.add_argument("--data_name", nargs='?', type=str, default='None',
+                     help="chosen name of the dataset")
+    CLI.add_argument("--t_start", nargs='?', type=none_or_float, default=None,
+                     help="start time in seconds")
+    CLI.add_argument("--t_stop",  nargs='?', type=none_or_float, default=None,
+                     help="stop time in seconds")
+    CLI.add_argument("--orientation_top", nargs='?', type=str, required=True,
+                     help="upward orientation of the recorded cortical region")
+    CLI.add_argument("--orientation_right", nargs='?', type=str, required=True,
+                     help="right-facing orientation of the recorded cortical region")
+    CLI.add_argument("--annotations", nargs='+', type=none_or_str, default=None,
+                     help="metadata of the dataset")
+    CLI.add_argument("--array_annotations", nargs='+', type=none_or_str,
+                     default=None, help="channel-wise metadata")
+    CLI.add_argument("--kwargs", nargs='+', type=none_or_str, default=None,
+                     help="additional optional arguments")
+    args, unknown = CLI.parse_known_args()
+
+    try:
+        nio = neo.io.Spike2IO(args.data, try_signal_grouping=True)
+        block = nio.read_block()
+        # block = load_neo(args.data, try_signal_grouping=True)
+    except Exception as e:
+        print(e)
+        nio = neo.io.Spike2IO(args.data, try_signal_grouping=False)
+        block = nio.read_block()
+        # block = load_neo(args.data, try_signal_grouping=False)
+
+    asigs = block.segments[0].analogsignals
+
+    if len(asigs) > 1:
+        print(f'Merging {len(asigs)} AnalogSignals into one.')
+        asig = merge_analogsignals(asigs)
+    else:
+        asig = asigs[0]
+
+    asig = time_slice(asig, args.t_start, args.t_stop)
+
+    # add metadata
+    kwargs = parse_string2dict(args.kwargs)
+
+    channels = asig.array_annotations[kwargs['ELECTRODE_ANNOTATION_NAME']]
+
+    coords = np.array([kwargs['NAME2COORDS'][str(channel)] for channel in channels.astype(int)])
+    asig.array_annotations.update(x_coords=coords[:,1])
+    asig.array_annotations.update(y_coords=coords[:,0])
+
+    # locations = []
+    # for channel in channels:
+    #     locations.append([loc for loc in kwargs['ELECTRODE_LOCATION'].keys()
+    #                       if channel in kwargs['ELECTRODE_LOCATION'][loc]][0])
+    # asig.array_annotations.update(electrode_location=locations)
+
+    # colors = [kwargs['ELECTRODE_COLOR'][loc] for loc in
+    #           asig.array_annotations['electrode_location']]
+    # asig.array_annotations.update(electrode_color=colors)
+
+    asig.annotations.update(parse_string2dict(args.annotations))
+    asig.annotations.update(spatial_scale=args.spatial_scale*pq.mm)
+    asig.annotations.update(orientation_top=args.orientation_top)
+    asig.annotations.update(orientation_right=args.orientation_right)
+    asig.file_origin = args.data
+
+    if asig.description is None:
+        asig.description = ''
+    asig.description += 'ECoG signal. '
+
+    asig = add_empty_sites_to_analogsignal(asig)
+
+    # change data orientation to be top=ventral, right=lateral
+    imgseq = analogsignal_to_imagesequence(asig)
+    imgseq = flip_image(imgseq, axis=-2) # vertical flip
+    asig = imagesequence_to_analogsignal(imgseq)
+    block.segments[0].analogsignals = [asig]
+
+    # # for debugging
+    # fig, ax = plt.subplots()
+    # ax.imshow(imgseq.as_array()[0], origin='lower')
+    # breakpoint()
+
+    block.name = args.data_name
+    block.segments[0].name = 'Segment 1'
+    block.segments[0].description = 'Loaded with neo.Spike2IO (neo version {})'\
+                                    .format(neo.__version__)
+
+    write_neo(args.output, block)

+ 83 - 0
cobrawap_configs/stage01_data_entry/scripts/curate_LENS_data.py

@@ -0,0 +1,83 @@
+import numpy as np
+import argparse
+import neo
+import quantities as pq
+from utils.parse import parse_string2dict, none_or_float, none_or_str
+from utils.neo_utils import imagesequence_to_analogsignal, time_slice
+from utils.neo_utils import rotate_image, flip_image
+from utils.io_utils import write_neo
+import matplotlib.pyplot as plt
+
+
+if __name__ == '__main__':
+    CLI = argparse.ArgumentParser(description=__doc__,
+            formatter_class=argparse.RawDescriptionHelpFormatter)
+    CLI.add_argument("--data", nargs='?', type=str, required=True,
+                     help="path to input data directory")
+    CLI.add_argument("--output", nargs='?', type=str, required=True,
+                     help="path of output file")
+    CLI.add_argument("--sampling_rate", nargs='?', type=none_or_float,
+                     default=None, help="sampling rate in Hz")
+    CLI.add_argument("--spatial_scale", nargs='?', type=float, required=True,
+                     help="distance between electrodes or pixels in mm")
+    CLI.add_argument("--data_name", nargs='?', type=str, default='None',
+                     help="chosen name of the dataset")
+    CLI.add_argument("--annotations", nargs='+', type=none_or_str, default=None,
+                     help="metadata of the dataset")
+    CLI.add_argument("--array_annotations", nargs='+', type=none_or_str,
+                     default=None, help="channel-wise metadata")
+    CLI.add_argument("--kwargs", nargs='+', type=none_or_str, default=None,
+                     help="additional optional arguments")
+    CLI.add_argument("--t_start", nargs='?', type=none_or_float, default=None,
+                     help="start time in seconds")
+    CLI.add_argument("--t_stop",  nargs='?', type=none_or_float, default=None,
+                     help="stop time in seconds")
+    CLI.add_argument("--orientation_top", nargs='?', type=str, required=True,
+                     help="upward orientation of the recorded cortical region")
+    CLI.add_argument("--orientation_right", nargs='?', type=str, required=True,
+                     help="right-facing orientation of the recorded cortical region")
+    args, unknown = CLI.parse_known_args()
+
+    # Load optical data
+    nio = neo.io.tiffio.TiffIO(directory_path=args.data,
+                              sampling_rate=args.sampling_rate*pq.Hz,
+                              spatial_scale=args.spatial_scale*pq.mm,
+                              units='dimensionless')
+    # loading the data flips the images vertically!
+
+    block = nio.read_block()
+
+    # change data orientation to be top=ventral, right=lateral
+    imgseq = block.segments[0].imagesequences[0]
+    imgseq = flip_image(imgseq, axis=-2) # vertical
+    imgseq = rotate_image(imgseq, rotation=-90)
+    block.segments[0].imagesequences[0] = imgseq
+
+    # Transform into analogsignals
+    asig = imagesequence_to_analogsignal(imgseq)
+
+    asig = time_slice(asig, args.t_start, args.t_stop)
+
+    if args.annotations is not None:
+        asig.annotations.update(parse_string2dict(args.annotations))
+
+    asig.annotations.update(orientation_top=args.orientation_top)
+    asig.annotations.update(orientation_right=args.orientation_right)
+
+    # # for debugging
+    # fig, ax = plt.subplots()
+    # ax.imshow(imgseq.as_array()[0], origin='lower')
+    # breakpoint()
+
+    # ToDo: add metadata
+    block.name = args.data_name
+    block.segments[0].name = 'Segment 1'
+    block.segments[0].description = 'Loaded with neo.TiffIO (neo version {}). '\
+                                    .format(neo.__version__)
+    if asig.description is None:
+        asig.description = ''
+    asig.description += 'Ca+ imaging signal. '
+    block.segments[0].analogsignals = [asig]
+
+    # Save data
+    write_neo(args.output, block)

+ 91 - 0
cobrawap_configs/stage02_processing/config_IDIBAPS.yaml

@@ -0,0 +1,91 @@
+# Config file for Stage 2 - Processing
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage02_processing'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS'
+
+# Name of the output file
+STAGE_OUTPUT: "processed_data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# The block order determines which processing steps (blocks) will be applied
+# and in which order. Execution order is from first to last entry.
+# The available blocks are:
+# 'background_subtraction', 'frequency_filter', 'normalization', 'detrending',
+# 'roi_selection', 'logMUA_estimation', 'phase_transform', 'zscore'
+BLOCK_ORDER: ['background_subtraction', 'detrending', 'normalization',
+              'logMUA_estimation', 'zscore']
+
+# To make sure that the processing blocks are always executed in the correct
+# order that results from previous runs don't confound the workflow, all blocks
+# are rerun upon each execution. To turn this off, e.g., because the block order
+# didn't change, set to False (do with care!).
+RERUN_MODE: False
+
+# BLOCK - background_subtraction
+#################################
+# No parameters needed
+
+# BLOCK - spatial_smoothig
+#################################
+MACRO_PIXEL_DIM: 2
+
+# BLOCK - normalization
+#######################
+# Normalize the data (divide channels-wise) by either:
+# 'mean', 'median', 'max'
+NORMALIZE_BY: 'max'
+
+# BLOCK - frequency_filter
+##########################
+# parameters to be passed to the butterworth frequency filter
+# function by elephant
+HIGHPASS_FREQUENCY: 200  # in Hz
+LOWPASS_FREQUENCY: 1500  # in Hz
+FILTER_ORDER: 2
+# filter function used in scipy backend.
+# options: ‘filtfilt’, 'lfilter’, ‘sosfiltfilt’
+FILTER_FUNCTION: 'sosfiltfilt'
+# Plotting parameters for the power spectrum
+PSD_FREQUENCY_RESOLUTION: 5  # in Hz
+PSD_OVERLAP: 0.5
+
+# BLOCK - detrending
+####################
+# Detrending: 0 - mean detrending;
+#             1 - mean and slope detrending (linear): this should be the default.
+DETRENDING_ORDER: 1
+
+# BLOCK - img_roi_selection
+###########################
+# Threshold below which the pixels are discarded (set to nan).
+# Given in percent of the range between minimum and maximum intensity.
+INTENSITY_THRESHOLD: 0.5
+
+# BLOCK - logMUA_estimation
+########################
+MUA_HIGHPASS_FREQUENCY: 200  # in Hz
+MUA_LOWPASS_FREQUENCY: 1500  # in Hz
+# Rate of the logMUA signal. Must be <= the original sampling rate
+# in Hz (default: 'None', takes highpass_freq)
+logMUA_RATE: 100 #25
+# Length of time slice (in s) to estimate the local power spectrum
+# default 'None', takes minimum number of samples determined
+# by the lower bound of the frequency band
+FFT_SLICE: 0.3
+# PSD_OVERLAP: determined by setting in block frequency_filter

+ 91 - 0
cobrawap_configs/stage02_processing/config_IDIBAPS|25Hz.yaml

@@ -0,0 +1,91 @@
+# Config file for Stage 2 - Processing
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage02_processing'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS'
+
+# Name of the output file
+STAGE_OUTPUT: "processed_data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,2,3]  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# The block order determines which processing steps (blocks) will be applied
+# and in which order. Execution order is from first to last entry.
+# The available blocks are:
+# 'background_subtraction', 'frequency_filter', 'normalization', 'detrending',
+# 'roi_selection', 'logMUA_estimation', 'phase_transform', 'zscore'
+BLOCK_ORDER: ['background_subtraction', 'detrending', 'normalization',
+              'logMUA_estimation', 'zscore']
+
+# To make sure that the processing blocks are always executed in the correct
+# order that results from previous runs don't confound the workflow, all blocks
+# are rerun upon each execution. To turn this off, e.g., because the block order
+# didn't change, set to False (do with care!).
+RERUN_MODE: False
+
+# BLOCK - background_subtraction
+#################################
+# No parameters needed
+
+# BLOCK - spatial_smoothig
+#################################
+MACRO_PIXEL_DIM: 2
+
+# BLOCK - normalization
+#######################
+# Normalize the data (divide channels-wise) by either:
+# 'mean', 'median', 'max'
+NORMALIZE_BY: 'max'
+
+# BLOCK - frequency_filter
+##########################
+# parameters to be passed to the butterworth frequency filter
+# function by elephant
+HIGHPASS_FREQUENCY: 200  # in Hz
+LOWPASS_FREQUENCY: 1500  # in Hz
+FILTER_ORDER: 2
+# filter function used in scipy backend.
+# options: ‘filtfilt’, 'lfilter’, ‘sosfiltfilt’
+FILTER_FUNCTION: 'sosfiltfilt'
+# Plotting parameters for the power spectrum
+PSD_FREQUENCY_RESOLUTION: 5  # in Hz
+PSD_OVERLAP: 0.5
+
+# BLOCK - detrending
+####################
+# Detrending: 0 - mean detrending;
+#             1 - mean and slope detrending (linear): this should be the default.
+DETRENDING_ORDER: 1
+
+# BLOCK - img_roi_selection
+###########################
+# Threshold below which the pixels are discarded (set to nan).
+# Given in percent of the range between minimum and maximum intensity.
+INTENSITY_THRESHOLD: 0.5
+
+# BLOCK - logMUA_estimation
+########################
+MUA_HIGHPASS_FREQUENCY: 200  # in Hz
+MUA_LOWPASS_FREQUENCY: 1500  # in Hz
+# Rate of the logMUA signal. Must be <= the original sampling rate
+# in Hz (default: 'None', takes highpass_freq)
+logMUA_RATE: 25
+# Length of time slice (in s) to estimate the local power spectrum
+# default 'None', takes minimum number of samples determined
+# by the lower bound of the frequency band
+FFT_SLICE: 0.3
+# PSD_OVERLAP: determined by setting in block frequency_filter

+ 97 - 0
cobrawap_configs/stage02_processing/config_LENS.yaml

@@ -0,0 +1,97 @@
+# Config file for Stage 2 - Processing
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage02_processing'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS'
+
+# Name of the output file
+STAGE_OUTPUT: "processed_data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [2020, 3030, 4040]  # int or None. default 'None' -> randomly selected
+
+PLOT_FORMAT: 'png'
+
+# The block order determines which processing steps (blocks) will be applied
+# and in which order. Execution order is from first to last entry.
+# The available blocks are:
+# 'background_subtraction', 'frequency_filter', 'normalization', 'detrending',
+# 'roi_selection', 'logMUA_estimation', 'phase_transform', 'zscore', 'spatial_downsampling'
+BLOCK_ORDER: ['roi_selection', 'background_subtraction', 'detrending',
+              'frequency_filter', 'zscore']
+
+# To make sure that the processing blocks are always executed in the correct
+# order that results from previous runs don't confound the workflow, all blocks
+# are rerun upon each execution. To turn this off, e.g., because the block order
+# didn't change, set to False (do with care!).
+RERUN_MODE: False
+
+# BLOCK - background_subtraction
+#################################
+# No parameters needed
+
+# BLOCK - spatial_smoothig
+#################################
+MACRO_PIXEL_DIM: 1
+
+# BLOCK - normalization
+#######################
+# Normalize the data (devide channels-wise) by either:
+# 'mean', 'median', 'max'
+NORMALIZE_BY: 'max'
+
+# BLOCK - frequency_filter
+##########################
+# parameters to be passed to the butterworth frequency filter
+# function by elephant
+HIGHPASS_FREQUENCY: 0.1  # in Hz
+LOWPASS_FREQUENCY: 5  # in Hz
+FILTER_ORDER: 2
+# filter function used in scipy backend.
+# options: ‘filtfilt’, 'lfilter’, ‘sosfiltfilt’
+FILTER_FUNCTION: 'sosfiltfilt'
+# Plotting parameters for the power spectrum
+PSD_FREQUENCY_RESOLUTION: 5  # in Hz
+PSD_OVERLAP: 0.5
+
+# BLOCK - detrending
+####################
+# Detrending: 0 - mean detrending;
+#             1 - mean and slope detrending (linear): this should be the default.
+DETRENDING_ORDER: 1
+
+# BLOCK - subsampling
+#####################
+TARGET_RATE: 200  # in Hz
+
+# BLOCK - img_roi_selection
+###########################
+# Threshold below which the pixels are discarded (set to nan).
+# Given in percent of the range between minimum and maximum intensity.
+INTENSITY_THRESHOLD: 0.5
+CROP_TO_SELECTION: True
+
+# BLOCK - logMUA_estimation
+########################
+MUA_HIGHPASS_FREQUENCY: 200  # in Hz
+MUA_LOWPASS_FREQUENCY: 1500  # in Hz
+# Rate of the logMUA signal. Must be <= the original sampling rate
+# in Hz (default: 'None', takes highpass_freq)
+logMUA_RATE: 100
+# Length of time slice (in s) to estimate the local power spectrum
+# default 'None', takes minimum number of samples determined
+# by the lower bound of the frequency band
+FFT_SLICE: 0.1
+# PSD_OVERLAP: determined by setting in block frequency_filter

+ 97 - 0
cobrawap_configs/stage02_processing/config_LENS|macrodim11.yaml

@@ -0,0 +1,97 @@
+# Config file for Stage 2 - Processing
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage02_processing'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim11'
+
+# Name of the output file
+STAGE_OUTPUT: "processed_data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [7, 11, 31]  # int or None. default 'None' -> randomly selected
+
+PLOT_FORMAT: 'png'
+
+# The block order determines which processing steps (blocks) will be applied
+# and in which order. Execution order is from first to last entry.
+# The available blocks are:
+# 'background_subtraction', 'frequency_filter', 'normalization', 'detrending',
+# 'roi_selection', 'logMUA_estimation', 'phase_transform', 'zscore', 'spatial_downsampling'
+BLOCK_ORDER: ['spatial_downsampling', 'roi_selection', 'background_subtraction', 'detrending',
+              'normalization', 'frequency_filter', 'zscore']
+
+# To make sure that the processing blocks are always executed in the correct
+# order that results from previous runs don't confound the workflow, all blocks
+# are rerun upon each execution. To turn this off, e.g., because the block order
+# didn't change, set to False (do with care!).
+RERUN_MODE: False
+
+# BLOCK - background_subtraction
+#################################
+# No parameters needed
+
+# BLOCK - spatial_downsampling
+#################################
+MACRO_PIXEL_DIM: 11
+
+# BLOCK - normalization
+#######################
+# Normalize the data (devide channels-wise) by either:
+# 'mean', 'median', 'max'
+NORMALIZE_BY: 'max'
+
+# BLOCK - frequency_filter
+##########################
+# parameters to be passed to the butterworth frequency filter
+# function by elephant
+HIGHPASS_FREQUENCY: 0.1  # in Hz
+LOWPASS_FREQUENCY: 5  # in Hz
+FILTER_ORDER: 2
+# filter function used in scipy backend.
+# options: ‘filtfilt’, 'lfilter’, ‘sosfiltfilt’
+FILTER_FUNCTION: 'sosfiltfilt'
+# Plotting parameters for the power spectrum
+PSD_FREQUENCY_RESOLUTION: 5  # in Hz
+PSD_OVERLAP: 0.5
+
+# BLOCK - detrending
+####################
+# Detrending: 0 - mean detrending;
+#             1 - mean and slope detrending (linear): this should be the default.
+DETRENDING_ORDER: 1
+
+# BLOCK - subsampling
+#####################
+TARGET_RATE: 200  # in Hz
+
+# BLOCK - img_roi_selection
+###########################
+# Threshold below which the pixels are discarded (set to nan).
+# Given in percent of the range between minimum and maximum intensity.
+INTENSITY_THRESHOLD: 0.5
+CROP_TO_SELECTION: True
+
+# BLOCK - logMUA_estimation
+########################
+MUA_HIGHPASS_FREQUENCY: 200  # in Hz
+MUA_LOWPASS_FREQUENCY: 1500  # in Hz
+# Rate of the logMUA signal. Must be <= the original sampling rate
+# in Hz (default: 'None', takes highpass_freq)
+logMUA_RATE: 100
+# Length of time slice (in s) to estimate the local power spectrum
+# default 'None', takes minimum number of samples determined
+# by the lower bound of the frequency band
+FFT_SLICE: 0.1
+# PSD_OVERLAP: determined by setting in block frequency_filter

+ 97 - 0
cobrawap_configs/stage02_processing/config_LENS|macrodim3.yaml

@@ -0,0 +1,97 @@
+# Config file for Stage 2 - Processing
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage02_processing'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim3'
+
+# Name of the output file
+STAGE_OUTPUT: "processed_data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [440, 550, 620]  # int or None. default 'None' -> randomly selected
+
+PLOT_FORMAT: 'png'
+
+# The block order determines which processing steps (blocks) will be applied
+# and in which order. Execution order is from first to last entry.
+# The available blocks are:
+# 'background_subtraction', 'frequency_filter', 'normalization', 'detrending',
+# 'roi_selection', 'logMUA_estimation', 'phase_transform', 'zscore', 'spatial_downsampling'
+BLOCK_ORDER: ['spatial_downsampling', 'roi_selection', 'background_subtraction', 'detrending',
+              'normalization', 'frequency_filter', 'zscore']
+
+# To make sure that the processing blocks are always executed in the correct
+# order that results from previous runs don't confound the workflow, all blocks
+# are rerun upon each execution. To turn this off, e.g., because the block order
+# didn't change, set to False (do with care!).
+RERUN_MODE: False
+
+# BLOCK - background_subtraction
+#################################
+# No parameters needed
+
+# BLOCK - spatial_downsampling
+#################################
+MACRO_PIXEL_DIM: 3
+
+# BLOCK - normalization
+#######################
+# Normalize the data (devide channels-wise) by either:
+# 'mean', 'median', 'max'
+NORMALIZE_BY: 'max'
+
+# BLOCK - frequency_filter
+##########################
+# parameters to be passed to the butterworth frequency filter
+# function by elephant
+HIGHPASS_FREQUENCY: 0.1  # in Hz
+LOWPASS_FREQUENCY: 5  # in Hz
+FILTER_ORDER: 2
+# filter function used in scipy backend.
+# options: ‘filtfilt’, 'lfilter’, ‘sosfiltfilt’
+FILTER_FUNCTION: 'sosfiltfilt'
+# Plotting parameters for the power spectrum
+PSD_FREQUENCY_RESOLUTION: 5  # in Hz
+PSD_OVERLAP: 0.5
+
+# BLOCK - detrending
+####################
+# Detrending: 0 - mean detrending;
+#             1 - mean and slope detrending (linear): this should be the default.
+DETRENDING_ORDER: 1
+
+# BLOCK - subsampling
+#####################
+TARGET_RATE: 200  # in Hz
+
+# BLOCK - img_roi_selection
+###########################
+# Threshold below which the pixels are discarded (set to nan).
+# Given in percent of the range between minimum and maximum intensity.
+INTENSITY_THRESHOLD: 0.5
+CROP_TO_SELECTION: True
+
+# BLOCK - logMUA_estimation
+########################
+MUA_HIGHPASS_FREQUENCY: 200  # in Hz
+MUA_LOWPASS_FREQUENCY: 1500  # in Hz
+# Rate of the logMUA signal. Must be <= the original sampling rate
+# in Hz (default: 'None', takes highpass_freq)
+logMUA_RATE: 100
+# Length of time slice (in s) to estimate the local power spectrum
+# default 'None', takes minimum number of samples determined
+# by the lower bound of the frequency band
+FFT_SLICE: 0.1
+# PSD_OVERLAP: determined by setting in block frequency_filter

+ 97 - 0
cobrawap_configs/stage02_processing/config_LENS|macrodim5.yaml

@@ -0,0 +1,97 @@
+# Config file for Stage 2 - Processing
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage02_processing'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim5'
+
+# Name of the output file
+STAGE_OUTPUT: "processed_data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [55, 110, 220]  # int or None. default 'None' -> randomly selected
+
+PLOT_FORMAT: 'png'
+
+# The block order determines which processing steps (blocks) will be applied
+# and in which order. Execution order is from first to last entry.
+# The available blocks are:
+# 'background_subtraction', 'frequency_filter', 'normalization', 'detrending',
+# 'roi_selection', 'logMUA_estimation', 'phase_transform', 'zscore', 'spatial_downsampling'
+BLOCK_ORDER: ['spatial_downsampling', 'roi_selection', 'background_subtraction', 'detrending',
+              'normalization', 'frequency_filter', 'zscore']
+              
+# To make sure that the processing blocks are always executed in the correct
+# order that results from previous runs don't confound the workflow, all blocks
+# are rerun upon each execution. To turn this off, e.g., because the block order
+# didn't change, set to False (do with care!).
+RERUN_MODE: False
+
+# BLOCK - background_subtraction
+#################################
+# No parameters needed
+
+# BLOCK - spatial_downsampling
+#################################
+MACRO_PIXEL_DIM: 5
+
+# BLOCK - normalization
+#######################
+# Normalize the data (devide channels-wise) by either:
+# 'mean', 'median', 'max'
+NORMALIZE_BY: 'max'
+
+# BLOCK - frequency_filter
+##########################
+# parameters to be passed to the butterworth frequency filter
+# function by elephant
+HIGHPASS_FREQUENCY: 0.1  # in Hz
+LOWPASS_FREQUENCY: 5  # in Hz
+FILTER_ORDER: 2
+# filter function used in scipy backend.
+# options: ‘filtfilt’, 'lfilter’, ‘sosfiltfilt’
+FILTER_FUNCTION: 'sosfiltfilt'
+# Plotting parameters for the power spectrum
+PSD_FREQUENCY_RESOLUTION: 5  # in Hz
+PSD_OVERLAP: 0.5
+
+# BLOCK - detrending
+####################
+# Detrending: 0 - mean detrending;
+#             1 - mean and slope detrending (linear): this should be the default.
+DETRENDING_ORDER: 1
+
+# BLOCK - subsampling
+#####################
+TARGET_RATE: 200  # in Hz
+
+# BLOCK - img_roi_selection
+###########################
+# Threshold below which the pixels are discarded (set to nan).
+# Given in percent of the range between minimum and maximum intensity.
+INTENSITY_THRESHOLD: 0.5
+CROP_TO_SELECTION: True
+
+# BLOCK - logMUA_estimation
+########################
+MUA_HIGHPASS_FREQUENCY: 200  # in Hz
+MUA_LOWPASS_FREQUENCY: 1500  # in Hz
+# Rate of the logMUA signal. Must be <= the original sampling rate
+# in Hz (default: 'None', takes highpass_freq)
+logMUA_RATE: 100
+# Length of time slice (in s) to estimate the local power spectrum
+# default 'None', takes minimum number of samples determined
+# by the lower bound of the frequency band
+FFT_SLICE: 0.1
+# PSD_OVERLAP: determined by setting in block frequency_filter

+ 97 - 0
cobrawap_configs/stage02_processing/config_LENS|macrodim7.yaml

@@ -0,0 +1,97 @@
+# Config file for Stage 2 - Processing
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage02_processing'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim7'
+
+# Name of the output file
+STAGE_OUTPUT: "processed_data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [33, 53, 99]  # int or None. default 'None' -> randomly selected
+
+PLOT_FORMAT: 'png'
+
+# The block order determines which processing steps (blocks) will be applied
+# and in which order. Execution order is from first to last entry.
+# The available blocks are:
+# 'background_subtraction', 'frequency_filter', 'normalization', 'detrending',
+# 'roi_selection', 'logMUA_estimation', 'phase_transform', 'zscore', 'spatial_downsampling'
+BLOCK_ORDER: ['spatial_downsampling', 'roi_selection', 'background_subtraction', 'detrending',
+              'normalization', 'frequency_filter', 'zscore']
+
+# To make sure that the processing blocks are always executed in the correct
+# order that results from previous runs don't confound the workflow, all blocks
+# are rerun upon each execution. To turn this off, e.g., because the block order
+# didn't change, set to False (do with care!).
+RERUN_MODE: False
+
+# BLOCK - background_subtraction
+#################################
+# No parameters needed
+
+# BLOCK - spatial_downsampling
+#################################
+MACRO_PIXEL_DIM: 7
+
+# BLOCK - normalization
+#######################
+# Normalize the data (devide channels-wise) by either:
+# 'mean', 'median', 'max'
+NORMALIZE_BY: 'max'
+
+# BLOCK - frequency_filter
+##########################
+# parameters to be passed to the butterworth frequency filter
+# function by elephant
+HIGHPASS_FREQUENCY: 0.1  # in Hz
+LOWPASS_FREQUENCY: 5  # in Hz
+FILTER_ORDER: 2
+# filter function used in scipy backend.
+# options: ‘filtfilt’, 'lfilter’, ‘sosfiltfilt’
+FILTER_FUNCTION: 'sosfiltfilt'
+# Plotting parameters for the power spectrum
+PSD_FREQUENCY_RESOLUTION: 5  # in Hz
+PSD_OVERLAP: 0.5
+
+# BLOCK - detrending
+####################
+# Detrending: 0 - mean detrending;
+#             1 - mean and slope detrending (linear): this should be the default.
+DETRENDING_ORDER: 1
+
+# BLOCK - subsampling
+#####################
+TARGET_RATE: 200  # in Hz
+
+# BLOCK - img_roi_selection
+###########################
+# Threshold below which the pixels are discarded (set to nan).
+# Given in percent of the range between minimum and maximum intensity.
+INTENSITY_THRESHOLD: 0.5
+CROP_TO_SELECTION: True
+
+# BLOCK - logMUA_estimation
+########################
+MUA_HIGHPASS_FREQUENCY: 200  # in Hz
+MUA_LOWPASS_FREQUENCY: 1500  # in Hz
+# Rate of the logMUA signal. Must be <= the original sampling rate
+# in Hz (default: 'None', takes highpass_freq)
+logMUA_RATE: 100
+# Length of time slice (in s) to estimate the local power spectrum
+# default 'None', takes minimum number of samples determined
+# by the lower bound of the frequency band
+FFT_SLICE: 0.1
+# PSD_OVERLAP: determined by setting in block frequency_filter

+ 97 - 0
cobrawap_configs/stage02_processing/config_LENS|macrodim9.yaml

@@ -0,0 +1,97 @@
+# Config file for Stage 2 - Processing
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage02_processing'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim9'
+
+# Name of the output file
+STAGE_OUTPUT: "processed_data.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [11, 33, 55]  # int or None. default 'None' -> randomly selected
+
+PLOT_FORMAT: 'png'
+
+# The block order determines which processing steps (blocks) will be applied
+# and in which order. Execution order is from first to last entry.
+# The available blocks are:
+# 'background_subtraction', 'frequency_filter', 'normalization', 'detrending',
+# 'roi_selection', 'logMUA_estimation', 'phase_transform', 'zscore', 'spatial_downsampling'
+BLOCK_ORDER: ['spatial_downsampling', 'roi_selection', 'background_subtraction', 'detrending',
+              'normalization', 'frequency_filter', 'zscore']
+
+# To make sure that the processing blocks are always executed in the correct
+# order that results from previous runs don't confound the workflow, all blocks
+# are rerun upon each execution. To turn this off, e.g., because the block order
+# didn't change, set to False (do with care!).
+RERUN_MODE: False
+
+# BLOCK - background_subtraction
+#################################
+# No parameters needed
+
+# BLOCK - spatial_downsampling
+#################################
+MACRO_PIXEL_DIM: 9
+
+# BLOCK - normalization
+#######################
+# Normalize the data (devide channels-wise) by either:
+# 'mean', 'median', 'max'
+NORMALIZE_BY: 'max'
+
+# BLOCK - frequency_filter
+##########################
+# parameters to be passed to the butterworth frequency filter
+# function by elephant
+HIGHPASS_FREQUENCY: 0.1  # in Hz
+LOWPASS_FREQUENCY: 5  # in Hz
+FILTER_ORDER: 2
+# filter function used in scipy backend.
+# options: ‘filtfilt’, 'lfilter’, ‘sosfiltfilt’
+FILTER_FUNCTION: 'sosfiltfilt'
+# Plotting parameters for the power spectrum
+PSD_FREQUENCY_RESOLUTION: 5  # in Hz
+PSD_OVERLAP: 0.5
+
+# BLOCK - detrending
+####################
+# Detrending: 0 - mean detrending;
+#             1 - mean and slope detrending (linear): this should be the default.
+DETRENDING_ORDER: 1
+
+# BLOCK - subsampling
+#####################
+TARGET_RATE: 200  # in Hz
+
+# BLOCK - img_roi_selection
+###########################
+# Threshold below which the pixels are discarded (set to nan).
+# Given in percent of the range between minimum and maximum intensity.
+INTENSITY_THRESHOLD: 0.5
+CROP_TO_SELECTION: True
+
+# BLOCK - logMUA_estimation
+########################
+MUA_HIGHPASS_FREQUENCY: 200  # in Hz
+MUA_LOWPASS_FREQUENCY: 1500  # in Hz
+# Rate of the logMUA signal. Must be <= the original sampling rate
+# in Hz (default: 'None', takes highpass_freq)
+logMUA_RATE: 100
+# Length of time slice (in s) to estimate the local power spectrum
+# default 'None', takes minimum number of samples determined
+# by the lower bound of the frequency band
+FFT_SLICE: 0.1
+# PSD_OVERLAP: determined by setting in block frequency_filter

+ 87 - 0
cobrawap_configs/stage03_trigger_detection/config_IDIBAPS.yaml

@@ -0,0 +1,87 @@
+# Config file for Stage 3 - Trigger Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage03_trigger_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS'
+
+# Name of the stage output file
+STAGE_OUTPUT: 'trigger_times.nix'
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,3,10,15]  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTION BLOCK
+#################
+# Available Blocks: 'threshold', 'hilbert_phase', 'minima'
+DETECTION_BLOCK: 'threshold'
+
+# TRIGGER FILTER
+#################
+# Available Blocks: 'remove_short_states'
+TRIGGER_FILTER: ['remove_short_states']
+
+# BLOCK - Threshold
+###################
+# Thresholding method: 'fixed', 'fitted', 'moment'
+THRESHOLD_METHOD: 'fitted'
+
+# Fitting Parameters
+# available fit functions: 'HalfGaussian', 'DoubleGaussian'
+# FirstGaussian: detects main peak (DOWN), fits Gaussian to left half, set threshold to mean + sigma x SIGMA_FACTOR
+# DoubleGaussian: Fits two Gaussians, threshold = central minima, or if no second peak mean1 + sigma1 x SIGMA_FACTOR
+FIT_FUNCTION: 'DoubleGaussian'
+BIN_NUM: 100
+# Factor to multiply with the standard deviation
+# to determine threshold
+SIGMA_FACTOR: 2
+
+# Fixed Parameters
+FIXED_THRESHOLD: 0
+
+# Moment Parameters
+MOMENT_ORDER: 2
+MOMENT_FACTOR: 3
+
+# BLOCK - Hilbert_phase
+#######################
+# Phase at which to define the upward transition [-pi, 0]
+TRANSITION_PHASE: -1.570796
+
+# BLOCK - Minima
+################
+# Number of points to be used in the parabolic interpolation
+# 0 skips the interpolation (recommended)
+NUM_INTERPOLATION_POINTS: 0
+# minimum distance between two peaks (s)
+MIN_PEAK_DISTANCE: 0.28
+# amplitude fraction to set the threshold detecting local maxima
+MAXIMA_THRESHOLD_FRACTION: .5
+# time window to use to set the threshold detecting local maxima (s)
+MAXIMA_THRESHOLD_WINDOW: 3
+# minimum time the signal must be increasing after a minima candidate (s)
+MINIMA_PERSISTENCE: 0.16
+
+# BLOCK - Remove Short States
+#############################
+# minimum duration of UP and DOWN states (in s)
+# If there are no DOWN transitions, UP transitions are removed that are closer
+# than the sum of UP and DOWN durations.
+MIN_UP_DURATION: 0.02
+MIN_DOWN_DURATION: 0.2
+# If true, short down states are removed first, merging the neighboring up states.
+# Only then the remaining short up states are removed.
+# Applies only when down transitions are detected.
+REMOVE_DOWN_FIRST: True

+ 87 - 0
cobrawap_configs/stage03_trigger_detection/config_LENS.yaml

@@ -0,0 +1,87 @@
+# Config file for Stage 3 - Trigger Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage03_trigger_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS'
+
+# Name of the stage output file
+STAGE_OUTPUT: 'trigger_times.nix'
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [7, 11, 31]   # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTION BLOCK
+#################
+# Available Blocks: 'threshold', 'hilbert_phase', 'minima'
+DETECTION_BLOCK: hilbert_phase
+
+# TRIGGER FILTER
+#################
+# Available Blocks: 'remove_short_states'
+TRIGGER_FILTER: []
+
+# BLOCK - Threshold
+###################
+# Thresholding method: 'fixed', 'fitted', 'moment'
+THRESHOLD_METHOD: 'fitted'
+
+# Fitting Parameters
+# available fit functions: 'HalfGaussian', 'DoubleGaussian'
+# FirstGaussian: detects main peak (DOWN), fits Gaussian to left half, set threshold to mean + sigma*SIGMA_FACTOR
+# DoubleGaussian: Fits two Gaussians, threshold = central minima, or if no second peak mean1 + sigma1*SIGMA_FACTOR
+FIT_FUNCTION: 'DoubleGaussian'
+BIN_NUM: 100
+# Factor to multiply with the standard deviation
+# to determine threshold
+SIGMA_FACTOR: 2
+
+# Fixed Parameters
+FIXED_THRESHOLD: 0
+
+# Moment Parameters
+MOMENT_ORDER: 2
+MOMENT_FACTOR: 3
+
+# BLOCK - Hilbert_phase
+#######################
+# Phase at which to define the upward transition [-pi, 0]
+TRANSITION_PHASE: -1.570796
+
+# BLOCK - Minima
+################
+# Number of points to be used in the parabolic interpolation
+# 0 skips the interpolation (recommended)
+NUM_INTERPOLATION_POINTS: 0
+# minimum distance between two peaks (s)
+MIN_PEAK_DISTANCE: 0.28
+# amplitude fraction to set the threshold detecting local maxima
+MAXIMA_THRESHOLD_FRACTION: .5
+# time window to use to set the threshold detecting local maxima (s)
+MAXIMA_THRESHOLD_WINDOW: 3
+# minimum time the signal must be increasing after a minima candidate (s)
+MINIMA_PERSISTENCE: 0.16
+
+# BLOCK - Remove Short States
+#############################
+# minimum duration of UP and DOWN states (in s)
+# If there are no DOWN transitions, UP transitions are removed closer than
+# the sum of UP and DOWN durations.
+MIN_UP_DURATION: 0.005
+MIN_DOWN_DURATION: 0.005
+# If true, short down states are removed first, merging the neighbouring up states.
+# Only then the remaining short up states are removed.
+# Applies only when down transitions are detected.
+REMOVE_DOWN_FIRST: True

+ 87 - 0
cobrawap_configs/stage03_trigger_detection/config_LENS|minimatrigger.yaml

@@ -0,0 +1,87 @@
+# Config file for Stage 3 - Trigger Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage03_trigger_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS'
+
+# Name of the stage output file
+STAGE_OUTPUT: 'trigger_times.nix'
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 11  # in s
+PLOT_CHANNELS: [2020, 3030, 4040]   # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTION BLOCK
+#################
+# Available Blocks: 'threshold', 'hilbert_phase', 'minima'
+DETECTION_BLOCK: minima
+
+# TRIGGER FILTER
+#################
+# Available Blocks: 'remove_short_states'
+TRIGGER_FILTER: []
+
+# BLOCK - Threshold
+###################
+# Thresholding method: 'fixed', 'fitted', 'moment'
+THRESHOLD_METHOD: fitted
+
+# Fitting Parameters
+# available fit functions: 'HalfGaussian', 'DoubleGaussian'
+# FirstGaussian: detects main peak (DOWN), fits Gaussian to left half, set threshold to mean + sigma*SIGMA_FACTOR
+# DoubleGaussian: Fits two Gaussians, threshold = central minima, or if no second peak mean1 + sigma1*SIGMA_FACTOR
+FIT_FUNCTION: 'DoubleGaussian'
+BIN_NUM: 100
+# Factor to multiply with the standard deviation
+# to determine threshold
+SIGMA_FACTOR: 2
+
+# Fixed Parameters
+FIXED_THRESHOLD: 0
+
+# Moment Parameters
+MOMENT_ORDER: 2
+MOMENT_FACTOR: 3
+
+# BLOCK - Hilbert_phase
+#######################
+# Phase at which to define the upward transition [-pi, 0]
+TRANSITION_PHASE: -1.570796
+
+# BLOCK - Minima
+################
+# Number of points to be used in the parabolic interpolation
+# 0 skips the interpolation (recommended)
+NUM_INTERPOLATION_POINTS: 0
+# minimum distance between two peaks (s)
+MIN_PEAK_DISTANCE: 0.28
+# amplitude fraction to set the threshold detecting local maxima
+MAXIMA_THRESHOLD_FRACTION: .5
+# time window to use to set the threshold detecting local maxima (s)
+MAXIMA_THRESHOLD_WINDOW: 3
+# minimum time the signal must be increasing after a minima candidate (s)
+MINIMA_PERSISTENCE: 0.16
+
+# BLOCK - Remove Short States
+#############################
+# minimum duration of UP and DOWN states (in s)
+# If there are no DOWN transitions, UP transitions are removed closer than
+# the sum of UP and DOWN durations.
+MIN_UP_DURATION: 0.005
+MIN_DOWN_DURATION: 0.005
+# If true, short down states are removed first, merging the neighbouring up states.
+# Only then the remaining short up states are removed.
+# Applies only when down transitions are detected.
+REMOVE_DOWN_FIRST: True

+ 96 - 0
cobrawap_configs/stage04_wave_detection/config_IDIBAPS.yaml

@@ -0,0 +1,96 @@
+# Config file for Stage 4 - Wave Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage04_wave_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS'
+
+# Name of the output file
+STAGE_OUTPUT: "waves.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [1,3,10,15]   # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTIION BLOCK
+##################
+# Available Blocks: 'trigger_clustering'
+DETECTION_BLOCK: 'trigger_clustering'
+
+# ADDITIONAL PROPERTIES
+#######################
+# Available Blocks: 'optical_flow', 'critical_points', 'wave_mode_clustering'
+ADDITIONAL_PROPERTIES: ['wave_mode_clustering', 'optical_flow']
+
+# Wavefront Clustering
+######################
+# Using sklearn.cluster.DBSCAN
+METRIC: 'euclidean'
+# eps, maximum distance between points to be neighbors
+NEIGHBOUR_DISTANCE: 2.5
+MIN_SAMPLES_PER_WAVE: 8
+# Factor from time dimension to space dimension in sampling_rate*spatial_scale
+TIME_SPACE_RATIO: 0.25 # 1 # i.e. distance between 2 frames corresponds to X pixel
+
+# Optical Flow (Horn-Schunck algorithm)
+##############
+USE_PHASES: True
+# weight of the smoothness constraint over the brightness constancy constraint
+ALPHA: 1.5
+# maximum number of iterations optimizing the vector field
+MAX_NITER: 100
+# the optimization end either after MAX_NITER iteration or when the
+# maximal change between iterations is smaller than the CONVERGENCE_LIMIT
+CONVERGENCE_LIMIT: 0.0001
+# standard deviations for the Gaussian filter applied on the vector field
+# [t_std, x_std, y_std]. (0,0,0) for no filter
+GAUSSIAN_SIGMA: [2,0.5,0.5] # [2,0.5,0.5]
+# Kernel filter to use to calculate the spatial derivatives.
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+DERIVATIVE_KERNEL: 'scharr_3x3'
+
+# Critical Point Clustering
+###########################
+
+# Wave Mode Clustering
+######################
+# fraction of channels that need to be involved in a wave to be included
+MIN_TRIGGER_FRACTION: 0.5
+# number of similar waves to use to extrapolate missing trigger from
+NUM_WAVE_NEIGHBOURS: 5
+# percentage of wave similarity to keep for the clustering
+WAVE_OUTLIER_QUANTILE: 1 #0.95
+# number of pca dims to project the trigger patterns onto before clustering
+PCA_DIMS: 10
+# number of clusters for the kmeans algorithm
+NUM_KMEANS_CLUSTER: 4
+# grid spacing for the interpolation [0,1]
+INTERPOLATION_STEP_SIZE: 0.181818
+# smoothing factor (0: no smoothing)
+INTERPOLATION_SMOOTHING: 2
+
+# VIDEO SETTINGS
+################
+QUALITY: 5 # 0(good) - 31(bad)
+SCALE_X: 720
+SCALE_Y: 720
+FPS: 20
+BITRATE: 20M
+# displayed sampling rate, the data will be stretched or compressed to.
+# If None, the inherent sampling rate is used.
+FRAME_RATE: 100
+# 'gray', 'viridis' (sequential), 'coolwarm' (diverging), 'twilight' (cyclic)
+COLORMAP: 'viridis'
+PLOT_EVENT: 'wavefronts' # name of neo event to plot, default is None
+MARKER_COLOR: 'k'

+ 96 - 0
cobrawap_configs/stage04_wave_detection/config_LENS.yaml

@@ -0,0 +1,96 @@
+# Config file for Stage 4 - Wave Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage04_wave_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS'
+
+# Name of the output file
+STAGE_OUTPUT: "waves.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: [2008, 1559, 4653]   # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTIION BLOCK
+##################
+# Available Blocks: 'trigger_clustering'
+DETECTION_BLOCK: 'trigger_clustering'
+
+# ADDITIONAL PROPERTIES
+#######################
+# Available Blocks: 'optical_flow', 'critical_points', 'wave_mode_clustering'
+ADDITIONAL_PROPERTIES:  ['wave_mode_clustering', 'optical_flow']
+
+# Wavefront Clustering
+######################
+# Using sklearn.cluster.DBSCAN
+METRIC: 'euclidean'
+# eps, maximum distance between points to be neigbours
+NEIGHBOUR_DISTANCE: 15
+MIN_SAMPLES_PER_WAVE: 88
+# Factor from time dimension to space dimension in sampling_rate*spatial_scale
+TIME_SPACE_RATIO: 11  # i.e. distance between 2 frames corresponds to X pixel
+
+# Optical Flow (Horn-Schunck algorithm)
+##############
+USE_PHASES: True
+# weight of the smoothness constraint over the brightness constancy constraint
+ALPHA: 1.5
+# maximum number of iterations optimizing the vector field
+MAX_NITER: 100
+# the optimization end either after MAX_NITER iteration or when the
+# maximal change between iterations is smaller than the CONVERGENCE_LIMIT
+CONVERGENCE_LIMIT: 0.0001
+# standard deviations for the Gaussian filter applied on the vector field
+# [t_std, x_std, y_std]. (0,0,0) for no filter
+GAUSSIAN_SIGMA: [0.5,5.5,5.5]
+# Kernel filter to use to calucualte the spatial derivatives.
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+DERIVATIVE_KERNEL: 'scharr_3x3'
+
+# Critical Point Clustering
+###########################
+
+# Wave Mode Clustering
+######################
+# fraction of channels that need to be involved in a wave to be included
+MIN_TRIGGER_FRACTION: 0.5
+# number of similar waves to use to extrapolate missing trigger from
+NUM_WAVE_NEIGHBOURS: 5
+# percentage of wave similarity to keep for the clustering
+WAVE_OUTLIER_QUANTILE: 1 #0.95
+# number of pca dims to project the trigger patterns onto before clustering
+PCA_DIMS: 10
+# number of clusters for the kmeans algorithm
+NUM_KMEANS_CLUSTER: 4
+# grid spacing for the interpolation [0,1]
+INTERPOLATION_STEP_SIZE: 2
+# smoothing factor (0: no smoothing)
+INTERPOLATION_SMOOTHING: 400
+
+# VIDEO SETTINGS
+################
+QUALITY: 5 # 0(good) - 31(bad)
+SCALE_X: 720
+SCALE_Y: 720
+FPS: 8
+BITRATE: 20M
+# displayed sampling rate, the data will be stretched or compressed to.
+# If None, the inherent sampling rate is used.
+FRAME_RATE: None
+# 'gray', 'viridis' (sequential), 'coolwarm' (diverging), 'twilight' (cyclic)
+COLORMAP: 'viridis'
+PLOT_EVENT: 'wavefronts' # name of neo event to plot, default is None
+MARKER_COLOR: 'k'

+ 96 - 0
cobrawap_configs/stage04_wave_detection/config_LENS|macrodim11.yaml

@@ -0,0 +1,96 @@
+# Config file for Stage 4 - Wave Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage04_wave_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim11'
+
+# Name of the output file
+STAGE_OUTPUT: "waves.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: ['None', 'None', 'None']  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTIION BLOCK
+##################
+# Available Blocks: 'trigger_clustering'
+DETECTION_BLOCK: 'trigger_clustering'
+
+# ADDITIONAL PROPERTIES
+#######################
+# Available Blocks: 'optical_flow', 'critical_points', 'wave_mode_clustering'
+ADDITIONAL_PROPERTIES: ['wave_mode_clustering', 'optical_flow']
+
+# Wavefront Clustering
+######################
+# Using sklearn.cluster.DBSCAN
+METRIC: 'euclidean'
+# eps, maximum distance between points to be neigbours
+NEIGHBOUR_DISTANCE: 2.5
+MIN_SAMPLES_PER_WAVE: 8
+# Factor from time dimension to space dimension in sampling_rate*spatial_scale
+TIME_SPACE_RATIO: 1  # i.e. distance between 2 frames corresponds to X pixel
+
+# Optical Flow (Horn-Schunck algorithm)
+##############
+USE_PHASES: True
+# weight of the smoothness constraint over the brightness constancy constraint
+ALPHA: 1.5
+# maximum number of iterations optimizing the vector field
+MAX_NITER: 100
+# the optimization end either after MAX_NITER iteration or when the
+# maximal change between iterations is smaller than the CONVERGENCE_LIMIT
+CONVERGENCE_LIMIT: 0.0001
+# standard deviations for the Gaussian filter applied on the vector field
+# [t_std, x_std, y_std]. (0,0,0) for no filter
+GAUSSIAN_SIGMA: [0.5,0.5,0.5]
+# Kernel filter to use to calucualte the spatial derivatives.
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+DERIVATIVE_KERNEL: 'scharr_3x3'
+
+# Critical Point Clustering
+###########################
+
+# Wave Mode Clustering
+######################
+# fraction of channels that need to be involved in a wave to be included
+MIN_TRIGGER_FRACTION: 0.5
+# number of similar waves to use to extrapolate missing trigger from
+NUM_WAVE_NEIGHBOURS: 5
+# percentage of similar waves to keep for the clustering
+WAVE_OUTLIER_QUANTILE: 1
+# number of pca dims to project the trigger patterns onto before clustering
+PCA_DIMS: 10
+# number of clusters for the kmeans algorithm
+NUM_KMEANS_CLUSTER: 6
+# grid spacing for the interpolation [0,1]
+INTERPOLATION_STEP_SIZE: 0.181818
+# smoothing factor (0: no smoothing)
+INTERPOLATION_SMOOTHING: 2
+
+# VIDEO SETTINGS
+################
+QUALITY: 5 # 0(good) - 31(bad)
+SCALE_X: 720
+SCALE_Y: 720
+FPS: 10
+BITRATE: 20M
+# displayed sampling rate, the data will be stretched or compressed to.
+# If None, the inherent sampling rate is used.
+FRAME_RATE: None
+# 'gray', 'viridis' (sequential), 'coolwarm' (diverging), 'twilight' (cyclic)
+COLORMAP: 'twilight'
+PLOT_EVENT: 'wavefronts' # name of neo event to plot, default is None
+MARKER_COLOR: 'r'

+ 96 - 0
cobrawap_configs/stage04_wave_detection/config_LENS|macrodim3.yaml

@@ -0,0 +1,96 @@
+# Config file for Stage 4 - Wave Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage04_wave_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim3'
+
+# Name of the output file
+STAGE_OUTPUT: "waves.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: ['None', 'None', 'None']  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTIION BLOCK
+##################
+# Available Blocks: 'trigger_clustering'
+DETECTION_BLOCK: 'trigger_clustering'
+
+# ADDITIONAL PROPERTIES
+#######################
+# Available Blocks: 'optical_flow', 'critical_points', 'wave_mode_clustering'
+ADDITIONAL_PROPERTIES: ['wave_mode_clustering', 'optical_flow']
+
+# Wavefront Clustering
+######################
+# Using sklearn.cluster.DBSCAN
+METRIC: 'euclidean'
+# eps, maximum distance between points to be neigbours
+NEIGHBOUR_DISTANCE: 5.83
+MIN_SAMPLES_PER_WAVE: 29
+# Factor from time dimension to space dimension in sampling_rate*spatial_scale
+TIME_SPACE_RATIO: 3.67  # i.e. distance between 2 frames corresponds to X pixel
+
+# Optical Flow (Horn-Schunck algorithm)
+##############
+USE_PHASES: True
+# weight of the smoothness constraint over the brightness constancy constraint
+ALPHA: 1.5
+# maximum number of iterations optimizing the vector field
+MAX_NITER: 100
+# the optimization end either after MAX_NITER iteration or when the
+# maximal change between iterations is smaller than the CONVERGENCE_LIMIT
+CONVERGENCE_LIMIT: 0.0001
+# standard deviations for the Gaussian filter applied on the vector field
+# [t_std, x_std, y_std]. (0,0,0) for no filter
+GAUSSIAN_SIGMA: [0.5,1.83,1.83]
+# Kernel filter to use to calucualte the spatial derivatives.
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+DERIVATIVE_KERNEL: 'scharr_3x3'
+
+# Critical Point Clustering
+###########################
+
+# Wave Mode Clustering
+######################
+# fraction of channels that need to be involved in a wave to be included
+MIN_TRIGGER_FRACTION: 0.5
+# number of similar waves to use to extrapolate missing trigger from
+NUM_WAVE_NEIGHBOURS: 5
+# percentage of similar waves to keep for the clustering
+WAVE_OUTLIER_QUANTILE: 1
+# number of pca dims to project the trigger patterns onto before clustering
+PCA_DIMS: 10
+# number of clusters for the kmeans algorithm
+NUM_KMEANS_CLUSTER: 6
+# grid spacing for the interpolation [0,1]
+INTERPOLATION_STEP_SIZE: 0.6666
+# smoothing factor (0: no smoothing)
+INTERPOLATION_SMOOTHING: 109
+
+# VIDEO SETTINGS
+################
+QUALITY: 5 # 0(good) - 31(bad)
+SCALE_X: 720
+SCALE_Y: 720
+FPS: 10
+BITRATE: 20M
+# displayed sampling rate, the data will be stretched or compressed to.
+# If None, the inherent sampling rate is used.
+FRAME_RATE: None
+# 'gray', 'viridis' (sequential), 'coolwarm' (diverging), 'twilight' (cyclic)
+COLORMAP: 'twilight'
+PLOT_EVENT: 'wavefronts' # name of neo event to plot, default is None
+MARKER_COLOR: 'r'

+ 96 - 0
cobrawap_configs/stage04_wave_detection/config_LENS|macrodim5.yaml

@@ -0,0 +1,96 @@
+# Config file for Stage 4 - Wave Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage04_wave_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim5'
+
+# Name of the output file
+STAGE_OUTPUT: "waves.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: ['None', 'None', 'None']  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTIION BLOCK
+##################
+# Available Blocks: 'trigger_clustering'
+DETECTION_BLOCK: 'trigger_clustering'
+
+# ADDITIONAL PROPERTIES
+#######################
+# Available Blocks: 'optical_flow', 'critical_points', 'wave_mode_clustering'
+ADDITIONAL_PROPERTIES: ['wave_mode_clustering', 'optical_flow']
+
+# Wavefront Clustering
+######################
+# Using sklearn.cluster.DBSCAN
+METRIC: 'euclidean'
+# eps, maximum distance between points to be neigbours
+NEIGHBOUR_DISTANCE: 4
+MIN_SAMPLES_PER_WAVE: 17
+# Factor from time dimension to space dimension in sampling_rate*spatial_scale
+TIME_SPACE_RATIO: 2.20  # i.e. distance between 2 frames corresponds to X pixel
+
+# Optical Flow (Horn-Schunck algorithm)
+##############
+USE_PHASES: True
+# weight of the smoothness constraint over the brightness constancy constraint
+ALPHA: 1.5
+# maximum number of iterations optimizing the vector field
+MAX_NITER: 100
+# the optimization end either after MAX_NITER iteration or when the
+# maximal change between iterations is smaller than the CONVERGENCE_LIMIT
+CONVERGENCE_LIMIT: 0.0001
+# standard deviations for the Gaussian filter applied on the vector field
+# [t_std, x_std, y_std]. (0,0,0) for no filter
+GAUSSIAN_SIGMA: [0.5,1.1,1.1]
+# Kernel filter to use to calucualte the spatial derivatives.
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+DERIVATIVE_KERNEL: 'scharr_3x3'
+
+# Critical Point Clustering
+###########################
+
+# Wave Mode Clustering
+######################
+# fraction of channels that need to be involved in a wave to be included
+MIN_TRIGGER_FRACTION: 0.5
+# number of similar waves to use to extrapolate missing trigger from
+NUM_WAVE_NEIGHBOURS: 5
+# percentage of similar waves to keep for the clustering
+WAVE_OUTLIER_QUANTILE: 1
+# number of pca dims to project the trigger patterns onto before clustering
+PCA_DIMS: 10
+# number of clusters for the kmeans algorithm
+NUM_KMEANS_CLUSTER: 6
+# grid spacing for the interpolation [0,1]
+INTERPOLATION_STEP_SIZE: 0.4
+# smoothing factor (0: no smoothing)
+INTERPOLATION_SMOOTHING: 50
+
+# VIDEO SETTINGS
+################
+QUALITY: 5 # 0(good) - 31(bad)
+SCALE_X: 720
+SCALE_Y: 720
+FPS: 10
+BITRATE: 20M
+# displayed sampling rate, the data will be stretched or compressed to.
+# If None, the inherent sampling rate is used.
+FRAME_RATE: None
+# 'gray', 'viridis' (sequential), 'coolwarm' (diverging), 'twilight' (cyclic)
+COLORMAP: 'twilight'
+PLOT_EVENT: 'wavefronts' # name of neo event to plot, default is None
+MARKER_COLOR: 'r'

+ 96 - 0
cobrawap_configs/stage04_wave_detection/config_LENS|macrodim7.yaml

@@ -0,0 +1,96 @@
+# Config file for Stage 4 - Wave Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage04_wave_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim7'
+
+# Name of the output file
+STAGE_OUTPUT: "waves.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: ['None', 'None', 'None']  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTIION BLOCK
+##################
+# Available Blocks: 'trigger_clustering'
+DETECTION_BLOCK: 'trigger_clustering'
+
+# ADDITIONAL PROPERTIES
+#######################
+# Available Blocks: 'optical_flow', 'critical_points', 'wave_mode_clustering'
+ADDITIONAL_PROPERTIES: ['wave_mode_clustering', 'optical_flow']
+
+# Wavefront Clustering
+######################
+# Using sklearn.cluster.DBSCAN
+METRIC: 'euclidean'
+# eps, maximum distance between points to be neigbours
+NEIGHBOUR_DISTANCE: 3.21
+MIN_SAMPLES_PER_WAVE: 13
+# Factor from time dimension to space dimension in sampling_rate*spatial_scale
+TIME_SPACE_RATIO: 1.57  # i.e. distance between 2 frames corresponds to X pixel
+
+# Optical Flow (Horn-Schunck algorithm)
+##############
+USE_PHASES: True
+# weight of the smoothness constraint over the brightness constancy constraint
+ALPHA: 1.5
+# maximum number of iterations optimizing the vector field
+MAX_NITER: 100
+# the optimization end either after MAX_NITER iteration or when the
+# maximal change between iterations is smaller than the CONVERGENCE_LIMIT
+CONVERGENCE_LIMIT: 0.0001
+# standard deviations for the Gaussian filter applied on the vector field
+# [t_std, x_std, y_std]. (0,0,0) for no filter
+GAUSSIAN_SIGMA: [0.5,0.79,0.79]
+# Kernel filter to use to calucualte the spatial derivatives.
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+DERIVATIVE_KERNEL: 'scharr_3x3'
+
+# Critical Point Clustering
+###########################
+
+# Wave Mode Clustering
+######################
+# fraction of channels that need to be involved in a wave to be included
+MIN_TRIGGER_FRACTION: 0.5
+# number of similar waves to use to extrapolate missing trigger from
+NUM_WAVE_NEIGHBOURS: 5
+# percentage of similar waves to keep for the clustering
+WAVE_OUTLIER_QUANTILE: 1
+# number of pca dims to project the trigger patterns onto before clustering
+PCA_DIMS: 10
+# number of clusters for the kmeans algorithm
+NUM_KMEANS_CLUSTER: 6
+# grid spacing for the interpolation [0,1]
+INTERPOLATION_STEP_SIZE: 0.2857
+# smoothing factor (0: no smoothing)
+INTERPOLATION_SMOOTHING: 25
+
+# VIDEO SETTINGS
+################
+QUALITY: 5 # 0(good) - 31(bad)
+SCALE_X: 720
+SCALE_Y: 720
+FPS: 10
+BITRATE: 20M
+# displayed sampling rate, the data will be stretched or compressed to.
+# If None, the inherent sampling rate is used.
+FRAME_RATE: None
+# 'gray', 'viridis' (sequential), 'coolwarm' (diverging), 'twilight' (cyclic)
+COLORMAP: 'twilight'
+PLOT_EVENT: 'wavefronts' # name of neo event to plot, default is None
+MARKER_COLOR: 'r'

+ 96 - 0
cobrawap_configs/stage04_wave_detection/config_LENS|macrodim9.yaml

@@ -0,0 +1,96 @@
+# Config file for Stage 4 - Wave Detection
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage04_wave_detection'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS|macrodim9'
+
+# Name of the output file
+STAGE_OUTPUT: "waves.nix"
+
+# File format in which all intermediate neo objects are stored
+NEO_FORMAT: 'nix'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: ['None', 'None', 'None']  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# DETECTIION BLOCK
+##################
+# Available Blocks: 'trigger_clustering'
+DETECTION_BLOCK: 'trigger_clustering'
+
+# ADDITIONAL PROPERTIES
+#######################
+# Available Blocks: 'optical_flow', 'critical_points', 'wave_mode_clustering'
+ADDITIONAL_PROPERTIES: ['wave_mode_clustering', 'optical_flow']
+
+# Wavefront Clustering
+######################
+# Using sklearn.cluster.DBSCAN
+METRIC: 'euclidean'
+# eps, maximum distance between points to be neigbours
+NEIGHBOUR_DISTANCE: 2.78
+MIN_SAMPLES_PER_WAVE: 10
+# Factor from time dimension to space dimension in sampling_rate*spatial_scale
+TIME_SPACE_RATIO: 1.22  # i.e. distance between 2 frames corresponds to X pixel
+
+# Optical Flow (Horn-Schunck algorithm)
+##############
+USE_PHASES: True
+# weight of the smoothness constraint over the brightness constancy constraint
+ALPHA: 1.5
+# maximum number of iterations optimizing the vector field
+MAX_NITER: 100
+# the optimization end either after MAX_NITER iteration or when the
+# maximal change between iterations is smaller than the CONVERGENCE_LIMIT
+CONVERGENCE_LIMIT: 0.0001
+# standard deviations for the Gaussian filter applied on the vector field
+# [t_std, x_std, y_std]. (0,0,0) for no filter
+GAUSSIAN_SIGMA: [0.5,0.61,0.61]
+# Kernel filter to use to calucualte the spatial derivatives.
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+DERIVATIVE_KERNEL: 'scharr_3x3'
+
+# Critical Point Clustering
+###########################
+
+# Wave Mode Clustering
+######################
+# fraction of channels that need to be involved in a wave to be included
+MIN_TRIGGER_FRACTION: 0.5
+# number of similar waves to use to extrapolate missing trigger from
+NUM_WAVE_NEIGHBOURS: 5
+# percentage of similar waves to keep for the clustering
+WAVE_OUTLIER_QUANTILE: 1
+# number of pca dims to project the trigger patterns onto before clustering
+PCA_DIMS: 10
+# number of clusters for the kmeans algorithm
+NUM_KMEANS_CLUSTER: 6
+# grid spacing for the interpolation [0,1]
+INTERPOLATION_STEP_SIZE: 0.22222
+# smoothing factor (0: no smoothing)
+INTERPOLATION_SMOOTHING: 11
+
+# VIDEO SETTINGS
+################
+QUALITY: 5 # 0(good) - 31(bad)
+SCALE_X: 720
+SCALE_Y: 720
+FPS: 10
+BITRATE: 20M
+# displayed sampling rate, the data will be stretched or compressed to.
+# If None, the inherent sampling rate is used.
+FRAME_RATE: None
+# 'gray', 'viridis' (sequential), 'coolwarm' (diverging), 'twilight' (cyclic)
+COLORMAP: 'twilight'
+PLOT_EVENT: 'wavefronts' # name of neo event to plot, default is None
+MARKER_COLOR: 'r'

+ 49 - 0
cobrawap_configs/stage05_channel_wave_characterization/config_IDIBAPS.yaml

@@ -0,0 +1,49 @@
+# Config file for Stage 5 - Channel-wise Wave Characterization
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage05_channel_wave_characterization'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'IDIBAPS'
+
+# Name of the output file
+STAGE_OUTPUT: 'wavefronts_channel-wise_measures.csv'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: 'None'  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# Wave event name
+# 'wavefronts', 'wavemodes'
+EVENT_NAME: 'wavefronts'
+
+# Measures to compute
+# 'velocity_local', 'direction_local', 'inter_wave_interval_local', 'annotations'
+MEASURES: ['annotations', 'velocity_local', 'direction_local',
+           'flow_direction_local', 'inter_wave_interval_local']
+
+# Velocity/Direction local
+################
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+KERNEL: 'scharr_3x3'
+INTERPOLATE: True
+# smoothing factor for the interpolation (0 = no smoothing)
+SMOOTHING: 2
+
+# Annotations
+#############
+# Use include_keys, if they are empty apply ignore_keys
+INCLUDE_KEYS: ['wavemode', 'spatial_scale', 'anesthetic', 'concentration',
+               'doi', 'disease_model', 'model_type', 'technique',
+               'x_coords', 'y_coords', 'macro_pixel_dim']
+IGNORE_KEYS: ['cluster_algorithm', 'cluster_eps', 'cluster_metric',
+              'cluster_min_samples', 'threshold', 'experimental_lab',
+              'psd_freq_res', 'psd_overlap', 'psd_fs'
+              ]

+ 49 - 0
cobrawap_configs/stage05_channel_wave_characterization/config_LENS.yaml

@@ -0,0 +1,49 @@
+# Config file for Stage 5 - Channel-wise Wave Characterization
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage05_channel_wave_characterization'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS'
+
+# Name of the output file
+STAGE_OUTPUT: 'wavefronts_channel-wise_measures.csv'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: 'None'  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# Wave event name
+# 'wavefronts', 'wavemodes'
+EVENT_NAME: 'wavefronts'
+
+# Measures to compute
+# 'velocity_local', 'direction_local', 'inter_wave_interval_local', 'annotations'
+MEASURES: ['annotations', 'velocity_local', 'direction_local',
+           'flow_direction_local', 'inter_wave_interval_local']
+
+# Velocity/Direction local
+################
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+KERNEL: 'scharr_3x3'
+INTERPOLATE: True
+# smoothing factor for the interpolation (0 = no smoothing)
+SMOOTHING: 400
+
+# Annotations
+#############
+# Use include_keys, if they are empty apply ignore_keys
+INCLUDE_KEYS: ['wavemode', 'spatial_scale', 'anesthetic', 'concentration',
+               'doi', 'disease_model', 'model_type', 'technique',
+               'x_coords', 'y_coords', 'macro_pixel_dim']
+IGNORE_KEYS: ['cluster_algorithm', 'cluster_eps', 'cluster_metric',
+              'cluster_min_samples', 'threshold', 'experimental_lab',
+              'psd_freq_res', 'psd_overlap', 'psd_fs'
+              ]

+ 49 - 0
cobrawap_configs/stage05_channel_wave_characterization/config_LENS|macrodim11.yaml

@@ -0,0 +1,49 @@
+# Config file for Stage 5 - Channel-wise Wave Characterization
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage05_channel_wave_characterization'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS'
+
+# Name of the output file
+STAGE_OUTPUT: 'wavefronts_channel-wise_measures.csv'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: 'None'  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# Wave event name
+# 'wavefronts', 'wavemodes'
+EVENT_NAME: 'wavefronts'
+
+# Measures to compute
+# 'velocity_local', 'direction_local', 'inter_wave_interval_local', 'annotations'
+MEASURES: ['annotations', 'velocity_local', 'direction_local',
+           'flow_direction_local', 'inter_wave_interval_local']
+
+# Velocity/Direction local
+################
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+KERNEL: 'scharr_3x3'
+INTERPOLATE: True
+# smoothing factor for the interpolation (0 = no smoothing)
+SMOOTHING: 2
+
+# Annotations
+#############
+# Use include_keys, if they are empty apply ignore_keys
+INCLUDE_KEYS: ['wavemode', 'spatial_scale', 'anesthetic', 'concentration',
+               'doi', 'disease_model', 'model_type', 'technique',
+               'x_coords', 'y_coords', 'macro_pixel_dim']
+IGNORE_KEYS: ['cluster_algorithm', 'cluster_eps', 'cluster_metric',
+              'cluster_min_samples', 'threshold', 'experimental_lab',
+              'psd_freq_res', 'psd_overlap', 'psd_fs'
+              ]

+ 49 - 0
cobrawap_configs/stage05_channel_wave_characterization/config_LENS|macrodim3.yaml

@@ -0,0 +1,49 @@
+# Config file for Stage 5 - Channel-wise Wave Characterization
+
+# Name of stage, must be identical with folder name
+STAGE_NAME: 'stage05_channel_wave_characterization'
+
+# The profile name is the key for this parameter configuration. Results are stored in output_path/<PROFILE>/ (output_path is defined in settings.py)
+PROFILE: 'LENS'
+
+# Name of the output file
+STAGE_OUTPUT: 'wavefronts_channel-wise_measures.csv'
+
+# If True (default), the output file of a stage is created as symbolic link
+# to the last block output. If False, a duplicate is created (e.g. for cloud
+# application, where sym-links are not supported).
+USE_LINK_AS_STAGE_OUTPUT: True
+
+# Plotting parameters
+PLOT_TSTART: 0  # in s
+PLOT_TSTOP: 10  # in s
+PLOT_CHANNELS: 'None'  # int or None. default 'None' -> randomly selected
+PLOT_FORMAT: 'png'
+
+# Wave event name
+# 'wavefronts', 'wavemodes'
+EVENT_NAME: 'wavefronts'
+
+# Measures to compute
+# 'velocity_local', 'direction_local', 'inter_wave_interval_local', 'annotations'
+MEASURES: ['annotations', 'velocity_local', 'direction_local',
+           'flow_direction_local', 'inter_wave_interval_local']
+
+# Velocity/Direction local
+################
+# simple_3x3, prewitt_3x3, scharr_3x3, sobel_3x3, sobel_5x5, sobel_7x7
+KERNEL: 'scharr_3x3'
+INTERPOLATE: True
+# smoothing factor for the interpolation (0 = no smoothing)
+SMOOTHING: 109
+
+# Annotations
+#############
+# Use include_keys, if they are empty apply ignore_keys
+INCLUDE_KEYS: ['wavemode', 'spatial_scale', 'anesthetic', 'concentration',
+               'doi', 'disease_model', 'model_type', 'technique',
+               'x_coords', 'y_coords', 'macro_pixel_dim']
+IGNORE_KEYS: ['cluster_algorithm', 'cluster_eps', 'cluster_metric',
+              'cluster_min_samples', 'threshold', 'experimental_lab',
+              'psd_freq_res', 'psd_overlap', 'psd_fs'
+              ]

+ 0 - 0
cobrawap_configs/stage05_channel_wave_characterization/config_LENS|macrodim5.yaml


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