Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
392 changes: 392 additions & 0 deletions 01_-_Short_Getting_Started.ipynb

Large diffs are not rendered by default.

100 changes: 100 additions & 0 deletions ConnectivityMetricsTutorials-main/.github/copilot-instructions.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
# Copilot Instructions — Hyperscanning Workshop

## Language
All code, comments, docstrings, and documentation must be written in English.

## File Management
Never create, delete, or edit any file without explicit user consent.

## Project Structure
- Notebooks: `01_foundations/` and `02_connectivity_metrics/`, by category (A, B, C...)
- Reusable functions: `src/` directory
- Naming: `A01_`, `A02_`, `B01_`, etc.
- Quick notebooks: `*_quick.ipynb` (import from src/ instead of inline definitions)

## Git Workflow
- One branch per notebook: `feature/<notebook_id>`
- Clear commit messages
- Merge to main after review

## Dependencies
Managed with Poetry. Core: numpy, scipy, matplotlib, mne, hypyp.

## Typed Python
- Complete type hints on all functions (params + return)
- Use `numpy.typing.NDArray` for arrays
- Use `typing` module (Optional, Union, Tuple, Callable)
- mypy strict compatible

## Coding Standards
- PEP 8 compliant
- NumPy-style docstrings
- Functions over 20 lines go to `src/`
- No hardcoded values

## Notebook Structure
- **Full notebooks**: See `docs/NOTEBOOK_TEMPLATE.md`
- **Quick notebooks**: See `docs/NOTEBOOK_QUICK_TEMPLATE.md`
- Structure: Introduction → Intuition → Implementation → Visualization → HyPyP comparison → Application → Summary → Discussion

## Notebook Cell Order (CRITICAL)
For ALL notebooks (full and quick):
1. Cell 1 = Header (`# [ID]: Title` + Duration + Prerequisites + Learning Objectives)
2. Cell 2 = Table of Contents (`## Table of Contents` with `#section-X-...` anchors)
3. Cell 3 = Imports (Code cell with `# =====` style headers)
4. Cells 4+ = Sections
5. Last 3 cells = Summary, External Resources, Discussion Questions

## Colors (CRITICAL)
- Always import: `from colors import COLORS`
- Use ONLY these keys: `signal_1`, `signal_2`, `signal_3`, `signal_4`, `signal_5`, `signal_6`
- For EEG bands: `delta`, `theta`, `alpha`, `beta`, `gamma`
- NEVER use: `primary`, `secondary`, `accent1`, `accent2` (these keys DO NOT EXIST)

## NotebookLM Resources (CRITICAL)
In External Resources section, use this EXACT format:
```markdown
### 🎧 NotebookLM Resources

- [📺 Video Overview](URL) - Video overview of [topic] concepts
- [📝 Quiz](URL) - Test your understanding
- [🗂️ Flashcards](URL) - Review key concepts
```
- ALWAYS say "Video" — NEVER say "Audio"
- The 📺 emoji is for VIDEO, not audio
- Description must start with "Video overview of..."

## Exercises Format (CRITICAL)
Use this EXACT format for exercises:
```markdown
---

<a id="section-N-exercises"></a>
## N. Exercises

### 🎯 Exercise 1: Title

**Task:** Description of what to do.

- Bullet point instructions
- More instructions

\`\`\`python
# Your code here
\`\`\`

<details>
<summary>💡 Click to reveal solution</summary>

\`\`\`python
# Solution code
\`\`\`

</details>
```
- Always include 🎯 emoji before exercise title
- Always use `<details>` for solutions
- Always include `<a id="..."></a>` anchor before section title

## Visualization
Follow STYLE_GUIDE.md for colors, dimensions, fonts.
42 changes: 42 additions & 0 deletions ConnectivityMetricsTutorials-main/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Python
__pycache__/
*.py[cod]
*.pyo
.mypy_cache/
.ruff_cache/

# Jupyter
.ipynb_checkpoints/
*.ipynb_checkpoints

# Environment
.venv/
.env
*.egg-info/

# IDE
.vscode/
.idea/

# OS
.DS_Store
Thumbs.db

# Data (large files)
data/raw/
data/processed/
*.fif
*.edf
*.bdf

# Outputs
outputs/
figures/
*.png
*.pdf

# Documentation (internal)
docs/

# Poetry
poetry.lock
25 changes: 25 additions & 0 deletions ConnectivityMetricsTutorials-main/.pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.4.4
hooks:
- id: ruff
args: [--fix]
- id: ruff-format

- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.10.0
hooks:
- id: mypy
additional_dependencies:
- numpy
- types-setuptools
args: [--ignore-missing-imports]

- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.6.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
- id: check-yaml
- id: check-added-large-files
args: [--maxkb=1000]
12 changes: 12 additions & 0 deletions ConnectivityMetricsTutorials-main/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Creative Commons Attribution 4.0 International License

Copyright (c) 2025 Social Neuro AI Lab

You are free to:
- Share: copy and redistribute the material in any medium or format
- Adapt: remix, transform, and build upon the material for any purpose, even commercially

Under the following terms:
- Attribution: You must give appropriate credit, provide a link to the license, and indicate if changes were made.

Full license text: https://creativecommons.org/licenses/by/4.0/legalcode
1 change: 1 addition & 0 deletions ConnectivityMetricsTutorials-main/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Loading