Intracranial EEG

Initialize NeuroAnalyzer
using NeuroAnalyzer

Intracranial EEG (iEEG) is a direct recording of brain electrical activity using electrodes placed inside or on the surface of the brain. It is used primarily in epilepsy surgery planning, neurophysiological research, and brain-computer interfaces (BCIs). There are two main types of iEEG:

  1. Electrocorticography (ECoG)
  2. Stereoelectroencephalography (sEEG)

Current Limitations of iEEG

Despite its utility, iEEG has several limitations:

Limitation Description
Limited Coverage ECoG only covers the cortex, while sEEG is limited to predefined electrode placements.
Invasiveness Requires surgical implantation of electrodes (risk of infection, hemorrhage).
Cost and Complexity High cost and need for specialized equipment (stereotactic frame, intraoperative MRI).
Ethical and Legal Issues Requires informed consent and IRB approval for research use.
Data Interpretation Requires expertise to interpret high-dimensional iEEG data.
Functionality Currently, limited functionality compared to non-invasive methods (e.g., EEG, fMRI).

Applications of iEEG

Application Description
Epilepsy Surgery Localizing seizure onset zones for surgical resection or ablation.
Brain Mapping Identifying eloquent cortex (e.g., motor, language areas) before surgery.
Deep Brain Stimulation (DBS) Monitoring subcortical structures for DBS planning (e.g., Parkinson’s disease).
Brain-Computer Interfaces (BCIs) Using ECoG signals for real-time neural decoding (e.g., motor imagery, speech).
Neurophysiological Research Studying brain connectivity, oscillatory dynamics, and neural coding.

Future Directions

  • High-Density ECoG Grids: Larger grids with higher electrode counts for better spatial resolution.
  • Wireless iEEG: Development of wireless, implantable electrodes for long-term monitoring.
  • Closed-Loop Systems: Integration with neuromodulation devices (e.g., responsive neurostimulation for epilepsy).
  • AI and Machine Learning: Using AI to decode iEEG signals for BCIs and seizure prediction.

Electrocorticography

Electrocorticography (ECoG) is the recording of brain electrical activity from the cortex surface, typically using subdural grid or strip electrodes.

Electrodes are placed directly on the exposed brain surface during intraoperative monitoring or extraoperative monitoring (e.g., for epilepsy surgery).

ECoG was developed in the 1950s by Wilder Penfield and Herbert Jasper for intraoperative brain mapping and used in Montreal Neurological Institute for epilepsy surgery.

Key Features

Feature Description
Electrode Placement Subdural grid or strip electrodes placed on the cortex surface.
Coverage Surface-level only (no deep brain structures).
Spatial Resolution High spatial resolution due to direct contact with the cortex.
Temporal Resolution High temporal resolution (millisecond-level).
Clinical Use Used for localizing epileptogenic zones and mapping brain functions before surgery.
Invasiveness Less invasive than sEEG (no penetration into deep brain structures).
Applications Epilepsy surgery, brain mapping, BCI research.

Advantages

  • High spatial resolution: Electrodes are in direct contact with the cortex.
  • Less invasive: No penetration into deep brain structures.
  • Real-time monitoring: Can be used for intraoperative brain mapping.

Disadvantages

  • Limited to surface cortex: Cannot record from deep brain structures.
  • Requires craniotomy: Surgical exposure of the brain is needed.

Stereoelectroencephalography

Stereoelectroencephalography (sEEG) is the recording of brain electrical activity using intracerebral electrodes that are stereotactically implanted into preidentified cortical and subcortical structures.

Electrodes are thin, depth probes inserted into the brain using stereotactic techniques (e.g., MRI-guided navigation).

sEEG was invented in the late 1950s by Jean Talairach and Jean Bancaud in France and developed as a stereotactic method for recording from deep brain structures in epilepsy patients.

Key Features

Feature Description
Electrode Placement Depth electrodes implanted stereotactically into cortical and subcortical structures.
Coverage Deep brain structures (e.g., hippocampus, amygdala, thalamus).
Spatial Resolution Lower spatial resolution than ECoG due to inter-electrode distance.
Temporal Resolution High temporal resolution (millisecond-level).
Clinical Use Used for localizing seizure onset zones in deep brain structures (e.g., temporal lobe epilepsy).
Invasiveness More invasive than ECoG (requires brain penetration).
Applications Epilepsy surgery, deep brain stimulation (DBS), neurophysiological research.

Advantages

  • Access to deep brain structures: Can record from hippocampus, amygdala, and other subcortical areas.
  • Minimally invasive: No need for craniotomy; electrodes are inserted through small burr holes.
  • 3D coverage: Electrodes can be placed in multiple brain regions simultaneously.

Disadvantages

  • Lower spatial resolution: Less precise than ECoG due to inter-electrode distance.
  • Higher risk: Potential for hemorrhage or infection due to brain penetration.
  • Limited to clinical settings: Primarily used in epilepsy monitoring.

Comparison: ECoG vs. sEEG

Feature ECoG sEEG
Electrode Placement Subdural grid/strip on cortex surface. Depth electrodes in cortical/subcortical structures.
Coverage Surface cortex only. Deep brain structures.
Spatial Resolution High. Moderate (dependent on electrode spacing).
Invasiveness Less invasive (no brain penetration). More invasive (brain penetration).
Clinical Use Epilepsy surgery, brain mapping. Epilepsy surgery, deep brain monitoring.
Temporal Resolution High (millisecond-level). High (millisecond-level).
Risk Low (no brain penetration). Higher (hemorrhage, infection risk).
Applications Brain mapping, ECoG-based BCIs. Deep brain monitoring, DBS planning.

Processing ECoG data

Loading ECoG recording has to be done manually:

using MAT

# read data from a MATLAB file
file_name = "files/ecog.mat"
dataset = matread(file_name)

# in NeuroAnalyzer channels must be by rows
data = Float64.(reshape(dataset["data"]', 47, :, 1))

# create NeuroAnalyzer.NEURO object
ecog = create_object(data_type = "ecog")

# the dataset sampling rate is 1000 Hz
create_data!(ecog, type = "ecog", data = data, fs = 1000)

# show details
header(ecog)
              Data type: ECOG
            File format: 
            Source file: 
         File size [MB]: 0
       Memory size [MB]: 140.72
                Subject:  
              Recording: 
        Recording notes: 
         Recording date: 
         Recording time: 
     Sampling rate (Hz): 1000
Signal length [samples]: 376400
Signal length [seconds]: 376.4
     Number of channels: 47
              Epochs ID: 
       Number of epochs: 1
 Epoch length [samples]: 376400
 Epoch length [seconds]: 376.4
         Line frequency: 50 Hz
                Markers: no
      Channel locations: no
 Number of EEG channels: 47

Plotting the recorded signal:

NeuroAnalyzer.plot(ecog,
                   ch = "all",
                   gui = false)