From 83a10c3d56091799cc344eacfa37791603cf8675 Mon Sep 17 00:00:00 2001 From: VivianChencwy <12210460@sustech.edu.cn> Date: Wed, 5 Nov 2025 18:34:53 -0800 Subject: [PATCH 1/4] Update P3 tutorial --- .../core/tutorial_P3_transfer_learning.py | 1161 +++++++++++++++++ 1 file changed, 1161 insertions(+) create mode 100644 examples/core/tutorial_P3_transfer_learning.py diff --git a/examples/core/tutorial_P3_transfer_learning.py b/examples/core/tutorial_P3_transfer_learning.py new file mode 100644 index 00000000..19a7cd9f --- /dev/null +++ b/examples/core/tutorial_P3_transfer_learning.py @@ -0,0 +1,1161 @@ +""".. _tutorial-p3-transfer-learning: + +EEG P3 Transfer Learning with AS-MMD +==================================== + + +This tutorial's corresponding paper: Chen, W., Delorme, A. (2025). Adaptive Split-MMD Training for Small-Sample Cross-Dataset P300 EEG Classification. arXiv: [2510.21969](https://arxiv.org/abs/2510.21969). + +Overview +-------- +This tutorial demonstrates transfer learning for EEG P3 component analysis using +Adaptive Symmetric Maximum Mean Discrepancy (AS-MMD) to adapt between two oddball +paradigm datasets: ERP CORE P3 and Active Visual Oddball (AVO). + +The goal is to train a deep learning classifier (EEGConformer) that performs well +on both datasets despite differences in participant populations, recording equipment, +and experimental protocols. We use domain adaptation techniques including: + +1. **Prototype-based Discriminative Transfer**: Align class representations across domains +2. **Mixup Data Augmentation**: Enhance learning from smaller sample sizes +3. **MMD Alignment**: Minimize distribution mismatch in feature space +4. **Nested Cross-Validation**: Robust performance estimation +""" +# %% +# Dataset Loading with EEGDashDataset +# ==================================== +# +# This tutorial uses EEGDashDataset to load data from BIDS-compatible datasets. +# First, we initialize the datasets using EEGDashDataset. +# +# Download Instructions: +# +# 1. AVO Dataset (ds005863) - Cognitive Electrophysiology in Socioeconomic Context +# Download: https://nemar.org/dataexplorer/detail?dataset_id=ds005863 +# - 127 participants, ~10.6 GB +# - Contains Active Visual Oddball task from ERP CORE +# - Alternative: https://openneuro.org/datasets/ds005863 +# +# 2. ERP CORE P3 Dataset +# Download: https://osf.io/etdkz/files +# - choose file: P3 Raw Data BIDS-Compatible (extracts to P3_Raw_Data_BIDS-Compatible) +# - 40 neurotypical adults +# - P3 active visual oddball task +# +# After downloading and extracting, update the cache_dir path below: + +from eegdash import EEGDashDataset + +CACHE_DIR = '/home/vivian/eeg' # update to your local cache directory + +ds_p3 = EEGDashDataset( + dataset="P3_Raw_Data_BIDS-Compatible", + cache_dir=CACHE_DIR, + task="P3", + download=False, +) + +ds_avo = EEGDashDataset( + dataset="ds005863", + cache_dir=CACHE_DIR, + task="visualoddball", + download=False, +) + +print(f"P3 Dataset: {len(ds_p3)} recordings loaded") +print(f"AVO Dataset: {len(ds_avo)} recordings loaded") + +# %% +# Windowed Dataset Wrapper +# ------------------------ +# +# Wrapper for windowed EEG data. + +from braindecode.preprocessing import Preprocessor + +class ManualWindowsDataset: + """Custom dataset that ensures one window per event.""" + + def __init__(self, data, labels): + self.data = data + self.labels = labels + + def __len__(self): + return len(self.data) + + def __getitem__(self, idx): + return self.data[idx], self.labels[idx] + +# %% +# Data Loading Utilities +# ---------------------- +# +# Functions for loading raw EEG data and extracting subject information from +# both P3 and AVO datasets. + +import mne +mne.set_log_level('ERROR') + +def get_dataset_subjects(dataset_type): + """Get list of subjects from dataset using EEGDashDataset.""" + dataset = ds_p3 if dataset_type == 'P3' else ds_avo + return sorted(list(set([rec.description['subject'] for rec in dataset.datasets]))) + + +def process_subject_data(subject_id, preprocessor, dataset_type='P3'): + """Process a single subject's data using EEGDashDataset. + + This function: + 1. Loads the raw EEG file(s) for the subject using EEGDashDataset + 2. Applies the preprocessing pipeline + 3. Returns the windowed data and labels + """ + if dataset_type == 'P3': + subject_recordings = [rec for rec in ds_p3.datasets if rec.description['subject'] == subject_id] + + if len(subject_recordings) == 0: + return None, None + + raw = subject_recordings[0].raw + raw.load_data() + + else: + subject_recordings = [rec for rec in ds_avo.datasets if rec.description['subject'] == subject_id] + + if len(subject_recordings) == 0: + return None, None + + raws = [recording.raw for recording in subject_recordings] + for r in raws: + r.load_data() + raw = mne.concatenate_raws(raws) if len(raws) > 1 else raws[0] + + windows = preprocessor.transform(raw) + data = windows.data + labels = windows.labels + + return data, labels + +# %% +# Data Normalization and Augmentation +# ----------------------------------- +# +# Functions for normalizing EEG data and applying data augmentation techniques +# (Gaussian noise and time shifting) to improve model generalization. + +import numpy as np +import torch + +# Data augmentation parameters +NOISE_STD = 0.006 +TIME_SHIFT_RANGE = 6 + +def normalize_data(x, eps=1e-7): + """Normalize EEG data along time dimension. + + Applies z-score normalization: (x - mean) / std + """ + mean = x.mean(dim=2, keepdim=True) + std = x.std(dim=2, keepdim=True) + std = torch.clamp(std, min=eps) + return (x - mean) / std + + +def augment_data(x, noise_std=NOISE_STD, time_shift=TIME_SHIFT_RANGE): + """Apply data augmentation to EEG signals. + + Two augmentation techniques: + 1. Gaussian noise: Adds random noise to simulate natural variability + 2. Time shifting: Shifts signals along time axis to improve temporal robustness + """ + augmented = x.clone() + + if noise_std > 0: + noise = torch.randn_like(augmented) * noise_std + augmented = augmented + noise + + if time_shift > 0: + for i in range(x.size(0)): + shift = np.random.randint(-time_shift, time_shift + 1) + if shift != 0: + augmented[i] = torch.roll(augmented[i], shift, dims=1) + + return augmented + + + +# %% +# Preprocessing Overview +# ---------------------- +# +# The preprocessing pipeline implements the 7-step harmonized approach from the +# AS-MMD paper. We'll break it down into modular components for clarity. + +# %% +# Step 1: Preprocessor Initialization +# ----------------------------------- +# +# The `OddballPreprocessor` class manages configuration for both P3 and AVO datasets. +# It handles event codes, trial budgets, and timing parameters specific to each dataset. + +# Preprocessing parameters +LOW_FREQ = 0.5 +HIGH_FREQ = 30 +RESAMPLE_FREQ = 128 +TRIAL_START_OFFSET = -0.1 # seconds before stimulus +TRIAL_DURATION = 1.1 # seconds total window + +# Artifact removal and filtering +REMOVE_ARTIFACTS = True # ICA for eye/muscle artifacts +APPLY_NOTCH_FILTER = True # Remove power line interference +BASELINE_CORRECT = True # Baseline correction using pre-stimulus interval +NOTCH_FREQS = [50, 60] # Power line frequencies (Hz) + + +RESPONSE_EVENTS_P3 = [6, 7, 201, 202] +RESPONSE_EVENTS_AVO = [201, 202] + +ODDBALL_EVENTS_P3 = [1, 9, 15, 21, 27] +ODDBALL_EVENTS_AVO = [11, 22, 33, 44, 55] + + +STANDARD_EVENTS_AVO = None # Auto-detect as non-oddball events + +# Trials per subject +TRIALS_PER_SUBJECT_P3 = 80 +TRIALS_PER_SUBJECT_AVO = 10 + +class OddballPreprocessor(Preprocessor): + """Preprocessor for oddball paradigm EEG data with balanced sampling.""" + + def __init__(self, eeg_channels, dataset_type='P3', random_seed=42): + """Initialize preprocessor with dataset-specific parameters. + + Parameters + ---------- + eeg_channels : list + List of EEG channel names to use (e.g., ['Fz', 'Pz', 'P3', 'P4', 'Oz']) + dataset_type : str + Either 'P3' or 'AVO' to select appropriate event codes + random_seed : int + Random seed for reproducible sampling + """ + super().__init__(fn=self.transform, apply_on_array=False) + self.eeg_channels = [ch.lower() for ch in eeg_channels] + self.dataset_type = dataset_type + self.random_seed = random_seed + + self.trial_start_offset_samples = int(TRIAL_START_OFFSET * RESAMPLE_FREQ) + self.trial_stop_offset_samples = int(TRIAL_DURATION * RESAMPLE_FREQ) + + if dataset_type == 'AVO': + self.response_events = RESPONSE_EVENTS_AVO + self.oddball_events = ODDBALL_EVENTS_AVO + self.standard_events = STANDARD_EVENTS_AVO # None for auto-detect + self.trials_per_class = TRIALS_PER_SUBJECT_AVO + else: # P3 + self.response_events = RESPONSE_EVENTS_P3 + self.oddball_events = ODDBALL_EVENTS_P3 + self.standard_events = None # Auto-detect for P3 + self.trials_per_class = TRIALS_PER_SUBJECT_P3 + +# %% +# Step 2: ICA Artifact Removal Method +# ----------------------------------- +# +# ICA (Independent Component Analysis) identifies and removes artifacts from EEG: +# - Eye movements (EOG) +# - Muscle activity +# - Other non-brain signals +# +# This step is critical for clean ERP analysis and follows the paper's methodology. + + def remove_artifacts_ica(self, raw_full): + """Remove eye movement and muscle artifacts using ICA. + + The process: + 1. High-pass filter at 1 Hz (recommended for ICA stability) + 2. Fit ICA to decompose signals into independent components + 3. Automatically detect artifact components using frontal channels + 4. Remove bad components and back-project to get clean data + """ + if not REMOVE_ARTIFACTS: + return raw_full + + raw_ica = raw_full.copy() + raw_ica.filter(l_freq=1.0, h_freq=None) + + n_components = min(15, len(raw_ica.ch_names) - 1) + + if n_components < 2: + return raw_full + + ica = mne.preprocessing.ICA( + n_components=n_components, + random_state=self.random_seed, + method='fastica', + max_iter=500 + ) + + ica.fit(raw_ica) + + frontal_channels = [ch for ch in raw_full.ch_names + if any(front in ch.lower() + for front in ['fp1', 'fp2', 'af3', 'af4', 'f3', 'f4', 'fz', 'fpz'])] + + eog_indices = [] + if frontal_channels: + for ch in frontal_channels[:2]: + indices, scores = ica.find_bads_eog(raw_ica, ch_name=ch, threshold=3.0) + eog_indices.extend(indices) + + eog_indices = list(set(eog_indices)) + + if eog_indices: + ica.exclude = eog_indices + raw_clean = ica.apply(raw_full.copy()) + return raw_clean + + return raw_full + +# %% +# Step 3: Main Transform Pipeline - Initial Setup +# ----------------------------------------------- +# +# The `transform` method orchestrates all preprocessing steps in sequence. +# First, we prepare the data: standardize channel names, set reference, and convert units. + + def transform(self, raw): + """Transform raw EEG data into balanced windowed dataset. + + This method applies all 7 preprocessing steps in sequence. + """ + raw.rename_channels({ch: ch.lower() for ch in raw.ch_names}) + raw.set_eeg_reference('average', projection=True) + raw_data = raw.get_data() + if np.std(raw_data) < 1e-6 and np.std(raw_data) > 0: + raw._data *= 1e6 + +# %% +# Step 4: Resampling and Filtering +# -------------------------------- +# +# Apply temporal filtering to remove unwanted frequencies: +# - Resample to 128 Hz (computational efficiency + sufficient for ERPs) +# - Notch filter at 50/60 Hz (remove power line interference) +# - Band-pass filter 0.5-30 Hz (retain ERP-relevant frequencies) + + raw.resample(RESAMPLE_FREQ) + + if APPLY_NOTCH_FILTER: + for freq in NOTCH_FREQS: + raw.notch_filter(freq, verbose=False) + + raw.filter(l_freq=LOW_FREQ, h_freq=HIGH_FREQ) + +# %% +# Step 5: Artifact Removal and Channel Selection +# ---------------------------------------------- +# +# Now we clean the data with ICA (on all channels), then select our target channels. +# ICA works best on full-channel data, so we do it before channel selection. + + raw = self.remove_artifacts_ica(raw) + + available_channels = [ch for ch in self.eeg_channels if ch in raw.ch_names] + if not available_channels: + raise ValueError(f"No requested channels found. Available: {raw.ch_names}") + raw.pick_channels(available_channels) + +# %% +# Step 6: Event Extraction and Balanced Sampling +# ---------------------------------------------- +# +# Extract stimulus events and create balanced datasets: +# - Remove response events (button presses) +# - Separate oddball (rare) from standard (frequent) stimuli +# - Sample equal numbers of each class to prevent bias + + events, event_id = mne.events_from_annotations(raw) + if len(events) == 0: + raise ValueError("No events found") + + def get_codes_from_descriptions(event_id, descriptions): + """Get event codes that match any of the description patterns.""" + codes = [] + for desc, code in event_id.items(): + if any(pattern in desc for pattern in descriptions): + codes.append(code) + return codes + + if self.dataset_type == 'AVO': + oddball_codes = get_codes_from_descriptions(event_id, ['11', '22', '33', '44', '55']) + response_codes = get_codes_from_descriptions(event_id, ['201', '202']) + else: + oddball_codes = self.oddball_events + response_codes = self.response_events + + response_mask = np.isin(events[:, 2], response_codes) + events = events[~response_mask] + + if len(events) > 0: + events = events[:-1] + + oddball_mask = np.isin(events[:, 2], oddball_codes) + oddball_events = events[oddball_mask] + standard_events = events[~oddball_mask] + + if len(oddball_events) == 0 or len(standard_events) == 0: + raise ValueError(f"Missing events: oddball={len(oddball_events)}, standard={len(standard_events)}") + + np.random.seed(self.random_seed) + n_trials = min(len(oddball_events), len(standard_events), self.trials_per_class) + + oddball_indices = np.random.choice(len(oddball_events), size=n_trials, replace=False) + standard_indices = np.random.choice(len(standard_events), size=n_trials, replace=False) + + selected_oddball = oddball_events[oddball_indices] + selected_standard = standard_events[standard_indices] + + selected_events = np.vstack([selected_oddball, selected_standard]) + labels = np.concatenate([np.ones(n_trials), np.zeros(n_trials)]).astype(int) + +# %% +# Step 7: Epoching (Windowing) +# ---------------------------- +# +# Extract time-locked windows around each stimulus: +# - Window: -100ms to +1000ms relative to stimulus onset +# - Pre-stimulus interval will be used for baseline correction + + raw_data = raw.get_data() + windows_data = [] + windows_labels = [] + + for i, (event_sample, _, _) in enumerate(selected_events): + start_sample = event_sample + self.trial_start_offset_samples + end_sample = event_sample + self.trial_stop_offset_samples + + if start_sample >= 0 and end_sample <= raw_data.shape[1]: + window_data = raw_data[:, start_sample:end_sample] + windows_data.append(window_data) + windows_labels.append(labels[i]) + + windows_data = np.array(windows_data) + windows_labels = np.array(windows_labels) + +# %% +# Step 8: Baseline Correction +# --------------------------- +# +# Subtract the pre-stimulus baseline (-100ms to 0ms) from each trial. +# This removes slow drifts and ensures we're measuring stimulus-evoked responses. + + if BASELINE_CORRECT: + baseline_end_idx = abs(self.trial_start_offset_samples) if self.trial_start_offset_samples < 0 else 0 + + if baseline_end_idx > 0: + baseline_mean = np.mean(windows_data[:, :, :baseline_end_idx], axis=2, keepdims=True) + windows_data = windows_data - baseline_mean + + return ManualWindowsDataset(windows_data, windows_labels) + + +# %% +# Positional Encoding Utility +# --------------------------- +# +# Sine-cosine positional encodings added to the token sequence before entering +# the Transformer, enabling the model to represent temporal order. + +import math +import torch +import torch.nn as nn + +COMMON_CHANNELS = ['Fz', 'Pz', 'P3', 'P4', 'Oz'] + +class PositionalEncoding(nn.Module): + """Positional encoding for transformer layers.""" + + def __init__(self, d_model, max_len=5000): + super().__init__() + pe = torch.zeros(max_len, d_model) + position = torch.arange(0, max_len).unsqueeze(1).float() + + div_term = torch.exp(torch.arange(0, d_model, 2).float() * + -(math.log(10000.0) / d_model)) + + pe[:, 0::2] = torch.sin(position * div_term) + pe[:, 1::2] = torch.cos(position * div_term) + pe = pe.unsqueeze(0) + + self.register_buffer('pe', pe) + + def forward(self, x): + return x + self.pe[:, :x.size(1)] + +# %% +# Deep Learning Model: EEGConformer +# ---------------------------------- +# +# Combines CNN layers (temporal + spatial) with a Transformer encoder and a +# lightweight classification head for ERP decoding. + +import torch.nn.functional as F + +CONFORMER_CONV_SPATIAL_DIM = 68 +CONFORMER_CONV_TEMPORAL_DIM = 44 +CONFORMER_EMBEDDING_DIM = 68 +CONFORMER_NUM_HEADS = 4 +CONFORMER_NUM_LAYERS = 5 +DROPOUT_RATE = 0.18 + +class EEGConformer(nn.Module): + """EEGConformer: CNN + Transformer for EEG classification.""" + + def __init__(self, n_chans, n_outputs, n_times, + conv_spatial_dim=40, conv_temporal_dim=25, + embedding_dim=40, num_heads=10, num_layers=3, + dropout=0.5, activation='gelu'): + super().__init__() + self.n_chans = n_chans + self.n_outputs = n_outputs + self.n_times = n_times + self.embedding_dim = embedding_dim + + self.temporal_conv = nn.Conv2d(1, conv_temporal_dim, (1, 25), padding=(0, 12)) + self.temporal_bn = nn.BatchNorm2d(conv_temporal_dim) + + self.spatial_conv = nn.Conv2d(conv_temporal_dim, conv_spatial_dim, (n_chans, 1)) + self.spatial_bn = nn.BatchNorm2d(conv_spatial_dim) + + self.avg_pool = nn.AvgPool2d((1, 4), (1, 4)) + self.dropout = nn.Dropout(dropout) + + seq_length = n_times // 4 + + self.projection = nn.Linear(conv_spatial_dim, embedding_dim) + self.pos_encoding = PositionalEncoding(embedding_dim, max_len=seq_length) + + encoder_layer = nn.TransformerEncoderLayer( + d_model=embedding_dim, + nhead=num_heads, + dim_feedforward=embedding_dim * 4, + dropout=dropout, + activation=activation, + batch_first=True + ) + self.transformer = nn.TransformerEncoder(encoder_layer, num_layers=num_layers) + + self.classifier = nn.Sequential( + nn.AdaptiveAvgPool1d(1), + nn.Flatten(), + nn.Linear(embedding_dim, n_outputs) + ) + + def forward(self, x): + x = x.unsqueeze(1) # (batch, 1, n_chans, n_times) + x = self.temporal_conv(x) + x = self.temporal_bn(x) + x = F.elu(x) + x = self.spatial_conv(x) + x = self.spatial_bn(x) + x = F.elu(x) + x = self.dropout(x) + x = self.avg_pool(x) + x = x.squeeze(2).transpose(1, 2) # (batch, seq_len, conv_spatial_dim) + x = self.projection(x) + x = self.pos_encoding(x) + x = self.transformer(x) + x = x.transpose(1, 2) # (batch, embedding_dim, seq_len) + x = self.classifier(x) + return x + + +def create_model(n_channels, n_times): + """Create EEGConformer model with configured hyperparameters.""" + return EEGConformer( + n_chans=n_channels, + n_outputs=2, + n_times=n_times, + conv_spatial_dim=CONFORMER_CONV_SPATIAL_DIM, + conv_temporal_dim=CONFORMER_CONV_TEMPORAL_DIM, + embedding_dim=CONFORMER_EMBEDDING_DIM, + num_heads=CONFORMER_NUM_HEADS, + num_layers=CONFORMER_NUM_LAYERS, + dropout=DROPOUT_RATE, + activation='gelu' + ) + + +# %% +# AS-MMD Domain Adaptation +# ------------------------- +# +# Adaptive Symmetric Maximum Mean Discrepancy (AS-MMD) aligns feature distributions +# between source (P3) and target (AVO) domains using three key components: +# +# 1. **Mixup augmentation**: Interpolates between samples to enhance generalization +# 2. **Prototype alignment**: Aligns class-wise feature representations +# 3. **MMD loss**: Minimizes distribution discrepancy in feature space +# + +# %% +# Mixup and Augmentation Utilities +# -------------------------------- +# +# Functions for mixup data augmentation and focal loss used in AS-MMD training. + +def mixup_data(x, y, alpha=0.4): + """Perform mixup data augmentation.""" + if alpha > 0: + lam = np.random.beta(alpha, alpha) + else: + lam = 1.0 + + batch_size = x.size(0) + index = torch.randperm(batch_size, device=x.device) + + mixed_x = lam * x + (1 - lam) * x[index] + y_a, y_b = y, y[index] + + return mixed_x, y_a, y_b, lam + + +def compute_focal_loss(scores, targets, gamma=2.0, alpha=0.25): + """Compute focal loss for handling class imbalance.""" + ce_loss = F.cross_entropy(scores, targets, reduction='none') + pt = torch.exp(-ce_loss) + focal_loss = alpha * (1 - pt) ** gamma * ce_loss + return focal_loss.mean() + + +def mixup_criterion(pred, y_a, y_b, lam, gamma=2.0, alpha=0.5): + """Compute mixup focal loss.""" + loss_a = compute_focal_loss(pred, y_a, gamma=gamma, alpha=alpha) + loss_b = compute_focal_loss(pred, y_b, gamma=gamma, alpha=alpha) + return lam * loss_a + (1 - lam) * loss_b +# %% +# Prototype-based Alignment Utilities +# ----------------------------------- +# +# Functions to compute class prototypes and prototype alignment loss. + +def compute_prototypes(features, labels, n_classes=2): + """Compute class prototypes (mean features per class).""" + if features.dim() > 2: + features = features.view(features.size(0), -1) + + prototypes = [] + for c in range(n_classes): + mask = (labels == c) + if mask.sum() > 0: + proto = features[mask].mean(dim=0) + else: + proto = torch.zeros(features.size(1), device=features.device) + prototypes.append(proto) + + return torch.stack(prototypes) + + +def compute_prototype_loss(features, labels, prototypes): + """Compute prototype alignment loss.""" + if features.dim() > 2: + features = features.view(features.size(0), -1) + + loss = 0.0 + n_samples = 0 + for i, label in enumerate(labels): + proto = prototypes[label] + dist = F.mse_loss(features[i], proto) + loss += dist + n_samples += 1 + + return loss / max(1, n_samples) +# %% +# MMD Alignment Utility +# --------------------- +# +# Compute the RBF-kernel Maximum Mean Discrepancy for distribution alignment. + +def compute_mmd_rbf(x, y, eps=1e-8): + """Compute RBF-kernel Maximum Mean Discrepancy.""" + if x.dim() > 2: + x = x.view(x.size(0), -1) + if y.dim() > 2: + y = y.view(y.size(0), -1) + + with torch.no_grad(): + z = torch.cat([x, y], dim=0) + if z.size(0) > 1: + dists = torch.cdist(z, z, p=2.0) + sigma = torch.median(dists) + sigma = torch.clamp(sigma, min=eps) + else: + sigma = torch.tensor(1.0, device=z.device) + + gamma = 1.0 / (2.0 * (sigma ** 2) + eps) + k_xx = torch.exp(-gamma * torch.cdist(x, x, p=2.0) ** 2) + k_yy = torch.exp(-gamma * torch.cdist(y, y, p=2.0) ** 2) + k_xy = torch.exp(-gamma * torch.cdist(x, y, p=2.0) ** 2) + + m = x.size(0) + n = y.size(0) + if m <= 1 or n <= 1: + return torch.tensor(0.0, device=x.device) + + mmd = (k_xx.sum() - torch.trace(k_xx)) / (m * (m - 1) + eps) + mmd += (k_yy.sum() - torch.trace(k_yy)) / (n * (n - 1) + eps) + mmd -= 2.0 * k_xy.mean() + + return mmd +# %% +# Symmetric Weighting Schedule +# ---------------------------- +# +# Compute domain weights and warmup schedule based on relative dataset sizes. + +# Training parameters +MAX_EPOCHS = 100 + +def get_symmetric_adjustments(n_train_a, n_train_b): + """Compute symmetric domain weights based on dataset sizes.""" + n_train_a = max(1, n_train_a) + n_train_b = max(1, n_train_b) + ratio_ab = n_train_a / float(n_train_b) + + w_small = float(np.clip(np.sqrt(max(ratio_ab, 1.0/ratio_ab)) * 3.0, 1.0, 12.0)) + + overall_ratio = max(ratio_ab, 1.0 / ratio_ab) + lambda_mmd = 0.2 if overall_ratio < 2.0 else (0.3 if overall_ratio < 4.0 else 0.45) + lambda_proto = 0.5 if overall_ratio < 4.0 else 0.8 + warmup = max(20, min(40, int(0.4 * MAX_EPOCHS))) + + return w_small, lambda_mmd, lambda_proto, warmup +# %% +# Stratified Sampling +# ------------------- +# +# Helper for balanced per-subject sampling while preserving class ratios. + +SEEDS = [42, 123, 456, 789, 321] + +def stratified_sample_trials(data, labels, n_trials, random_seed): + """Stratified sampling of trials maintaining class balance.""" + np.random.seed(random_seed) + unique_labels = np.unique(labels) + + if len(unique_labels) < 2 or n_trials >= len(data): + return data, labels + + sampled_indices = [] + for label in unique_labels: + label_mask = labels == label + available = np.sum(label_mask) + + proportion = available / len(data) + n_for_label = max(1, int(n_trials * proportion)) + + if len(sampled_indices) + n_for_label > n_trials: + n_for_label = n_trials - len(sampled_indices) + + if n_for_label > 0 and available >= n_for_label: + label_indices = np.where(label_mask)[0] + selected = np.random.choice(label_indices, size=n_for_label, replace=False) + sampled_indices.extend(selected) + + sampled_indices = np.array(sampled_indices) + return data[sampled_indices], labels[sampled_indices] + + +# %% +# Combined Loaders (P3 + AVO) +# --------------------------- +# +# Load both datasets, apply stratified sampling per subject, and combine. + + + +def load_combined_arrays(channels): + """Load and combine P3 and AVO datasets with stratified sampling using EEGDashDataset.""" + X_list = [] + y_list = [] + src_list = [] + + for dataset_name in ['P3', 'AVO']: + print(f"\nProcessing {dataset_name} dataset...") + if dataset_name == 'P3': + subjects = get_dataset_subjects('P3') + n_trials_ps = TRIALS_PER_SUBJECT_P3 + else: + subjects = get_dataset_subjects('AVO') + n_trials_ps = TRIALS_PER_SUBJECT_AVO + + print(f"Found {len(subjects)} subjects: {subjects[:5]}..." if len(subjects) > 5 else f"Found {len(subjects)} subjects: {subjects}") + preproc = OddballPreprocessor(channels, dataset_type=dataset_name) + + successful_subjects = 0 + for s in subjects: + data, labels = process_subject_data(s, preproc, dataset_type=dataset_name) + if data is None or labels is None or len(data) == 0: + continue + + successful_subjects += 1 + if len(data) > n_trials_ps: + data, labels = stratified_sample_trials(data, labels, n_trials_ps, SEEDS[0]) + + X_list.append(data) + y_list.append(labels) + src_list.append(np.array([dataset_name] * len(labels))) + + print(f"Successfully loaded {successful_subjects}/{len(subjects)} subjects from {dataset_name}") + if successful_subjects > 0: + total_trials = sum(len(src) for src in src_list if src[0] == dataset_name) + print(f"Total trials from {dataset_name}: {total_trials}") + + if not X_list: + raise RuntimeError("No valid data loaded") + + X_all = np.concatenate(X_list, axis=0) + y_all = np.concatenate(y_list, axis=0) + src_all = np.concatenate(src_list, axis=0) + + print(f"\nFinal dataset: {len(X_all)} total trials") + print(f" P3: {np.sum(src_all=='P3')} trials") + print(f" AVO: {np.sum(src_all=='AVO')} trials") + + return X_all, y_all, src_all + + +# %% +# AS-MMD Training Loop +# -------------------- +# +# Joint training combining classification, mixup, prototype alignment, and MMD. + +from torch.utils.data import TensorDataset, DataLoader +from itertools import cycle + +BATCH_SIZE = 22 +LEARNING_RATE = 0.001 +WEIGHT_DECAY = 2.5e-4 +EARLY_STOPPING_PATIENCE = 10 + +DEVICE = torch.device('cuda' if torch.cuda.is_available() else 'cpu') + +def asmmd_train_fold(Xtr_p3, ytr_p3, Xva_p3, yva_p3, + Xtr_avo, ytr_avo, Xva_avo, yva_avo, + n_channels, n_times, seed=42): + """Train a single fold with AS-MMD method.""" + torch.manual_seed(seed) + np.random.seed(seed) + + def make_loader(X, y, shuffle): + return DataLoader(TensorDataset(torch.FloatTensor(X), torch.LongTensor(y)), + batch_size=BATCH_SIZE, shuffle=shuffle) + train_loader_p3 = make_loader(Xtr_p3, ytr_p3, True) + val_loader_p3 = make_loader(Xva_p3, yva_p3, False) + train_loader_avo = make_loader(Xtr_avo, ytr_avo, True) + val_loader_avo = make_loader(Xva_avo, yva_avo, False) + + model = create_model(n_channels, n_times).to(DEVICE) + optimizer = torch.optim.Adamax(model.parameters(), lr=LEARNING_RATE, weight_decay=WEIGHT_DECAY) + scheduler = torch.optim.lr_scheduler.CosineAnnealingLR(optimizer, T_max=MAX_EPOCHS) + + n_train_avo, n_train_p3 = len(Xtr_avo), len(Xtr_p3) + w_small, lambda_mmd_target, lambda_proto_target, warmup_epochs = get_symmetric_adjustments(n_train_avo, n_train_p3) + small_domain = 'P3' if n_train_p3 <= n_train_avo else 'AVO' + large_domain = 'AVO' if small_domain == 'P3' else 'P3' + + best_val, best_state, patience_cnt = 0.0, None, 0 + large_prototypes = None + + for epoch in range(1, MAX_EPOCHS + 1): + model.train() + + alpha = min(1.0, epoch / max(1, warmup_epochs)) + w_small_cur, w_large_cur = 1.0 + alpha * (w_small - 1.0), 1.0 + lambda_mmd, lambda_proto = alpha * lambda_mmd_target, alpha * lambda_proto_target + + train_loaders = {'P3': train_loader_p3, 'AVO': train_loader_avo} + itr_large = iter(train_loaders[large_domain]) + itr_small = cycle(train_loaders[small_domain]) if len(train_loaders[small_domain]) > 0 else None + + for _ in train_loaders[large_domain]: + xb_large, yb_large = next(itr_large) + + xb_small, yb_small = None, None + if itr_small is not None: + xb_small, yb_small = next(itr_small) + + optimizer.zero_grad() + + x_large, y_large = augment_data(normalize_data(xb_large)).to(DEVICE), yb_large.to(DEVICE) + scores_large = model(x_large) + loss_large = F.cross_entropy(scores_large, y_large) + + with torch.no_grad(): + current_prototypes = compute_prototypes(scores_large.detach(), y_large, n_classes=2) + large_prototypes = current_prototypes if large_prototypes is None else 0.9 * large_prototypes + 0.1 * current_prototypes + + loss_small, loss_proto, scores_small = torch.tensor(0.0, device=DEVICE), torch.tensor(0.0, device=DEVICE), None + if xb_small is not None: + x_small, y_small = normalize_data(xb_small).to(DEVICE), yb_small.to(DEVICE) + x_mixed, y_a, y_b, lam = mixup_data(x_small, y_small, alpha=0.4) + scores_small = model(augment_data(x_mixed)) + loss_small = mixup_criterion(scores_small, y_a, y_b, lam, gamma=2.0, alpha=0.5) + + if large_prototypes is not None and lambda_proto > 0: + loss_proto = compute_prototype_loss(model(augment_data(x_small)), y_small, large_prototypes) + + loss_align = torch.tensor(0.0, device=DEVICE) + if scores_small is not None and lambda_mmd > 0.0: + scores_orig_small = model(augment_data(normalize_data(xb_small).to(DEVICE))) + b = min(scores_large.size(0), scores_orig_small.size(0)) + loss_align = compute_mmd_rbf(scores_large[:b].detach(), scores_orig_small[:b].detach()) + + total_loss = w_large_cur * loss_large + w_small_cur * loss_small + lambda_mmd * loss_align + lambda_proto * loss_proto + if not (torch.isnan(total_loss) or torch.isinf(total_loss)): + total_loss.backward() + torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=5.0) + optimizer.step() + + scheduler.step() + + p3_val, avo_val = evaluate_domain(model, val_loader_p3, DEVICE), evaluate_domain(model, val_loader_avo, DEVICE) + print(f"Epoch {epoch}: Val(P3)={p3_val:.3f} | Val(AVO)={avo_val:.3f}") + + small_val = p3_val if small_domain == 'P3' else avo_val + if small_val > best_val + 1e-4: + best_val, best_state, patience_cnt = small_val, model.state_dict(), 0 + else: + patience_cnt += 1 + if patience_cnt >= EARLY_STOPPING_PATIENCE: + break + + if best_state is not None: + model.load_state_dict(best_state) + + return model + + +# %% +# Model Evaluation Utilities +# -------------------------- +# +# Functions for model evaluation: simple accuracy and detailed metrics. + +from sklearn.metrics import confusion_matrix, roc_auc_score + +def evaluate_domain(model, loader, device): + """Evaluate model accuracy on a specific domain.""" + model.eval() + correct, total = 0, 0 + with torch.no_grad(): + for x, y in loader: + x, y = normalize_data(x).to(device), y.to(device) + _, pred = model(x).max(1) + correct += (pred == y).sum().item() + total += y.size(0) + return correct / total if total > 0 else 0.0 + + +def evaluate_with_metrics(model, loader, device): + """Evaluate with detailed metrics: accuracy, precision, recall, F1, AUC.""" + model.eval() + all_preds, all_targets, all_probs = [], [], [] + + with torch.no_grad(): + for x, y in loader: + x, y = normalize_data(x).to(device), y.to(device) + scores = model(x) + all_preds.extend(scores.max(1)[1].cpu().numpy()) + all_targets.extend(y.cpu().numpy()) + all_probs.extend(torch.softmax(scores, dim=1)[:, 1].cpu().numpy()) + + all_preds, all_targets, all_probs = map(np.array, [all_preds, all_targets, all_probs]) + + # Calculate metrics + cm = confusion_matrix(all_targets, all_preds) + if cm.shape == (2, 2): + tn, fp, fn, tp = cm.ravel() + accuracy = (tp + tn) / (tp + tn + fp + fn) + precision = tp / (tp + fp) if (tp + fp) > 0 else 0 + recall = tp / (tp + fn) if (tp + fn) > 0 else 0 + f1 = 2 * (precision * recall) / (precision + recall) if (precision + recall) > 0 else 0 + else: + accuracy, precision, recall, f1 = np.mean(all_preds == all_targets), 0.0, 0.0, 0.0 + + auc = roc_auc_score(all_targets, all_probs) if len(np.unique(all_targets)) > 1 else 0.5 + + return { + 'accuracy': float(accuracy), + 'precision': float(precision), + 'recall': float(recall), + 'f1_score': float(f1), + 'auc': float(auc) + } + + +# %% +# Nested Cross-Validation and Execution +# ------------------------------------- +# +# Nested CV to robustly evaluate AS-MMD across multiple splits. + +from sklearn.model_selection import train_test_split, StratifiedKFold +import pandas as pd + +NESTED_CV_OUTER_FOLDS = 5 +NESTED_CV_REPEATS = 5 + +TRAIN_SIZE = 0.7 +VAL_SIZE = 0.1 + +def run_nested_cv_asmmd(channels): + """Run nested cross-validation with AS-MMD.""" + print("Loading datasets...") + X_all, y_all, src_all = load_combined_arrays(channels) + print(f"Total: {len(X_all)} (P3: {np.sum(src_all=='P3')}, AVO: {np.sum(src_all=='AVO')})") + + n_channels, n_times = X_all.shape[1], X_all.shape[2] + fold_results = [] + + for repeat in range(NESTED_CV_REPEATS): + print(f"\n{'='*60}\nRepeat {repeat + 1}/{NESTED_CV_REPEATS}\n{'='*60}") + cv = StratifiedKFold(n_splits=NESTED_CV_OUTER_FOLDS, shuffle=True, + random_state=SEEDS[repeat % len(SEEDS)]) + + for fold_idx, (train_idx, test_idx) in enumerate(cv.split(X_all, y_all)): + print(f"\nFold {fold_idx + 1}/{NESTED_CV_OUTER_FOLDS}") + X_tr_fold, y_tr_fold, src_tr_fold = X_all[train_idx], y_all[train_idx], src_all[train_idx] + X_te_fold, y_te_fold, src_te_fold = X_all[test_idx], y_all[test_idx], src_all[test_idx] + + # Split train/val + train_ratio = TRAIN_SIZE / (TRAIN_SIZE + VAL_SIZE) if (TRAIN_SIZE + VAL_SIZE) > 0 else 0.875 + tr_idx, va_idx = train_test_split(np.arange(len(X_tr_fold)), train_size=train_ratio, + stratify=y_tr_fold, random_state=42) + + def get_domain_data(X, y, src, indices, domain): + mask = (src == domain) + idx = np.intersect1d(np.where(mask)[0], indices) + return X[idx], y[idx] + + Xtr_p3, ytr_p3 = get_domain_data(X_tr_fold, y_tr_fold, src_tr_fold, tr_idx, 'P3') + Xtr_avo, ytr_avo = get_domain_data(X_tr_fold, y_tr_fold, src_tr_fold, tr_idx, 'AVO') + Xva_p3, yva_p3 = get_domain_data(X_tr_fold, y_tr_fold, src_tr_fold, va_idx, 'P3') + Xva_avo, yva_avo = get_domain_data(X_tr_fold, y_tr_fold, src_tr_fold, va_idx, 'AVO') + + print(f" Train sizes - P3: {len(Xtr_p3)}, AVO: {len(Xtr_avo)}") + print(f" Val sizes - P3: {len(Xva_p3)}, AVO: {len(Xva_avo)}") + + if len(Xtr_p3) == 0 or len(Xtr_avo) == 0: + print(f" Skipping fold {fold_idx + 1}: empty training set (P3={len(Xtr_p3)}, AVO={len(Xtr_avo)})") + continue + if len(Xva_p3) == 0 or len(Xva_avo) == 0: + print(f" Skipping fold {fold_idx + 1}: empty validation set (P3={len(Xva_p3)}, AVO={len(Xva_avo)})") + continue + + model = asmmd_train_fold(Xtr_p3, ytr_p3, Xva_p3, yva_p3, + Xtr_avo, ytr_avo, Xva_avo, yva_avo, + n_channels, n_times, seed=SEEDS[0]) + + def eval_domain(mask): + if not np.any(mask): + return {'accuracy': 0.0, 'auc': 0.5}, 0 + loader = DataLoader(TensorDataset(torch.FloatTensor(X_te_fold[mask]), + torch.LongTensor(y_te_fold[mask])), + batch_size=BATCH_SIZE, shuffle=False) + return evaluate_with_metrics(model, loader, DEVICE), int(np.sum(mask)) + + m_p3, n_p3 = eval_domain(src_te_fold == 'P3') + m_avo, n_avo = eval_domain(src_te_fold == 'AVO') + acc_overall = (m_p3['accuracy'] * n_p3 + m_avo['accuracy'] * n_avo) / max(1, n_p3 + n_avo) + + print(f" P3 Test: Acc={m_p3['accuracy']:.3f}, AUC={m_p3['auc']:.3f} (n={n_p3})") + print(f" AVO Test: Acc={m_avo['accuracy']:.3f}, AUC={m_avo['auc']:.3f} (n={n_avo})") + print(f" Overall: Acc={acc_overall:.3f}") + + fold_results.append({ + 'repeat': repeat + 1, 'fold': fold_idx + 1, 'overall_accuracy': acc_overall, + 'p3_accuracy': m_p3['accuracy'], 'p3_auc': m_p3['auc'], + 'avo_accuracy': m_avo['accuracy'], 'avo_auc': m_avo['auc'], + }) + + df = pd.DataFrame(fold_results) + return { + 'mean_accuracy': float(df['overall_accuracy'].mean()), + 'std_accuracy': float(df['overall_accuracy'].std()), + 'p3_mean_accuracy': float(df['p3_accuracy'].mean()), + 'p3_std_accuracy': float(df['p3_accuracy'].std()), + 'p3_mean_auc': float(df['p3_auc'].mean()), + 'p3_std_auc': float(df['p3_auc'].std()), + 'avo_mean_accuracy': float(df['avo_accuracy'].mean()), + 'avo_std_accuracy': float(df['avo_accuracy'].std()), + 'avo_mean_auc': float(df['avo_auc'].mean()), + 'avo_std_auc': float(df['avo_auc'].std()), + 'detailed_fold_results': fold_results + } + +# Execute nested cross-validation +from datetime import datetime +import warnings + +warnings.filterwarnings('ignore') + +print("\n" + "="*70) +print("Starting Nested Cross-Validation with AS-MMD") + +results = run_nested_cv_asmmd(COMMON_CHANNELS) + +print("\n" + "="*70 + "\nFINAL RESULTS\n" + "="*70) +print(f"Overall Accuracy: {results['mean_accuracy']:.4f} ± {results['std_accuracy']:.4f}") +print(f"\nP3 Dataset:") +print(f" Accuracy: {results['p3_mean_accuracy']:.4f} ± {results['p3_std_accuracy']:.4f}") +print(f" AUC: {results['p3_mean_auc']:.4f} ± {results['p3_std_auc']:.4f}") +print(f"\nAVO Dataset:") +print(f" Accuracy: {results['avo_mean_accuracy']:.4f} ± {results['avo_std_accuracy']:.4f}") +print(f" AUC: {results['avo_mean_auc']:.4f} ± {results['avo_std_auc']:.4f}") +print("="*70) + +# Save results +timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') +pd.DataFrame(results['detailed_fold_results']).to_csv(f'asmmd_detailed_results_{timestamp}.csv', index=False) +print(f"\nDetailed results saved to: asmmd_detailed_results_{timestamp}.csv") + +summary_stats = {k: v for k, v in results.items() if k != 'detailed_fold_results'} +pd.DataFrame([summary_stats]).to_csv(f'asmmd_summary_{timestamp}.csv', index=False) +print(f"Summary statistics saved to: asmmd_summary_{timestamp}.csv") + +# %% +# Discussion and Hyperparameters +# ------------------------------- +# +# **Key Hyperparameters:** +# +# - **Learning Rate (0.001)**: Moderate learning rate with Adamax optimizer +# - **Batch Size (22)**: Small batches help with domain adaptation +# - **Dropout (0.18)**: Prevents overfitting in the transformer layers +# - **Early Stopping Patience (10)**: Allows sufficient training time +# - **Domain Weights**: Automatically adjusted based on dataset size ratio +# - **MMD Weight (0.2-0.4)**: Balances classification and domain alignment +# - **Prototype Weight (0.5-0.8)**: Encourages discriminative class alignment +# +# **References:** +# +# - Song et al. (2020). "EEGConformer: Convolutional Transformer for EEG Decoding" +# - Long et al. (2015). "Learning Transferable Features with Deep Adaptation Networks" +# - Zhang et al. (2018). "Mixup: Beyond Empirical Risk Minimization" + +# %% +# Conclusion +# ---------- +# In this tutorial, we demonstrated a complete workflow for EEG P3 transfer learning +# using AS-MMD on two public oddball datasets (ERP CORE P3 and AVO). By combining +# prototype-based alignment, mixup augmentation, and MMD alignment on the logit space +# within an EEGConformer backbone, we achieved robust cross-dataset performance while +# keeping the inference-time model unchanged. The nested cross-validation protocol +# provides reliable estimates across subjects and splits. For practical use, consider +# tuning the domain weights, model capacity, and data budgets per subject, and extend +# this pipeline to other ERP components or datasets. For methodological details and +# ablations, see the accompanying paper: https://arxiv.org/abs/2510.21969 From 1cadf9ed5dd91287eb1d0539e5a2e79f59a59b07 Mon Sep 17 00:00:00 2001 From: VivianChencwy <12210460@sustech.edu.cn> Date: Thu, 6 Nov 2025 17:22:52 -0800 Subject: [PATCH 2/4] add image --- docs/source/_static/p3_avo_sample_trials.png | Bin 0 -> 322527 bytes .../core/tutorial_P3_transfer_learning.py | 34 ++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 docs/source/_static/p3_avo_sample_trials.png diff --git a/docs/source/_static/p3_avo_sample_trials.png b/docs/source/_static/p3_avo_sample_trials.png new file mode 100644 index 0000000000000000000000000000000000000000..68c307c23262e78dea889608a9d07713545b70dc GIT binary patch literal 322527 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ξ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

