├── bw_linker ├── __init__.py ├── utils │ ├── __init__.py │ └── helpers.py ├── pls_pipeline │ ├── __init__.py │ └── pls_utils.py ├── visualization │ ├── __init__.py │ └── get_wandb_mapping.py ├── brain_wave_pipeline │ ├── __init__.py │ ├── criterions.py │ └── train_model.py └── data_preprocessing │ └── __init__.py ├── .gitignore ├── requirements.txt ├── LICENSE └── configs └── subcort ├── delay-0 ├── sub-04-train.json ├── sub-07-train.json ├── sub-08-train.json ├── sub-10-train.json ├── sub-11-train.json ├── sub-12-train.json ├── sub-13-train.json ├── sub-14-train.json ├── sub-15-train.json ├── sub-16-train.json ├── sub-19-train.json ├── sub-20-train.json ├── sub-21-train.json └── sub-22-train.json ├── delay-1 ├── sub-04-train.json ├── sub-07-train.json ├── sub-08-train.json ├── sub-10-train.json ├── sub-11-train.json ├── sub-12-train.json ├── sub-13-train.json ├── sub-14-train.json ├── sub-15-train.json ├── sub-16-train.json ├── sub-19-train.json ├── sub-20-train.json ├── sub-21-train.json └── sub-22-train.json └── delay-10 ├── sub-04-train.json ├── sub-07-train.json ├── sub-08-train.json ├── sub-10-train.json ├── sub-11-train.json ├── sub-12-train.json ├── sub-13-train.json └── sub-14-train.json /bw_linker/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bw_linker/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bw_linker/pls_pipeline/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bw_linker/visualization/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bw_linker/brain_wave_pipeline/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /bw_linker/data_preprocessing/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /NaturalViewingDataset/ 2 | /pls_logs/ 3 | /visualizations/ 4 | /wandb_logs/ 5 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | joblib==1.4.2 2 | lightning==2.4.0 3 | matplotlib==3.9.2 4 | mne==1.8.0 5 | numpy==1.26.4 6 | pandas==2.2.3 7 | scikit-learn==1.5.2 8 | scipy==1.14.1 9 | seaborn==0.13.2 10 | skl2onnx==1.17.0 11 | torch==2.5.1 12 | tqdm==4.67.0 13 | wandb==0.18.5 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 NeuroInterfaces 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /bw_linker/brain_wave_pipeline/criterions.py: -------------------------------------------------------------------------------- 1 | import torch 2 | import torch.nn as nn 3 | 4 | 5 | class NegativeCorrelation(nn.Module): 6 | """ 7 | An implementation of the Negative Correlation in PyTorch. Intended to be used as a loss function 8 | 9 | Parameters 10 | ---------- 11 | dim : int 12 | A dimension over which the correlation is supposed to be computed. Expected input size to module is 13 | (batch, n_rois, n_times). Default: -1 14 | eps : float 15 | Small value to avoid division by 0. Default: 1e-6 16 | """ 17 | def __init__(self, dim: int = -1, eps: float = 1e-6): 18 | super().__init__() 19 | self.cos = nn.CosineSimilarity(dim=dim, eps=eps) 20 | self.dim = dim 21 | 22 | def forward(self, predictions, targets): 23 | pearson = self.cos(predictions - predictions.mean(dim=self.dim, keepdim=True), 24 | targets - targets.mean(dim=self.dim, keepdim=True)) 25 | return -1. * torch.mean(pearson) 26 | 27 | 28 | def build_criterion(criterion_name: str, criterion_kwargs: dict): 29 | """ 30 | Initializes a criterion (loss function) and returns it 31 | 32 | Parameters 33 | ---------- 34 | criterion_name : str 35 | A name of the required criterion 36 | criterion_kwargs : dict 37 | A dict with keyword arguments for a desired criterion 38 | 39 | Returns 40 | ------- 41 | criterion : torch.nn.Module 42 | An initialized criterion 43 | """ 44 | if criterion_name == 'MSELoss': 45 | criterion = nn.MSELoss(**criterion_kwargs) 46 | elif criterion_name == 'L1Loss': 47 | criterion = nn.MSELoss(**criterion_kwargs) 48 | elif criterion_name == 'NegativeCorrelation': 49 | criterion = NegativeCorrelation(**criterion_kwargs) 50 | else: 51 | raise NotImplementedError 52 | return criterion 53 | -------------------------------------------------------------------------------- /bw_linker/brain_wave_pipeline/train_model.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import copy 3 | import os 4 | import traceback 5 | 6 | import mne 7 | 8 | from bw_linker.brain_wave_pipeline.training_pipeline import run_full_pipeline 9 | from bw_linker.utils.constants import ALL_SUBJECTS, PROJECT_ROOT 10 | from bw_linker.utils.helpers import load_json 11 | 12 | 13 | def run_experiment(): 14 | """ 15 | Train EEG-based fMRI Digital Twin model 16 | """ 17 | mne.set_log_level('WARNING') 18 | 19 | args = parse_arguments() 20 | json_config_root = args.config_root 21 | subjects = args.subjects 22 | delays = args.delays 23 | for subject in subjects: 24 | for delay in delays: 25 | try: 26 | json_config_path = os.path.join(json_config_root, f'delay-{delay}', f'sub-{subject}-train.json') 27 | print(f'Processing {json_config_path} config!') 28 | full_config = load_json(json_path=json_config_path) 29 | 30 | iter_config = copy.deepcopy(full_config) 31 | 32 | config = iter_config['config'] 33 | 34 | model_config = iter_config['model_config'] 35 | 36 | sampler_configs = iter_config['sampler_configs'] 37 | 38 | dataloader_configs = iter_config['dataloader_configs'] 39 | 40 | criterion_config = iter_config['criterion_config'] 41 | 42 | optimizer_config = iter_config['optimizer_config'] 43 | 44 | scheduler_config = iter_config['scheduler_config'] 45 | 46 | trainer_config = iter_config['trainer_config'] 47 | 48 | wandb_kwargs = iter_config['wandb_kwargs'] 49 | 50 | run_full_pipeline( 51 | config=config, criterion_config=criterion_config, optimizer_config=optimizer_config, 52 | scheduler_config=scheduler_config, trainer_config=trainer_config, 53 | sampler_configs=sampler_configs, 54 | dataloader_configs=dataloader_configs, 55 | wandb_kwargs=wandb_kwargs, project_root=PROJECT_ROOT, 56 | model_config=model_config 57 | ) 58 | except Exception: 59 | traceback.print_exc() 60 | 61 | 62 | def parse_arguments(): 63 | parser = argparse.ArgumentParser(description='EEG based fMRI Digital Twin') 64 | 65 | parser.add_argument( 66 | '--config-root', type=str, 67 | help='Path to a directory with config json files', 68 | required=True 69 | ) 70 | parser.add_argument( 71 | '--subjects', type=str, nargs='+', help='IDs of subjects to use.', 72 | required=False, default=ALL_SUBJECTS 73 | ) 74 | parser.add_argument( 75 | '--delays', type=int, nargs='+', help='Delays to use.', 76 | required=False, default=list(range(0, 16)) 77 | ) 78 | 79 | return parser.parse_args() 80 | 81 | 82 | if __name__ == '__main__': 83 | run_experiment() 84 | -------------------------------------------------------------------------------- /bw_linker/visualization/get_wandb_mapping.py: -------------------------------------------------------------------------------- 1 | import argparse 2 | import os 3 | from pathlib import Path 4 | 5 | import wandb 6 | 7 | from bw_linker.utils.constants import ALL_SUBJECTS, PROJECT_ROOT 8 | from bw_linker.utils.helpers import run_name_from_parameters, load_json, save_json 9 | 10 | 11 | def get_wandb_paths(delays: list[int], subjects: list[str], suffixes: list[str], entity: str, 12 | project_name: str = 'EEG-BOLD-Decoding'): 13 | """ 14 | Returns dictionary with run name and run id correspondence 15 | 16 | Parameters 17 | ---------- 18 | delays : list[int] 19 | A list of delays to include 20 | subjects : list[str] 21 | A list of subjects to include 22 | suffixes : list[str] 23 | A list of suffixes which to include (e.g. 'Subcort', 'SubcortTrend', ...) 24 | entity : str 25 | A name of the Weights and Biases entity 26 | project_name : str 27 | A name of the Weights and Biases project. Default: 'EEG-BOLD-Decoding' 28 | 29 | Returns 30 | ------- 31 | matched_runs : dict 32 | A dictionary with runs information matched as {run_suffix: {run_delay: {run_sub: run_id}}} structure 33 | """ 34 | api = wandb.Api() 35 | runs = api.runs(f'{entity}/{project_name}') 36 | allowed_runs = {} 37 | matched_runs = {} 38 | for suffix in suffixes: 39 | matched_runs[suffix] = {} 40 | for delay in delays: 41 | matched_runs[suffix][delay] = {} 42 | for sub in subjects: 43 | matched_runs[suffix][delay][sub] = None 44 | allowed_runs[run_name_from_parameters(delay=delay, sub=sub, suffix=suffix)] = (delay, sub, suffix) 45 | 46 | for run in runs: 47 | run_name = run.name 48 | if run_name in allowed_runs: 49 | delay, sub, suffix = allowed_runs[run_name] 50 | matched_runs[suffix][delay][sub] = run.id 51 | return matched_runs 52 | 53 | 54 | def load_wandb_mapping(): 55 | """ 56 | Loads and returns a flat dictionary with experiment parameters mapped to its Weights and Biases run identifiers 57 | 58 | Returns 59 | ------- 60 | matched_runs_flat : dict 61 | A dictionary with runs information matched as {(run_delay, run_sub, run_suffix): run_id} key-value pairs 62 | """ 63 | matched_runs = load_json(os.path.join(PROJECT_ROOT, 'visualizations', 'wandb_mapping.json')) 64 | matched_runs_flat = {} 65 | for suffix, suffix_runs in matched_runs.items(): 66 | for delay, delay_runs in suffix_runs.items(): 67 | assert delay.isdigit(), delay 68 | delay = int(delay) 69 | for sub, run_id in delay_runs.items(): 70 | matched_runs_flat[(delay, sub, suffix)] = run_id 71 | return matched_runs_flat 72 | 73 | 74 | def parse_arguments(): 75 | parser = argparse.ArgumentParser(description='Plot topographies for BrainWaveLinker spatial filters.') 76 | 77 | parser.add_argument( 78 | '--subjects', type=str, nargs='+', help='IDs of subjects to use.', 79 | required=False, default=ALL_SUBJECTS 80 | ) 81 | parser.add_argument( 82 | '--delays', type=int, nargs='+', help='Delays to use.', 83 | required=False, default=list(range(0, 16)) 84 | ) 85 | parser.add_argument( 86 | '--suffixes', type=str, help='Experiment suffixes to use.', required=False, 87 | default=('SubcortTrend', 'Subcort', 'CortTrend', 'Cort') 88 | ) 89 | parser.add_argument( 90 | '-e', '--entity', type=str, help='Name of the entity in the Weights and Biases.', 91 | required=True 92 | ) 93 | parser.add_argument( 94 | '--project-name', type=str, help='Name of the project in Weights and Biases.', required=False, 95 | default='EEG-BOLD-Decoding' 96 | ) 97 | 98 | return parser.parse_args() 99 | 100 | 101 | if __name__ == '__main__': 102 | args = parse_arguments() 103 | 104 | matched_runs = get_wandb_paths( 105 | delays=args.delays, subjects=args.subjects, suffixes=args.suffixes, entity=args.entity, 106 | project_name=args.project_name 107 | ) 108 | save_dir = os.path.join(PROJECT_ROOT, 'visualizations') 109 | Path(save_dir).mkdir(parents=True, exist_ok=True) 110 | save_json(save_path=os.path.join(save_dir, 'wandb_mapping.json'), data=matched_runs) 111 | -------------------------------------------------------------------------------- /bw_linker/pls_pipeline/pls_utils.py: -------------------------------------------------------------------------------- 1 | import datetime 2 | import os 3 | from pathlib import Path 4 | from typing import Optional 5 | 6 | import numpy as np 7 | import scipy.signal as sn 8 | 9 | 10 | def get_results_folder(project_root: str, experiment_type: str, proj_name: str): 11 | """ 12 | Get a folder for PLS experiment results 13 | 14 | Parameters 15 | ---------- 16 | project_root : str 17 | A path to the root of the project 18 | experiment_type : str 19 | A type of the experiment (used to create subfolder with this name for results) 20 | proj_name : str 21 | A name of an experiment 22 | 23 | Returns 24 | ------- 25 | save_root : str 26 | A path to a saving folder 27 | """ 28 | now = str(datetime.datetime.now()) 29 | date, time = now.split(' ') 30 | time = time.split('.')[0] 31 | time = '-'.join(time.split(':')) 32 | save_root_base = os.path.join(project_root, 'pls_logs', experiment_type, proj_name, date, time) 33 | save_root = save_root_base 34 | idx = 0 35 | while Path(save_root).exists(): 36 | save_root = save_root_base + f'-v{idx}' 37 | idx += 1 38 | Path(save_root).mkdir(parents=True, exist_ok=False) 39 | return save_root 40 | 41 | 42 | def bandpower(signal: np.ndarray, fs: int, band: tuple[int, int]): 43 | """ 44 | Computes signal bandpower over a set band. Implementation imitates Matlab bandpower function as 45 | (Singer et al., 2023) were using a Matlab bandpower 46 | 47 | Parameters 48 | ---------- 49 | signal : np.ndarray 50 | An EEG signal, shape (n_channels, n_times) 51 | fs : int 52 | Sampling rate 53 | band : tuple[int, int] 54 | A tuple or list of 2 ints with low and high frequency of the desired band 55 | 56 | Returns 57 | ------- 58 | bandpow : float 59 | Bandpower value 60 | """ 61 | n = signal.shape[-1] 62 | win = sn.windows.hamming(M=n, sym=True) 63 | f, Pxx = sn.periodogram(x=signal, fs=fs, window=win, nfft=n, axis=-1) 64 | freq_indices = np.where((f >= band[0]) & (f <= band[1]))[0] 65 | width = np.diff(f, axis=-1, append=0) 66 | pwr = width[freq_indices] @ Pxx[:, freq_indices].T 67 | return pwr 68 | 69 | 70 | def flatten_eeg(eeg: np.ndarray, ch_axis: int = 2, eeg_ch_names: Optional[list[str]] = None): 71 | """ 72 | Flattens EEG features and records correspondence of channels to indices 73 | 74 | Parameters 75 | ---------- 76 | eeg : np.ndarray 77 | EEG features time series 78 | ch_axis : int 79 | Axis corresponding to channels 80 | eeg_ch_names : list[str] or None 81 | A list of names of EEG channels in order of appearance in eeg array. If None, creates '0', '1', '2', ... as 82 | names 83 | 84 | Returns 85 | ------- 86 | eeg2 : np.ndarray 87 | Flattened EEG features array 88 | orig_indices : list 89 | A list where 1d index of a current feature corresponds to the 3d index of an original feature 90 | indices_per_channel : dict 91 | A dictionary with channel names as keys and list of indices of EEG features which refer to this channel as 92 | values 93 | """ 94 | if eeg_ch_names is None: 95 | eeg_ch_names = [str(ch_idx) for ch_idx in range(eeg.shape[ch_axis])] 96 | 97 | # n_bands, n_shifts, n_channels, shifted_n_times 98 | eeg2 = eeg.reshape(eeg.shape[0] * eeg.shape[1] * eeg.shape[2], eeg.shape[3]) 99 | assert eeg2.shape[-1] == eeg.shape[-1], (eeg2.shape, eeg.shape) 100 | orig_shape = eeg.shape[:-1] 101 | n_times = eeg.shape[-1] 102 | orig_indices = [] 103 | indices_per_channel = {ch_idx: [] for ch_idx in eeg_ch_names} 104 | for idx in range(eeg2.shape[0]): 105 | orig_idx = np.unravel_index(idx, orig_shape) 106 | orig_indices.append(orig_idx) 107 | indices_per_channel[eeg_ch_names[orig_idx[ch_axis]]].append(idx) 108 | for t_idx in range(n_times): 109 | assert eeg2[idx, t_idx] == eeg[:, :, :, t_idx][orig_idx], (idx, orig_idx, t_idx, eeg2[idx, t_idx], 110 | eeg[:, :, :, t_idx][orig_idx]) 111 | 112 | new_shape = (np.prod(eeg.shape[:-2]), eeg.shape[-1]) 113 | for ch_idx, new_indices in indices_per_channel.items(): 114 | assert np.equal( 115 | eeg2[new_indices, :], np.take(eeg, eeg_ch_names.index(ch_idx), axis=ch_axis).reshape(new_shape) 116 | ).all() 117 | 118 | return eeg2, orig_indices, indices_per_channel 119 | -------------------------------------------------------------------------------- /bw_linker/utils/helpers.py: -------------------------------------------------------------------------------- 1 | import json 2 | import math 3 | import os 4 | from typing import Optional 5 | 6 | import numpy as np 7 | 8 | 9 | def run_name_from_parameters(delay: int, sub: str, suffix: str): 10 | """ 11 | Return a run name from its core parameters 12 | 13 | Parameters 14 | ---------- 15 | delay : int 16 | Delay used in the run 17 | sub : str 18 | Subject in the run 19 | suffix : str 20 | A suffix of the run name (e.g. Subcort, SubcortTrend, ...) 21 | 22 | Returns 23 | ------- 24 | run_name : str 25 | A name of the run 26 | """ 27 | return f'Delay{delay}Sub{sub}{suffix}' 28 | 29 | 30 | def get_run_name(run_id: str): 31 | """ 32 | Return the name of the run from path to fMRI file 33 | 34 | Parameters 35 | ---------- 36 | run_id : str 37 | Path to the fMRI file 38 | 39 | Returns 40 | ------- 41 | run_name : str 42 | Name of the run associated with the file 43 | """ 44 | return os.path.splitext(os.path.basename(run_id))[0] 45 | 46 | 47 | def is_integer_with_custom_precision(num: float, eps: float = 1e-6, int_value: Optional[int] = None): 48 | """ 49 | Checks if num is an integer equal to int_value with set precision 50 | 51 | Parameters 52 | ---------- 53 | num : float 54 | A float which should be checked for being a whole number int_value 55 | eps : float 56 | A precision level. Default: 1e-6 57 | int_value : int or None 58 | A whole number which float num is checked for being. If None, int(num) is used. Default: None 59 | 60 | Returns 61 | ------- 62 | check_result : bool 63 | True if num == int_value, False otherwise 64 | int_value : int 65 | An int whole number that num was checked against 66 | """ 67 | if int_value is None: 68 | int_value = int(num) 69 | return abs(int_value - num) < eps, int_value 70 | 71 | 72 | def normalize_time_series(series: np.ndarray, axis: Optional[int], keepdims: bool = True): 73 | """ 74 | Normalizes time-series over desired axis 75 | 76 | Parameters 77 | ---------- 78 | series : np.ndarray 79 | Time-series 80 | axis : int or None 81 | Axis for normalization 82 | keepdims : bool 83 | If True means and standard deviations will keep dimensions of the series. Default: True 84 | 85 | Returns 86 | ------- 87 | normalized_series : np.ndarray 88 | Normalized time-series 89 | """ 90 | return (series - np.mean(series, axis=axis, keepdims=keepdims)) / np.std(series, axis=axis, keepdims=keepdims) 91 | 92 | 93 | def get_window_sizes_sample(size_sec: float, sampling_rate: int): 94 | """ 95 | Get a size of the window in samples 96 | 97 | Parameters 98 | ---------- 99 | size_sec : float 100 | A size of the window in seconds 101 | sampling_rate : int 102 | Sampling rate 103 | 104 | Returns 105 | ------- 106 | window_size : int 107 | A size of the window in samples 108 | """ 109 | return math.ceil(size_sec * sampling_rate) 110 | 111 | 112 | def load_json(json_path: str, encoding: Optional[str] = None): 113 | """ 114 | Loads a json file into a dict 115 | 116 | Parameters 117 | ---------- 118 | json_path : str 119 | A path to the json file 120 | encoding : str or None 121 | A specific encoding to use while reading json. If None, uses default encoder. Default: None 122 | 123 | Returns 124 | ------- 125 | jsf : dict 126 | json file as a dict 127 | """ 128 | if encoding is None: 129 | with open(json_path) as f: 130 | jsf = json.load(f) 131 | else: 132 | with open(json_path, encoding=encoding) as f: 133 | jsf = json.load(f) 134 | return jsf 135 | 136 | 137 | def save_json(save_path: str, data: dict): 138 | """ 139 | Save a dict into a json file 140 | 141 | Parameters 142 | ---------- 143 | save_path : str 144 | A path to save file 145 | data : dict 146 | A dict with data to be saved 147 | """ 148 | with open(save_path, 'w', encoding='utf-8') as f: 149 | json.dump(data, f, ensure_ascii=False, indent=4) 150 | 151 | 152 | def print_wrapped_text(header_text, main_body, wrap_length=71, wrap_symbol='#'): 153 | """ 154 | Prints a header wrapped around into a wrap_symbol and the main_body afterward 155 | 156 | Parameters 157 | ---------- 158 | header_text : str 159 | A header of the text 160 | main_body : Any 161 | A main body of the text 162 | wrap_length : int 163 | A length of a line in characters. Default: 71 164 | wrap_symbol : str 165 | A symbol to use for wrapping. Default: '#' 166 | """ 167 | assert len(header_text) < wrap_length, (len(header_text), wrap_length) 168 | if ((wrap_length - len(header_text) - 2) % 2) == 1: 169 | wrap_length += 1 170 | sides = (wrap_length - len(header_text) - 2) // 2 171 | new_text = ((wrap_length * wrap_symbol) + '\n' + (sides * wrap_symbol) + ' ' + header_text + ' ' 172 | + (sides * wrap_symbol) + '\n' + (wrap_length * wrap_symbol)) 173 | print(new_text) 174 | print(main_body) 175 | print(wrap_length * wrap_symbol) 176 | -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-04-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "04" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub04Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-07-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "07" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub07Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-08-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "08" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub08Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-10-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "10" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub10Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-11-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "11" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub11Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-12-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "12" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub12Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-13-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "13" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub13Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-14-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "14" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub14Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-15-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "15" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub15Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-16-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "16" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub16Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-19-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "19" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub19Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-20-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "20" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub20Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-21-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "21" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub21Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-0/sub-22-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 0, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "22" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay0Sub22Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-04-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "04" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub04Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-07-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "07" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub07Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-08-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "08" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub08Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-10-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "10" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub10Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-11-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "11" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub11Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-12-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "12" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub12Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-13-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "13" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub13Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-14-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "14" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub14Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-15-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "15" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub15Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-16-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "16" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub16Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-19-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "19" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub19Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-20-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "20" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub20Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-21-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "21" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub21Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-1/sub-22-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 1, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "22" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay1Sub22Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-10/sub-04-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 10, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "04" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay10Sub04Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-10/sub-07-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 10, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "07" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay10Sub07Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-10/sub-08-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 10, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "08" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay10Sub08Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-10/sub-10-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 10, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "10" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay10Sub10Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-10/sub-11-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 10, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "11" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay10Sub11Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-10/sub-12-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 10, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "12" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay10Sub12Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-10/sub-13-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 10, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "13" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay10Sub13Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } -------------------------------------------------------------------------------- /configs/subcort/delay-10/sub-14-train.json: -------------------------------------------------------------------------------- 1 | { 2 | "config": { 3 | "eeg_channels": [ 4 | "AF3", 5 | "AF4", 6 | "AF7", 7 | "AF8", 8 | "C1", 9 | "C2", 10 | "C3", 11 | "C4", 12 | "C5", 13 | "C6", 14 | "CP1", 15 | "CP2", 16 | "CP3", 17 | "CP4", 18 | "CP5", 19 | "CP6", 20 | "CPz", 21 | "Cz", 22 | "F1", 23 | "F2", 24 | "F3", 25 | "F4", 26 | "F5", 27 | "F6", 28 | "F7", 29 | "F8", 30 | "FC1", 31 | "FC2", 32 | "FC3", 33 | "FC4", 34 | "FC5", 35 | "FC6", 36 | "FT7", 37 | "FT8", 38 | "Fp1", 39 | "Fp2", 40 | "Fpz", 41 | "Fz", 42 | "O1", 43 | "O2", 44 | "Oz", 45 | "P1", 46 | "P2", 47 | "P3", 48 | "P4", 49 | "P5", 50 | "P6", 51 | "P7", 52 | "P8", 53 | "PO3", 54 | "PO4", 55 | "PO7", 56 | "PO8", 57 | "POz", 58 | "Pz", 59 | "T7", 60 | "T8", 61 | "TP10", 62 | "TP7", 63 | "TP8", 64 | "TP9" 65 | ], 66 | "roi_folder": "roi", 67 | "rois": [ 68 | " Left Thalamus", 69 | " Left Caudate", 70 | " Left Putamen", 71 | " Left Pallidum", 72 | " Left Hippocampus", 73 | " Left Amygdala", 74 | " Left Accumbens", 75 | " Right Thalamus", 76 | " Right Caudate", 77 | " Right Putamen", 78 | " Right Pallidum", 79 | " Right Hippocampus", 80 | " Right Amygdala", 81 | " Right Accumbens" 82 | ], 83 | "rois_for_global_trend": [ 84 | " Left Thalamus", 85 | " Left Caudate", 86 | " Left Putamen", 87 | " Left Pallidum", 88 | " Left Hippocampus", 89 | " Left Amygdala", 90 | " Left Accumbens", 91 | " Right Thalamus", 92 | " Right Caudate", 93 | " Right Putamen", 94 | " Right Pallidum", 95 | " Right Hippocampus", 96 | " Right Amygdala", 97 | " Right Accumbens" 98 | ], 99 | "fmri_sampling_rate": 2, 100 | "delay_sec": 10, 101 | "train_dataset_params": { 102 | "eeg_window_sec": 25, 103 | "fmri_window_sec": 15, 104 | "stride_sec": 1 105 | }, 106 | "validation_dataset_params": { 107 | "eeg_window_sec": 25, 108 | "fmri_window_sec": 15, 109 | "stride_sec": 5 110 | }, 111 | "test_dataset_params": { 112 | "eeg_window_sec": 25, 113 | "fmri_window_sec": 15, 114 | "stride_sec": 25 115 | }, 116 | "separate_global_trend": false, 117 | "starting_point_sec": 5, 118 | "eeg_standardization_kwargs": { 119 | "subtract": "mean", 120 | "divide_by": "std", 121 | "axis": null 122 | }, 123 | "fmri_standardization_kwargs": { 124 | "subtract": null, 125 | "divide_by": null, 126 | "axis": null 127 | }, 128 | "fmri_interpolation_type": "cubic", 129 | "root": "NaturalViewingDataset", 130 | "subjects": [ 131 | "14" 132 | ], 133 | "project_name": "EEG-BOLD-Decoding", 134 | "wandb_run_name": "Delay10Sub14Subcort", 135 | "dataframe_logging_modes": [ 136 | "test" 137 | ] 138 | }, 139 | "model_config": { 140 | "temporal_filter_kernel": 21, 141 | "dropout_prob": 0.25, 142 | "intermediate_channels": null 143 | }, 144 | "criterion_config": { 145 | "name": "NegativeCorrelation", 146 | "kwargs": { 147 | "dim": -1, 148 | "eps": 1e-06 149 | } 150 | }, 151 | "optimizer_config": { 152 | "name": "Adam", 153 | "kwargs": { 154 | "lr": 0.001, 155 | "weight_decay": 0.001 156 | } 157 | }, 158 | "scheduler_config": { 159 | "mode": "min", 160 | "factor": 0.1, 161 | "patience": 5 162 | }, 163 | "trainer_config": { 164 | "early_stopping": { 165 | "monitor": "val_loss", 166 | "mode": "min", 167 | "patience": 20 168 | }, 169 | "checkpointing": { 170 | "monitor": "val_loss", 171 | "mode": "min", 172 | "save_top_k": 1 173 | }, 174 | "kwargs": { 175 | "max_epochs": 250, 176 | "log_every_n_steps": 1 177 | } 178 | }, 179 | "sampler_configs": { 180 | "train": null, 181 | "validation": null 182 | }, 183 | "dataloader_configs": { 184 | "train": { 185 | "batch_size": 128, 186 | "drop_last": false, 187 | "num_workers": 4 188 | }, 189 | "validation": { 190 | "batch_size": 128, 191 | "drop_last": false, 192 | "num_workers": 4 193 | }, 194 | "test": { 195 | "batch_size": 128, 196 | "drop_last": false, 197 | "num_workers": 4 198 | } 199 | }, 200 | "wandb_kwargs": { 201 | "group": "Subcort" 202 | } 203 | } --------------------------------------------------------------------------------