alexrockhill's Blog

Final Report

alexrockhill
Published: 08/19/2021

My GSoC project to make a graphical user interface (GUI) to locate the positions of electrical recording contacts inside a patient's head who has been implanted with intracranial electrodes was a huge success. I started by developing the accompanying routines to prepare the input data and process the data once the GUI has been used first. This process is described here: https://mne.tools/dev/auto_tutorials/clinical/10_ieeg_localize.html The pull requests (PRs) that contributed to this development are here: https://github.com/mne-tools/mne-python/pull/9484 https://github.com/mne-tools/mne-python/pull/9544 https://github.com/mne-tools/mne-python/pull/9601 These were also accompanied by maintenance PRs to the MNE-Python repository as a whole which improved its overall organization and function and were part and parcel with the tutorial changes: https://github.com/mne-tools/mne-python/pull/9480 https://github.com/mne-tools/mne-python/pull/9543 https://github.com/mne-tools/mne-python/pull/9574 https://github.com/mne-tools/mne-python/pull/9598 https://github.com/mne-tools/mne-python/pull/9599 https://github.com/mne-tools/mne-python/pull/9601 https://github.com/mne-tools/mne-python/pull/9617 https://github.com/mne-tools/mne-python/pull/9618 https://github.com/mne-tools/mne-python/pull/9622 https://github.com/mne-tools/mne-python/pull/9625 https://github.com/mne-tools/mne-python/pull/9630 In brief, this allowed users who had collected intracranial electrophysiology data to take a computed tomography (CT) scan with electrode contacts appearing as hyperintensities, align it to a magnetic resonance (MR) image and then compute a morph mapping from the patient's brain to a template brain (a brain made of the average of many different MR scans so as to be somewhat representative of an average brain). The many helper PRs reorganized image processing scripts, fixed naming consistency, removed redundancy in documentation and refactored many of the 3D plotting aspects that were used in the tutorials. Once the accompanying routines were completed, the GUI PR was the main focus: https://github.com/mne-tools/mne-python/pull/9586 The main GUI implements a novel automatic contact finding algorithm, specifically developed for identifying many stereo-electrodes in lines (previous algorithms have been developed for grid electrodes) and is a clean and well-tested interface for locating intracranial contacts that is up to professional development standards.
View Blog Post

Week 10: Wrapping up

alexrockhill
Published: 08/15/2021

The graphical user interface for selecting intracranial electrode contacts is finally feature complete! I just have a few tests to write and to get it reviewed but we're nearing the end of a successful GSoC project.
View Blog Post

Week 9: Finishing up the GUI

alexrockhill
Published: 08/05/2021

I'm working on the 3D viewer as a fourth panel of the GUI and progress is going well, but I still have to add tests. Next up is the last step of automating the detection of the electrode contacts so that locating positions is automated and the user only has to associate the positions.
View Blog Post

Week 8: Progress on Coordinate Frames

alexrockhill
Published: 08/05/2021

This week, I managed a lot of the input/output for the GUI which was complicated and was nicely clean up in the refactoring in the rest of MNE. This was also a part of the 3D plotting that will be useful to displaying the results of the GUI. Next week is on to adding functionality and tests for the GUI, specifically the 3D view.
View Blog Post

Week 7: Progress on the GUI

alexrockhill
Published: 07/26/2021

The electrode contact localization GUI is in progress and a first draft that incorporates MNE style and helper functions is almost finished. I worked on handling the coordinate frames in a easy-to-understand way, and I worked on refactoring and renaming the appropriate functions and variables to be private as well as simplifying a bit like not plotting the pial surface to add back later. This week I'll finish the draft, get and incorporate reviews and work on tests. Hopefully soon it will be integrated into the tutorial with helpful images.
View Blog Post
DJDT

Versions

Time

Settings from gsoc.settings

Headers

Request

SQL queries from 1 connection

Static files (2312 found, 3 used)

Templates (28 rendered)

Cache calls from 1 backend

Signals

Log messages