Core API#

EEGDash provides a comprehensive interface for accessing and processing EEG data through a three-tier architecture that combines metadata management, cloud storage, and standardized data organization.

Architecture Overview#

The EEGDash core API is built around three interconnected components:

+-----------------+
|     MongoDB     |
|    (Metadata)   |
+-----------------+
      |
      |
+-----------v-----------+      +-----------------+
|       eegdash         |<---->|   S3 Filesystem |
|     Interface         |      |    (Raw Data)   |
+-----------------------+      +-----------------+
      |
      |
+-----------v-----------+
|      BIDS Parser      |
+-----------------------+
MongoDB Metadata Layer

Centralized NoSQL database storing EEG dataset metadata including subject information, session details, task parameters, and experimental conditions. Enables fast querying and filtering of large-scale datasets.

File Cloud Storage

Scalable object storage for raw EEG data files. Provides reliable access to large datasets with on-demand downloading capabilities, reducing local storage requirements. At the moment, AWS S3 is the only supported storage backend.

BIDS Standardization

Brain Imaging Data Structure (BIDS) parser ensuring consistent data organization and interpretation across different datasets and experiments. Use to perform the digest of BIDS datasets and extract relevant metadata for the mongodb.

Core Modules#

The API is organized into focused modules that handle specific aspects of EEG data processing:

  • api - Main interface for data access and manipulation

  • const - Constants and enumerations used throughout the package

  • bids_eeg_metadata - BIDS-compliant metadata handling

  • data_utils - Data preprocessing and transformation utilities

  • mongodb - Database connection and query operations

  • paths - File system and storage path management

  • utils - General utility functions and helpers

API Reference#

api

High-level interface to the EEGDash metadata database.

bids_eeg_metadata

BIDS metadata processing and query building utilities.

const

Configuration constants and mappings for EEGDash.

data_utils

Data utilities and dataset classes for EEG data handling.

logging

Logging configuration for EEGDash.

hbn

Healthy Brain Network (HBN) specific utilities and preprocessing.

mongodb

MongoDB connection and operations management.

paths

Path utilities and cache directory management.

utils

General utility functions for EEGDash.