M1aXmEn_Nuc*3GBD*G%rSy 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 X{V0AQJ~M0;86Tshp_s35^T9s>8Qk~o literal 0 HcmV?d00001 diff --git a/examples/core/tutorial_P3_transfer_learning.py b/examples/core/tutorial_P3_transfer_learning.py index 19a7cd9f..b79f33e0 100644 --- a/examples/core/tutorial_P3_transfer_learning.py +++ b/examples/core/tutorial_P3_transfer_learning.py @@ -4,7 +4,7 @@ ==================================== -This tutorial's corresponding paper: Chen, W., Delorme, A. (2025). Adaptive Split-MMD Training for Small-Sample Cross-Dataset P300 EEG Classification. arXiv: [2510.21969](https://arxiv.org/abs/2510.21969). +This tutorial's corresponding method/paper: Chen, W., Delorme, A. (2025). Adaptive Split-MMD Training for Small-Sample Cross-Dataset P300 EEG Classification. arXiv: [2510.21969](https://arxiv.org/abs/2510.21969). Overview -------- @@ -91,7 +91,6 @@ def __getitem__(self, idx): # ---------------------- # # Functions for loading raw EEG data and extracting subject information from -# both P3 and AVO datasets. import mne mne.set_log_level('ERROR') @@ -128,6 +127,22 @@ def process_subject_data(subject_id, preprocessor, dataset_type='P3'): raws = [recording.raw for recording in subject_recordings] for r in raws: r.load_data() + + if len(raws) > 1: + common_chs = set(raws[0].ch_names) + for r in raws[1:]: + common_chs = common_chs.intersection(set(r.ch_names)) + common_chs = sorted(list(common_chs)) + + if not common_chs: + return None, None + + target_sfreq = raws[0].info['sfreq'] + for i, r in enumerate(raws): + raws[i].pick_channels(common_chs) + if raws[i].info['sfreq'] != target_sfreq: + raws[i].resample(target_sfreq) + raw = mne.concatenate_raws(raws) if len(raws) > 1 else raws[0] windows = preprocessor.transform(raw) @@ -461,6 +476,21 @@ def get_codes_from_descriptions(event_id, descriptions): return ManualWindowsDataset(windows_data, windows_labels) +# %% +# Plot Sample Trials +# ================== +# +# Visualize sample oddball trials from both datasets. +# +# .. image:: /_static/p3_avo_sample_trials.png +# :alt: Sample trials from P3 and AVO datasets +# :align: center +# :width: 800px +# +# The figure above shows example oddball trials from both P3 and AVO datasets, +# displaying the ERP responses across common channels (Fz, Pz, P3, P4, Oz). +# The stimulus onset occurs at t=0s. + # %% # Positional Encoding Utility # --------------------------- From 77345ce702fc6660887fe15a269216eda6c93a6b Mon Sep 17 00:00:00 2001 From: VivianChencwy <12210460@sustech.edu.cn> Date: Fri, 14 Nov 2025 12:21:48 -0800 Subject: [PATCH 3/4] update tutorial --- .../core/tutorial_P3_transfer_learning.py | 653 +++++------------- 1 file changed, 170 insertions(+), 483 deletions(-) diff --git a/examples/core/tutorial_P3_transfer_learning.py b/examples/core/tutorial_P3_transfer_learning.py index b79f33e0..57605565 100644 --- a/examples/core/tutorial_P3_transfer_learning.py +++ b/examples/core/tutorial_P3_transfer_learning.py @@ -66,90 +66,106 @@ print(f"AVO Dataset: {len(ds_avo)} recordings loaded") # %% -# Windowed Dataset Wrapper -# ------------------------ +# Event Renaming Function +# ----------------------- # -# Wrapper for windowed EEG data. - -from braindecode.preprocessing import Preprocessor - -class ManualWindowsDataset: - """Custom dataset that ensures one window per event.""" - - def __init__(self, data, labels): - self.data = data - self.labels = labels - - def __len__(self): - return len(self.data) - - def __getitem__(self, idx): - return self.data[idx], self.labels[idx] - -# %% -# Data Loading Utilities -# ---------------------- -# -# Functions for loading raw EEG data and extracting subject information from +# Simple function to rename oddball events for preprocessing import mne +import numpy as np mne.set_log_level('ERROR') -def get_dataset_subjects(dataset_type): - """Get list of subjects from dataset using EEGDashDataset.""" - dataset = ds_p3 if dataset_type == 'P3' else ds_avo - return sorted(list(set([rec.description['subject'] for rec in dataset.datasets]))) - - -def process_subject_data(subject_id, preprocessor, dataset_type='P3'): - """Process a single subject's data using EEGDashDataset. +def rename_oddball_events(raw, dataset_type='P3'): + """Rename events for oddball paradigm. - This function: - 1. Loads the raw EEG file(s) for the subject using EEGDashDataset - 2. Applies the preprocessing pipeline - 3. Returns the windowed data and labels - """ - if dataset_type == 'P3': - subject_recordings = [rec for rec in ds_p3.datasets if rec.description['subject'] == subject_id] - - if len(subject_recordings) == 0: - return None, None + Parameters + ---------- + raw : mne.io.Raw + Raw EEG data + dataset_type : str + Either 'P3' or 'AVO' - raw = subject_recordings[0].raw - raw.load_data() + Returns + ------- + mne.io.Raw + Raw object with renamed events (oddball=1, standard=0) + """ + events, event_id = mne.events_from_annotations(raw) + + if len(events) == 0: + return raw + + if dataset_type == 'AVO': + oddball_codes = [11, 22, 33, 44, 55] + response_codes = [201, 202] - else: - subject_recordings = [rec for rec in ds_avo.datasets if rec.description['subject'] == subject_id] + def get_codes_from_descriptions(event_id, descriptions): + codes = [] + for desc, code in event_id.items(): + if any(pattern in desc for pattern in descriptions): + codes.append(code) + return codes - if len(subject_recordings) == 0: - return None, None + oddball_codes = get_codes_from_descriptions(event_id, ['11', '22', '33', '44', '55']) + response_codes = get_codes_from_descriptions(event_id, ['201', '202']) + else: # P3 + oddball_codes = [1, 9, 15, 21, 27] + response_codes = [6, 7, 201, 202] + + response_mask = np.isin(events[:, 2], response_codes) + events = events[~response_mask] + + if len(events) == 0: + return raw + + unique_samples, unique_indices = np.unique(events[:, 0], return_index=True) + events = events[np.sort(unique_indices)] + + trial_start_offset_samples = int(TRIAL_START_OFFSET * raw.info["sfreq"]) + trial_stop_offset_samples = int((TRIAL_START_OFFSET + TRIAL_DURATION) * raw.info["sfreq"]) + recording_length = raw.n_times + + min_gap_samples = int(abs(TRIAL_START_OFFSET) * raw.info["sfreq"]) + int(TRIAL_DURATION * raw.info["sfreq"]) + filtered_events = [] + last_kept_sample = None + + for event in events: + event_sample = event[0] + window_start = event_sample + trial_start_offset_samples + window_stop = event_sample + trial_stop_offset_samples - raws = [recording.raw for recording in subject_recordings] - for r in raws: - r.load_data() - - if len(raws) > 1: - common_chs = set(raws[0].ch_names) - for r in raws[1:]: - common_chs = common_chs.intersection(set(r.ch_names)) - common_chs = sorted(list(common_chs)) - - if not common_chs: - return None, None - - target_sfreq = raws[0].info['sfreq'] - for i, r in enumerate(raws): - raws[i].pick_channels(common_chs) - if raws[i].info['sfreq'] != target_sfreq: - raws[i].resample(target_sfreq) + if window_start < 0 or window_stop > recording_length: + continue - raw = mne.concatenate_raws(raws) if len(raws) > 1 else raws[0] + if last_kept_sample is None or (event_sample - last_kept_sample) >= min_gap_samples: + filtered_events.append(event) + last_kept_sample = event_sample + + if len(filtered_events) == 0: + return raw + + events = np.array(filtered_events) + + oddball_mask = np.isin(events[:, 2], oddball_codes) + new_events = events.copy() + new_events[oddball_mask, 2] = 1 + new_events[~oddball_mask, 2] = 0 + + annot_from_events = mne.annotations_from_events( + events=new_events, + event_desc={0: "standard", 1: "oddball"}, + sfreq=raw.info["sfreq"], + ) + raw.set_annotations(annot_from_events) + return raw - windows = preprocessor.transform(raw) - data = windows.data - labels = windows.labels - return data, labels +# Preprocessing parameters +LOW_FREQ = 0.5 +HIGH_FREQ = 30 +RESAMPLE_FREQ = 128 +TRIAL_START_OFFSET = -0.1 # seconds before stimulus +TRIAL_DURATION = 1.1 # seconds total window # %% # Data Normalization and Augmentation @@ -200,280 +216,49 @@ def augment_data(x, noise_std=NOISE_STD, time_shift=TIME_SHIFT_RANGE): # %% -# Preprocessing Overview -# ---------------------- -# -# The preprocessing pipeline implements the 7-step harmonized approach from the -# AS-MMD paper. We'll break it down into modular components for clarity. - -# %% -# Step 1: Preprocessor Initialization -# ----------------------------------- -# -# The `OddballPreprocessor` class manages configuration for both P3 and AVO datasets. -# It handles event codes, trial budgets, and timing parameters specific to each dataset. - -# Preprocessing parameters -LOW_FREQ = 0.5 -HIGH_FREQ = 30 -RESAMPLE_FREQ = 128 -TRIAL_START_OFFSET = -0.1 # seconds before stimulus -TRIAL_DURATION = 1.1 # seconds total window - -# Artifact removal and filtering -REMOVE_ARTIFACTS = True # ICA for eye/muscle artifacts -APPLY_NOTCH_FILTER = True # Remove power line interference -BASELINE_CORRECT = True # Baseline correction using pre-stimulus interval -NOTCH_FREQS = [50, 60] # Power line frequencies (Hz) - - -RESPONSE_EVENTS_P3 = [6, 7, 201, 202] -RESPONSE_EVENTS_AVO = [201, 202] - -ODDBALL_EVENTS_P3 = [1, 9, 15, 21, 27] -ODDBALL_EVENTS_AVO = [11, 22, 33, 44, 55] - - -STANDARD_EVENTS_AVO = None # Auto-detect as non-oddball events - -# Trials per subject -TRIALS_PER_SUBJECT_P3 = 80 -TRIALS_PER_SUBJECT_AVO = 10 - -class OddballPreprocessor(Preprocessor): - """Preprocessor for oddball paradigm EEG data with balanced sampling.""" - - def __init__(self, eeg_channels, dataset_type='P3', random_seed=42): - """Initialize preprocessor with dataset-specific parameters. - - Parameters - ---------- - eeg_channels : list - List of EEG channel names to use (e.g., ['Fz', 'Pz', 'P3', 'P4', 'Oz']) - dataset_type : str - Either 'P3' or 'AVO' to select appropriate event codes - random_seed : int - Random seed for reproducible sampling - """ - super().__init__(fn=self.transform, apply_on_array=False) - self.eeg_channels = [ch.lower() for ch in eeg_channels] - self.dataset_type = dataset_type - self.random_seed = random_seed - - self.trial_start_offset_samples = int(TRIAL_START_OFFSET * RESAMPLE_FREQ) - self.trial_stop_offset_samples = int(TRIAL_DURATION * RESAMPLE_FREQ) - - if dataset_type == 'AVO': - self.response_events = RESPONSE_EVENTS_AVO - self.oddball_events = ODDBALL_EVENTS_AVO - self.standard_events = STANDARD_EVENTS_AVO # None for auto-detect - self.trials_per_class = TRIALS_PER_SUBJECT_AVO - else: # P3 - self.response_events = RESPONSE_EVENTS_P3 - self.oddball_events = ODDBALL_EVENTS_P3 - self.standard_events = None # Auto-detect for P3 - self.trials_per_class = TRIALS_PER_SUBJECT_P3 - -# %% -# Step 2: ICA Artifact Removal Method +# Braindecode Preprocessing Pipeline # ----------------------------------- # -# ICA (Independent Component Analysis) identifies and removes artifacts from EEG: -# - Eye movements (EOG) -# - Muscle activity -# - Other non-brain signals -# -# This step is critical for clean ERP analysis and follows the paper's methodology. - - def remove_artifacts_ica(self, raw_full): - """Remove eye movement and muscle artifacts using ICA. - - The process: - 1. High-pass filter at 1 Hz (recommended for ICA stability) - 2. Fit ICA to decompose signals into independent components - 3. Automatically detect artifact components using frontal channels - 4. Remove bad components and back-project to get clean data - """ - if not REMOVE_ARTIFACTS: - return raw_full - - raw_ica = raw_full.copy() - raw_ica.filter(l_freq=1.0, h_freq=None) - - n_components = min(15, len(raw_ica.ch_names) - 1) - - if n_components < 2: - return raw_full - - ica = mne.preprocessing.ICA( - n_components=n_components, - random_state=self.random_seed, - method='fastica', - max_iter=500 - ) - - ica.fit(raw_ica) - - frontal_channels = [ch for ch in raw_full.ch_names - if any(front in ch.lower() - for front in ['fp1', 'fp2', 'af3', 'af4', 'f3', 'f4', 'fz', 'fpz'])] - - eog_indices = [] - if frontal_channels: - for ch in frontal_channels[:2]: - indices, scores = ica.find_bads_eog(raw_ica, ch_name=ch, threshold=3.0) - eog_indices.extend(indices) - - eog_indices = list(set(eog_indices)) - - if eog_indices: - ica.exclude = eog_indices - raw_clean = ica.apply(raw_full.copy()) - return raw_clean - - return raw_full +# Create preprocessors for both datasets using braindecode -# %% -# Step 3: Main Transform Pipeline - Initial Setup -# ----------------------------------------------- -# -# The `transform` method orchestrates all preprocessing steps in sequence. -# First, we prepare the data: standardize channel names, set reference, and convert units. +from braindecode.preprocessing import preprocess, Preprocessor, create_windows_from_events - def transform(self, raw): - """Transform raw EEG data into balanced windowed dataset. +def create_preprocessors(eeg_channels, dataset_type='P3'): + """Create preprocessing pipeline for oddball datasets. + + Parameters + ---------- + eeg_channels : list + List of EEG channel names to use + dataset_type : str + Either 'P3' or 'AVO' - This method applies all 7 preprocessing steps in sequence. - """ + Returns + ------- + list + List of Preprocessor objects + """ + def rename_events_fn(raw): + return rename_oddball_events(raw, dataset_type=dataset_type) + + def rename_channels_fn(raw): raw.rename_channels({ch: ch.lower() for ch in raw.ch_names}) - raw.set_eeg_reference('average', projection=True) - raw_data = raw.get_data() - if np.std(raw_data) < 1e-6 and np.std(raw_data) > 0: - raw._data *= 1e6 - -# %% -# Step 4: Resampling and Filtering -# -------------------------------- -# -# Apply temporal filtering to remove unwanted frequencies: -# - Resample to 128 Hz (computational efficiency + sufficient for ERPs) -# - Notch filter at 50/60 Hz (remove power line interference) -# - Band-pass filter 0.5-30 Hz (retain ERP-relevant frequencies) - - raw.resample(RESAMPLE_FREQ) - - if APPLY_NOTCH_FILTER: - for freq in NOTCH_FREQS: - raw.notch_filter(freq, verbose=False) - - raw.filter(l_freq=LOW_FREQ, h_freq=HIGH_FREQ) - -# %% -# Step 5: Artifact Removal and Channel Selection -# ---------------------------------------------- -# -# Now we clean the data with ICA (on all channels), then select our target channels. -# ICA works best on full-channel data, so we do it before channel selection. - - raw = self.remove_artifacts_ica(raw) - - available_channels = [ch for ch in self.eeg_channels if ch in raw.ch_names] - if not available_channels: - raise ValueError(f"No requested channels found. Available: {raw.ch_names}") - raw.pick_channels(available_channels) - -# %% -# Step 6: Event Extraction and Balanced Sampling -# ---------------------------------------------- -# -# Extract stimulus events and create balanced datasets: -# - Remove response events (button presses) -# - Separate oddball (rare) from standard (frequent) stimuli -# - Sample equal numbers of each class to prevent bias - - events, event_id = mne.events_from_annotations(raw) - if len(events) == 0: - raise ValueError("No events found") - - def get_codes_from_descriptions(event_id, descriptions): - """Get event codes that match any of the description patterns.""" - codes = [] - for desc, code in event_id.items(): - if any(pattern in desc for pattern in descriptions): - codes.append(code) - return codes - - if self.dataset_type == 'AVO': - oddball_codes = get_codes_from_descriptions(event_id, ['11', '22', '33', '44', '55']) - response_codes = get_codes_from_descriptions(event_id, ['201', '202']) - else: - oddball_codes = self.oddball_events - response_codes = self.response_events - - response_mask = np.isin(events[:, 2], response_codes) - events = events[~response_mask] - - if len(events) > 0: - events = events[:-1] - - oddball_mask = np.isin(events[:, 2], oddball_codes) - oddball_events = events[oddball_mask] - standard_events = events[~oddball_mask] - - if len(oddball_events) == 0 or len(standard_events) == 0: - raise ValueError(f"Missing events: oddball={len(oddball_events)}, standard={len(standard_events)}") - - np.random.seed(self.random_seed) - n_trials = min(len(oddball_events), len(standard_events), self.trials_per_class) - - oddball_indices = np.random.choice(len(oddball_events), size=n_trials, replace=False) - standard_indices = np.random.choice(len(standard_events), size=n_trials, replace=False) - - selected_oddball = oddball_events[oddball_indices] - selected_standard = standard_events[standard_indices] - - selected_events = np.vstack([selected_oddball, selected_standard]) - labels = np.concatenate([np.ones(n_trials), np.zeros(n_trials)]).astype(int) - -# %% -# Step 7: Epoching (Windowing) -# ---------------------------- -# -# Extract time-locked windows around each stimulus: -# - Window: -100ms to +1000ms relative to stimulus onset -# - Pre-stimulus interval will be used for baseline correction - - raw_data = raw.get_data() - windows_data = [] - windows_labels = [] - - for i, (event_sample, _, _) in enumerate(selected_events): - start_sample = event_sample + self.trial_start_offset_samples - end_sample = event_sample + self.trial_stop_offset_samples - - if start_sample >= 0 and end_sample <= raw_data.shape[1]: - window_data = raw_data[:, start_sample:end_sample] - windows_data.append(window_data) - windows_labels.append(labels[i]) - - windows_data = np.array(windows_data) - windows_labels = np.array(windows_labels) + return raw + + preprocessors = [ + Preprocessor(rename_events_fn, apply_on_array=False), + Preprocessor(rename_channels_fn, apply_on_array=False), + Preprocessor("set_eeg_reference", ref_channels='average', projection=True), + Preprocessor("resample", sfreq=RESAMPLE_FREQ), + Preprocessor("filter", l_freq=LOW_FREQ, h_freq=HIGH_FREQ), + Preprocessor("pick_channels", ch_names=[ch.lower() for ch in eeg_channels], ordered=False), + ] + + return preprocessors -# %% -# Step 8: Baseline Correction -# --------------------------- -# -# Subtract the pre-stimulus baseline (-100ms to 0ms) from each trial. -# This removes slow drifts and ensures we're measuring stimulus-evoked responses. - - if BASELINE_CORRECT: - baseline_end_idx = abs(self.trial_start_offset_samples) if self.trial_start_offset_samples < 0 else 0 - - if baseline_end_idx > 0: - baseline_mean = np.mean(windows_data[:, :, :baseline_end_idx], axis=2, keepdims=True) - windows_data = windows_data - baseline_mean - - return ManualWindowsDataset(windows_data, windows_labels) +# Trials per subject for sampling +TRIALS_PER_SUBJECT_P3 = 80 +TRIALS_PER_SUBJECT_AVO = 10 # %% @@ -492,129 +277,33 @@ def get_codes_from_descriptions(event_id, descriptions): # The stimulus onset occurs at t=0s. # %% -# Positional Encoding Utility -# --------------------------- +# Deep Learning Model: EEGConformer from Braindecode +# --------------------------------------------------- # -# Sine-cosine positional encodings added to the token sequence before entering -# the Transformer, enabling the model to represent temporal order. +# Import the EEGConformer model from braindecode library -import math import torch import torch.nn as nn - -COMMON_CHANNELS = ['Fz', 'Pz', 'P3', 'P4', 'Oz'] - -class PositionalEncoding(nn.Module): - """Positional encoding for transformer layers.""" - - def __init__(self, d_model, max_len=5000): - super().__init__() - pe = torch.zeros(max_len, d_model) - position = torch.arange(0, max_len).unsqueeze(1).float() - - div_term = torch.exp(torch.arange(0, d_model, 2).float() * - -(math.log(10000.0) / d_model)) - - pe[:, 0::2] = torch.sin(position * div_term) - pe[:, 1::2] = torch.cos(position * div_term) - pe = pe.unsqueeze(0) - - self.register_buffer('pe', pe) - - def forward(self, x): - return x + self.pe[:, :x.size(1)] - -# %% -# Deep Learning Model: EEGConformer -# ---------------------------------- -# -# Combines CNN layers (temporal + spatial) with a Transformer encoder and a -# lightweight classification head for ERP decoding. - import torch.nn.functional as F -CONFORMER_CONV_SPATIAL_DIM = 68 -CONFORMER_CONV_TEMPORAL_DIM = 44 -CONFORMER_EMBEDDING_DIM = 68 -CONFORMER_NUM_HEADS = 4 -CONFORMER_NUM_LAYERS = 5 -DROPOUT_RATE = 0.18 - -class EEGConformer(nn.Module): - """EEGConformer: CNN + Transformer for EEG classification.""" - - def __init__(self, n_chans, n_outputs, n_times, - conv_spatial_dim=40, conv_temporal_dim=25, - embedding_dim=40, num_heads=10, num_layers=3, - dropout=0.5, activation='gelu'): - super().__init__() - self.n_chans = n_chans - self.n_outputs = n_outputs - self.n_times = n_times - self.embedding_dim = embedding_dim - - self.temporal_conv = nn.Conv2d(1, conv_temporal_dim, (1, 25), padding=(0, 12)) - self.temporal_bn = nn.BatchNorm2d(conv_temporal_dim) - - self.spatial_conv = nn.Conv2d(conv_temporal_dim, conv_spatial_dim, (n_chans, 1)) - self.spatial_bn = nn.BatchNorm2d(conv_spatial_dim) - - self.avg_pool = nn.AvgPool2d((1, 4), (1, 4)) - self.dropout = nn.Dropout(dropout) - - seq_length = n_times // 4 - - self.projection = nn.Linear(conv_spatial_dim, embedding_dim) - self.pos_encoding = PositionalEncoding(embedding_dim, max_len=seq_length) - - encoder_layer = nn.TransformerEncoderLayer( - d_model=embedding_dim, - nhead=num_heads, - dim_feedforward=embedding_dim * 4, - dropout=dropout, - activation=activation, - batch_first=True - ) - self.transformer = nn.TransformerEncoder(encoder_layer, num_layers=num_layers) - - self.classifier = nn.Sequential( - nn.AdaptiveAvgPool1d(1), - nn.Flatten(), - nn.Linear(embedding_dim, n_outputs) - ) - - def forward(self, x): - x = x.unsqueeze(1) # (batch, 1, n_chans, n_times) - x = self.temporal_conv(x) - x = self.temporal_bn(x) - x = F.elu(x) - x = self.spatial_conv(x) - x = self.spatial_bn(x) - x = F.elu(x) - x = self.dropout(x) - x = self.avg_pool(x) - x = x.squeeze(2).transpose(1, 2) # (batch, seq_len, conv_spatial_dim) - x = self.projection(x) - x = self.pos_encoding(x) - x = self.transformer(x) - x = x.transpose(1, 2) # (batch, embedding_dim, seq_len) - x = self.classifier(x) - return x +COMMON_CHANNELS = ['Fz', 'Pz', 'P3', 'P4', 'Oz'] +from braindecode.models import EEGConformer def create_model(n_channels, n_times): - """Create EEGConformer model with configured hyperparameters.""" + """Create EEGConformer model from braindecode.""" return EEGConformer( n_chans=n_channels, n_outputs=2, n_times=n_times, - conv_spatial_dim=CONFORMER_CONV_SPATIAL_DIM, - conv_temporal_dim=CONFORMER_CONV_TEMPORAL_DIM, - embedding_dim=CONFORMER_EMBEDDING_DIM, - num_heads=CONFORMER_NUM_HEADS, - num_layers=CONFORMER_NUM_LAYERS, - dropout=DROPOUT_RATE, - activation='gelu' + n_filters_time=40, + filter_time_length=25, + pool_time_length=75, + pool_time_stride=15, + drop_prob=0.5, + att_depth=3, + att_heads=4, + att_drop_prob=0.5, ) @@ -802,57 +491,56 @@ def stratified_sample_trials(data, labels, n_trials, random_seed): # Combined Loaders (P3 + AVO) # --------------------------- # -# Load both datasets, apply stratified sampling per subject, and combine. - - +# Load both datasets using braindecode preprocessing on each raw recording. def load_combined_arrays(channels): - """Load and combine P3 and AVO datasets with stratified sampling using EEGDashDataset.""" + """Load and combine P3 and AVO datasets using braindecode preprocessing.""" X_list = [] y_list = [] src_list = [] for dataset_name in ['P3', 'AVO']: print(f"\nProcessing {dataset_name} dataset...") - if dataset_name == 'P3': - subjects = get_dataset_subjects('P3') - n_trials_ps = TRIALS_PER_SUBJECT_P3 - else: - subjects = get_dataset_subjects('AVO') - n_trials_ps = TRIALS_PER_SUBJECT_AVO - - print(f"Found {len(subjects)} subjects: {subjects[:5]}..." if len(subjects) > 5 else f"Found {len(subjects)} subjects: {subjects}") - preproc = OddballPreprocessor(channels, dataset_type=dataset_name) - - successful_subjects = 0 - for s in subjects: - data, labels = process_subject_data(s, preproc, dataset_type=dataset_name) - if data is None or labels is None or len(data) == 0: - continue - - successful_subjects += 1 - if len(data) > n_trials_ps: - data, labels = stratified_sample_trials(data, labels, n_trials_ps, SEEDS[0]) - - X_list.append(data) - y_list.append(labels) - src_list.append(np.array([dataset_name] * len(labels))) + dataset = ds_p3 if dataset_name == 'P3' else ds_avo + + preprocessors = create_preprocessors(channels, dataset_type=dataset_name) + + print(f"Applying preprocessing to {len(dataset.datasets)} recordings...") + preprocess(dataset, preprocessors) + + trial_start_offset_samples = int(TRIAL_START_OFFSET * RESAMPLE_FREQ) + trial_stop_offset_samples = int((TRIAL_START_OFFSET + TRIAL_DURATION) * RESAMPLE_FREQ) + + windows_ds = create_windows_from_events( + dataset, + trial_start_offset_samples=trial_start_offset_samples, + trial_stop_offset_samples=trial_stop_offset_samples, + window_size_samples=None, + window_stride_samples=None, + preload=True, + drop_bad_windows=True, + ) + + for i in range(len(windows_ds)): + window_data, window_label, *_ = windows_ds[i] + X_list.append(window_data) + y_list.append(window_label) + src_list.append(dataset_name) - print(f"Successfully loaded {successful_subjects}/{len(subjects)} subjects from {dataset_name}") - if successful_subjects > 0: - total_trials = sum(len(src) for src in src_list if src[0] == dataset_name) - print(f"Total trials from {dataset_name}: {total_trials}") + print(f"Extracted {len([s for s in src_list if s == dataset_name])} windows from {dataset_name}") if not X_list: raise RuntimeError("No valid data loaded") - X_all = np.concatenate(X_list, axis=0) - y_all = np.concatenate(y_list, axis=0) - src_all = np.concatenate(src_list, axis=0) + X_all = np.array(X_list) + y_all = np.array(y_list) + src_all = np.array(src_list) print(f"\nFinal dataset: {len(X_all)} total trials") print(f" P3: {np.sum(src_all=='P3')} trials") print(f" AVO: {np.sum(src_all=='AVO')} trials") + if len(X_all) > 0: + print(f" Data shape: {X_all.shape} (n_trials, n_chans, n_times)") return X_all, y_all, src_all @@ -1005,7 +693,6 @@ def evaluate_with_metrics(model, loader, device): all_preds, all_targets, all_probs = map(np.array, [all_preds, all_targets, all_probs]) - # Calculate metrics cm = confusion_matrix(all_targets, all_preds) if cm.shape == (2, 2): tn, fp, fn, tp = cm.ravel() From 5caa19855e3398f0c2f5a9211bf37c9c1795b083 Mon Sep 17 00:00:00 2001 From: VivianChencwy <12210460@sustech.edu.cn> Date: Fri, 14 Nov 2025 12:38:39 -0800 Subject: [PATCH 4/4] update p3 tutorial --- .../core/tutorial_P3_transfer_learning.py | 28 +++++-------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/examples/core/tutorial_P3_transfer_learning.py b/examples/core/tutorial_P3_transfer_learning.py index 57605565..a209a55d 100644 --- a/examples/core/tutorial_P3_transfer_learning.py +++ b/examples/core/tutorial_P3_transfer_learning.py @@ -76,20 +76,6 @@ mne.set_log_level('ERROR') def rename_oddball_events(raw, dataset_type='P3'): - """Rename events for oddball paradigm. - - Parameters - ---------- - raw : mne.io.Raw - Raw EEG data - dataset_type : str - Either 'P3' or 'AVO' - - Returns - ------- - mne.io.Raw - Raw object with renamed events (oddball=1, standard=0) - """ events, event_id = mne.events_from_annotations(raw) if len(events) == 0: @@ -160,13 +146,6 @@ def get_codes_from_descriptions(event_id, descriptions): return raw -# Preprocessing parameters -LOW_FREQ = 0.5 -HIGH_FREQ = 30 -RESAMPLE_FREQ = 128 -TRIAL_START_OFFSET = -0.1 # seconds before stimulus -TRIAL_DURATION = 1.1 # seconds total window - # %% # Data Normalization and Augmentation # ----------------------------------- @@ -223,6 +202,13 @@ def augment_data(x, noise_std=NOISE_STD, time_shift=TIME_SHIFT_RANGE): from braindecode.preprocessing import preprocess, Preprocessor, create_windows_from_events +# Preprocessing parameters +LOW_FREQ = 0.5 +HIGH_FREQ = 30 +RESAMPLE_FREQ = 128 +TRIAL_START_OFFSET = -0.1 # seconds before stimulus +TRIAL_DURATION = 1.1 # seconds total window + def create_preprocessors(eeg_channels, dataset_type='P3'): """Create preprocessing pipeline for oddball datasets.