Skip to content

Brain state modeling from intracranial EEG data through high-dimensional embeddings #57

@brunohml

Description

@brunohml

Title

Brain state modeling from intracranial EEG data through high-dimensional embeddings

Leaders

Graduate student: Bruno Hidalgo Monroy Lerma (@brunohml)

Collaborators

Graham W. Johnson, Derek J. Doss, Ghassan S.P. Makhoul, Anas Reda, Addie Cavender
PI: Dario J. Englot, MD, PhD

Project description

Our lab collects intracranial EEG (iEEG) data from patients being evaluated for drug refractory epilepsy at VUMC, where they can stay in the hospital for up to 2 weeks. This provides a rare opportunity to use iEEG data to learn about seizure dynamics, as well as normal brain function. However, whole-brain iEEG data proves to be very difficult to analyze. To more effectively interpret this data, our lab has developed a machine learning model that takes 10-second epochs of whole-brain iEEG data from a given patient and summarizes their functional brain state during those 10 seconds as an 'embedding' in 1024-dimensional space. We thus call these 'brain state embeddings'. By feeding 10-second epochs of data a time, we create a 1024-dimensional point cloud that captures a patient's distribution of functional brain states throughout their entire stay in the hospital. We then reduce the dimensions of this point cloud to facilitate data analysis via Pairwise Controlled Manifold Approximation (PaCMAP).

There are many directions for this project, but we are first interested in validating the ability to discriminate between functionally distinct brain states using this point cloud. In other words, are functionally similar brain states closer to each other in the point cloud than functionally dissimilar brain states? Luckily, patients naturally cycle through a series of reliably dissimilar functional brain states: sleep stages!

To explore this, we used a sleep stage classifier on the raw iEEG data to generate metadata about periods of a patient's hospital stay during which they were in REM, NREM, and wake. We can then tag the 2-dimensional manifold to visualize whether brain state embeddings from distinct sleep stages appropriately cluster apart from each other. Here is an example from a single patient:

image

Link to project repository/sources

https://github.com/brunohml/BSE_BrainHack

Concerete goals with specific tasks for Brainhack Vanderbilt 2025

As you can see, brain state embeddings across sleep stages appear to cluster appropriately. However, we are still looking for ways to quantify this analysis - and ultimately learn something about the underlying neural dynamics of sleep.

1. Sleep stage classifier: Although we can visualize different clusters of sleep stages based on the metadata, it would be interesting to build a classifier that categorizes brain state embeddings into sleep stages, and then compare these embedding-based categorizations to the metadata. This could be a supervised classifier that uses the metadata as labels, or an unsupervised classifier that is later compared to the metadata. Open questions include how well the classifier can perform and how the performance varies across embedding dimensions (for example, trying to classify embeddings following PaCMAP projection to 2 dimensions versus 10 dimensions).

2. Feature analysis: The embeddings are defined by dimensions that are highly abstracted from the original SEEG data. However, it would be interesting to investigate whether a given sleep stage is particularly associated with a given set of dimensions. In other words, does our model capture unique features about a sleep stage through a specific set of dimensions, and can we identify these dimensions? We could then track this back to our original raw SEEG data to identify those features, though that would require a more involved project. We are open to suggestions on how this could be done! One way could be to read out the dimensions that are heavily weighted by a classifier as described above, another interesting approach could be to use recently-published Structure Index (https://github.com/PridaLab/structure_index). Any insights are appreciated!

3. Alternative manifold learning approaches and hyperparameter optimization: We have been using PaCMAP, but would be open to suggestions about better-suited manifold learning techniques or ways to get the most out of PaCMAP.

4. Any other cool manifold-based analyses: Our lab is new to working with manifold data. Insights regarding research directions from those with experience working with manifold data are greatly appreciated!

Good first issues

  1. Issue one: test the ability to accurately classify 10-second epochs of SEEG data into sleep stages using high-dimensional brain state embeddings.

  2. Issue two: identify dimensions that uniquely define brain state embeddings in a given sleep stage.

Skills

  • Python: intermediate to advanced, depending on the task you pursue (run scripts from command line, import packages, build a classifier, etc.)
  • Git: basic (fork base repo, push your own changes to your fork)

Onboarding documentation

https://github.com/brunohml/BSE_BrainHack/blob/main/README.md

What will participants learn?

  1. Working with high-dimensional data and lower-dimensional manifold representations.
  2. Developing classifier models.
  3. Experimenting with distinct manifold learning approaches.

Public data to use

1024-dimensional embeddings for 7 distinct patients. My github repo provides the pipeline to convert these raw embeddings into patient-specific manifolds tagged with sleep stage metadata.

https://drive.google.com/drive/folders/1_HqZW5WNq_69rmBpsqu-V8BuGr3kMQAB?usp=drive_link

Number of collaborators

1

Credit to collaborators

Project contributors will be credited on README.md. Happy to discuss other potential collaborations as projects progress!

Image

image

Project Summary

Characterizing representation of sleep stages as distinct functional brain states in high-dimensional embeddings developed from human intracranial EEG data.

Type

coding_methods, method_development, pipeline_development

Development status

1_basic structure

Topic

data_visualisation, deep_learning, machine_learning, systems_neuroscience

Tools

other

Programming language

Python

Modalities

EEG, Neurophysiology

Git skills

1_commit_push, 2_branches_PRs

Anything else?

No response

Things to do after the project is submitted and ready to review.

  • Add a comment below the main post of your issue saying: Hi @brainhack-vandy/project-monitors my project is ready!

Metadata

Metadata

Assignees

No one assigned

    Labels

    2025projects for brainhack 2025approvedthe label for an approved projectproject-proposal

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions