/BrainQuake

A multi-modal neurodata processing software for intracranial stereo-encephalography (SEEG) electrode localization, ictal & inter-ictal data analysis, and cortical surface reconstruction.

Primary LanguageJupyter NotebookApache License 2.0Apache-2.0

BrainQuake

A multi-modal neurodata processing software for intracranial stereo-encephalography (SEEG) electrode localization, ictal & inter-ictal data analysis, and cortical surface reconstruction.

Contents

Overview

The BrainQuake software has been developed as a comprehensive pre-surgical solution for epilepsy neurosurgeries by providing tools of SEEG electrode registration, surface reconstruction, SEEG ictal and inter-ictal data processing.

System Requirements

The BrainQuake software:

  • was developed and tested on Mac OSX, Ubuntu, and Windows;
  • works on Python 3.7 or higher;
  • has key functions built upon FSL, Freesurfer, Matplotlib, Mayavi, MNE-Python, Nibabel, Numpy, PyQt5, Scikit-learn, Scipy, Socket, and others;
  • takes approximately 40 min to run for most datasets.

Installation Guide

BrainQuake server package relies on FSL and Freesurfer. You should install them through the instructions on their website. Server codes are not mandatory to be installed. BrainQuake group provides a public server to do the reconstruction and registration works for users. The client package and its Python dependencies can be installed and run with the following:

git clone https://github.com/HongLabTHU/BrainQuake.git
cd BrainQuake
pip install -r requirements.txt
cd BrainQuake
python client_main.py

Note!!! Installation using pip may face a problem of dependency package version conflict! The newest 'mayavi' version has a conflict with the newest 'vtk' package, so in requirement.txt we define the downloading versions to be 'vtk==8.1.2' and 'mayavi==4.6.2'. If you have installed a later version of mayavi or vtk before, please notice the version changing issue. For now, matplotlib version should be fixed to 3.4.3.

We HIGHLY RECOMMEND a one-stop installation option that you use anaconda to create a virtual environment for all those packages and dependencies. After installing anaconda, run the following: (python>=3.6 will all be fine.)

conda create -n bq_env -c conda-forge python=3.7 numpy scipy matplotlib=3.4.3 nb_conda vtk mayavi=4.6.2 mne nibabel scikit-learn

With this conda virtual environment (venv) 'bq_env' created, BrainQuake main window can pop up by running:

conda activate bq_env
cd <directory>/BrainQuake/BrainQuake
python client_main.py

Tutorial

Outputs

Example Dataset

For example data, please see TestData on Zenodo

Documentation

License

This project is covered under the Apache 2.0 License.

Manuscripts

Issues

If you're having trouble, encountering a bug, or want to contribute, please feel free to open a git issue or pull request. Thanks!