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 manipulationconst
- Constants and enumerations used throughout the packagebids_eeg_metadata
- BIDS-compliant metadata handlingdata_utils
- Data preprocessing and transformation utilitiesmongodb
- Database connection and query operationspaths
- File system and storage path managementutils
- General utility functions and helpers
API Reference#
High-level interface to the EEGDash metadata database. |
|
BIDS metadata processing and query building utilities. |
|
Configuration constants and mappings for EEGDash. |
|
Data utilities and dataset classes for EEG data handling. |
|
Logging configuration for EEGDash. |
|
Healthy Brain Network (HBN) specific utilities and preprocessing. |
|
MongoDB connection and operations management. |
|
Path utilities and cache directory management. |
|
General utility functions for EEGDash. |