Real-Time Experimental Control with Graphical User Interface

Modern neuroscience research often requires the coordination of multiple processes such as stimulus generation, real-time experimental control, as well as behavioral and neural measurements. The technical demands required to simultaneously manage these processes with high temporal fidelity is a barrier that limits the number of labs performing such work. We have developed an open-source, network-based parallel processing framework that lowers this barrier. The Real-Time Experimental Control with Graphical User Interface (REC-GUI) framework offers multiple advantages: (i) a modular design that is agnostic to coding language(s) and operating system(s) to maximize experimental flexibility and minimize researcher effort, (ii) simple interfacing to connect multiple measurement and recording devices, (iii) high temporal fidelity by dividing task demands across CPUs, and (iv) real-time control using a fully customizable and intuitive GUI.

Kim B, Kenchappa SC, Sunkara A, Chang TY, Thompson L, Doudlah R, and Rosenberg A (2019) Real-time experimental control using network-based parallel processing. eLife, 8: e40231. RRID: SCR_019008.

For more information about the REC-GUI framework, please visit the

MRI Compatible, Customizable, and 3D Printable Microdrive for Neuroscience Research

The effective connectivity of brain networks can be assessed using functional magnetic resonance imaging (fMRI) to quantify the effects of local electrical microstimulation (EM) on distributed neuronal activity. The delivery of EM to specific brain regions, particularly with layer specificity, requires MRI compatible equipment that provides fine control of a stimulating electrode’s position within the brain while minimizing imaging artifacts. To this end, we developed a microdrive made entirely of MRI compatible materials.

The microdrive uses an integrated penetration grid to guide electrodes and relies on a micro-drilling technique to eliminate the need for large craniotomies, further reducing implant maintenance and image distortions. The penetration grid additionally serves as a built-in MRI marker, providing a visible fiducial reference for estimating probe trajectories. Following the initial implant procedure, these features allow for multiple electrodes to be inserted, removed, and repositioned with minimal effort, using a screw-type actuator. Future applications of the microdrive include neuronal recordings and targeted drug delivery. We provide computer aided design (CAD) templates and a parts list for modifying and fabricating the microdrive for specific research needs. These designs provide a convenient, cost-effective approach to fabricating MRI compatible microdrives for neuroscience research.

Baeg E, Doudlah R, Swader R, Lee H, Han M, Kim SG, Rosenberg A, & Kim B (2021) MRI compatible, customizable, and 3D printable microdrive for neuroscience research. eNeuro. ENEURO.0495-20.2021. RRID: SCR_019247.

For CAD files and a list of components used to fabricate the device, please visit our OSF project page.

If you have questions about the microdrive or are interested in modifying the device to fit your experimental setup, please contact Byounghoon Kim.

Tutorials – Topics in Computational Neuroscience

Check out these tutorials created by members of our lab.

Receiver Operating Characteristic Analysis

A Receiver Operating Characteristic (ROC) curve is a graph showing the performance of a classification model as the threshold is varied. This type of analysis is common in psychophysical research. This tutorial explains ROC curves using interactive plots coded in Python with reference to applications in psychology and neuroscience research.

This tutorial was created by Lowell Thompson.

Singular Value Decomposition

Singular value decomposition (SVD) is a method to factorize an arbitrary m×n matrix, A, into two orthonormal matrices U and V, and a diagonal matrix Σ. This tutorial discusses how SVD can be used to analyze neuronal data to extract a neuron’s tuning properties, using interactive plots coded in Python.

This tutorial was created by Lowell Thompson.