OpenNFT: open-source Python/Matlab framework for real-time fMRI neurofeedback and quality assessment

Presented During:

Poster No:


Submission Type:

Abstract Submission 


Yury Koush1


1Yale University, New Haven, CT

First Author:

Yury Koush  
Yale University
New Haven, CT


During software demonstration, I will explore the GUI-based multi-processing open-source framework for real-time fMRI neurofeedback training and quality assessment, termed OpenNFT [1,2] (Fig. 1; This framework is based on the platform-independent interpreted programming languages Python and Matlab to facilitate concurrent functionality, high modularity, and the ability to extend the software in Python or Matlab depending on programming preferences, research questions, and clinical application. The core programing engine is Python, which provides larger functionality and flexibility than Matlab. Based on this core, Matlab processes are integrated to add specific functions.


The software supports a broad functionality asset for neurofeedback studies including real-time fMRI data watchdog, data (pre)processing, feedback estimation and presentation [1]. Most recent developments also support real-time fMRI quality assessment, which includes recurrent volumetric and time-series SNR (fundamental QA parameter in fMRI), CNR (preferential if noise is inflated by fMRI activation), framewise and micro displacement based on head motion parameters [3-6], despiking and low-pass filtering using recurrent Kalman filter [7], and incremental GLM [8].


I will present our new release with novel features, including more comfortable setup for new neurofeedback and real-time fMRI research and applications. In more details, I will showcase general software functionality using activation-based feedback, effective connectivity feedback based on dynamic causal modelling (DCM), classification-based feedback based on support vector machine (SVM), and real-time quality assessment. I will demonstrate new GUI, real-time quality assessment (rtQA) extensions, and an efficient setup of a neurofeedback training study using OpenNFT. I will also explore the software architecture, parallel computing, Pyhton-Matlab integration and dataflow, the software installation, setup features, and development using open-source integrated Python-Matlab framework and GitHub-based collaboration.
Supporting Image: Project_Triplanar_1.JPG
   ·Fig. 1. Screenshot of the OpenNFT GUI.


The software is distributed via GitHub repository together with the Demo data set [2], an installation manual, simulation routines, test functions, educational courses presentations and video tutorials. A modular open-source rt-fMRI framework will facilitate interfacing and integration of new approaches to support the progress in the highly dynamic field of neurofeedback and real-time fMRI research. Such as, using the open-source opportunities makes it easy to follow the software updates, make your own fork releases, and request the software team to integrate your own development into the next core release.

Modeling and Analysis Methods:

Methods Development 1
Other Methods 2


Other - OpenNFT, neurofeedback, real-time fMRI, activity, connectivity, multivariate pattern analysis, real-time quality assessment

1|2Indicates the priority used for review

My abstract is being submitted as a Software Demonstration.


Please indicate below if your study was a "resting state" or "task-activation” study.

Resting state

Healthy subjects only or patients (note that patient studies may also involve healthy subjects):

Healthy subjects

Was any human subjects research approved by the relevant Institutional Review Board or ethics panel? NOTE: Any human subjects studies without IRB approval will be automatically rejected.

Not applicable

Was any animal research approved by the relevant IACUC or other animal research panel? NOTE: Any animal studies without IACUC approval will be automatically rejected.

Not applicable

Please indicate which methods were used in your research:

Functional MRI
Computational modeling
Other, Please specify

For human MRI, what field strength scanner do you use?


Which processing packages did you use for your study?

Other, Please list  -   OpenNFT

Provide references using author date format

1 Koush Y, et al. (2017): OpenNFT: An Open-Source Python/Matlab framework for real-time fMRI neurofeedback training based on activity, connectivity and multivariate pattern analysis. Neuroimage 156:489-503.
2 Koush Y, et al. (2017): Real-time fMRI data for testing OpenNFT functionality. Data in Brief 14:344-347.
3 Power KA, et al. (2012): Spurious but systematic correlations in functional connectivity MRI networks arise from subject motion. NeuroImage 59, 2142–2154.
4 Dosenbach N, et al. (2017): Real-time motion analytics during brain MRI improve data quality and reduce costs. NeuroImage 161, 80-93.
5 Van Dijk K, et al. (2012). The Influence of Head Motion on Intrinsic Functional Connectivity MRI NeuroImage 59, 431-438
6 Welford B. (1962): Note on a method for calculating corrected sums of squares and product. Technometrics 4, 419-420.
7 Koush Y, et al. (2012): Signal quality and Bayesian signal processing in neurofeedback based on real-time fMRI. NeuroImage 59, 478-489.
8 Bagarinao E., et al. (2003). Estimation of general linear model coefficients for real-time application Neuriomage 19, 422-429.