Background
A goal of rtQC is to supply the user with information about the quality of their fMRI data, both while the data is being collected (Online QC tab in the GUI) and offline once a participant's data for a given session has been collected (Post QC tab in the GUI). Physiological noise caused by the participant's heart rate, breathing, blood pulsatility, the interaction of these effects and other sources of variance, can strongly influence the blood oxygenation level. For neurofeedback experiments, it is particularly important to rule out such sources of variance as confounders of the neurofeedback signal, and hence from the inferences drawn from the data about BOLD regulation and neurofeedback learning success. Thus, it aligns with rtQC's goal to show users information about how physiological noise might be influencing their neurofeedback signal quality.
Description of feature to be added
The goal is to add functionality to the Post QC tab in the GUI that allows users to "Inspect physiological noise". This would ultimately entail being able to "click-to-select" the relevant physiological recording files, parsing this information, calling relevant code to derive RETROICOR regressors from the supplied files, plotting these regressors in a way that is appropriate to highlight possible quality issues, and calculating and displaying relevant quality metrics from these regressors. The PhysIO Toolbox has been identified as a useful existing tool with functionality that would allow RETROICOR regressors to be calculated from physiological data. Our code will have to deal with this as a dependency in a sensible way.
Breakdown of steps
Links to relevant code and instructions
Basic download and usage instructions for rtQC are given in the README
Sample data can be downloaded from the OpenNFT sample dataset under "Assets". Code to run rtQC on this specific dataset is already set up in the rtQC_defaults.m file, here. This is done as part of the demo mode of the GUI.
The rtQC_defaults.m file can be used to enter default values relevant for the functioning of the new feature. This would be a pragmatic short term solution in stead of adding more pushbuttons, text input fields, etc. on the Pre QC tab.
The pushbutton to trigger physiological noise regressor calculation and other steps can be added under this section in the rtQC_display_setup.m file. Inspect the other UIcontrols for info about the naming convention, and check that the correct parent panel is set. The CallBack attribute is important to set, as this is the function that triggers the whole process. For some reason (probably bad coding on my side) you also have to re-instate this callback in the rtQC_defaults.m file, for example as is done here.
The function that executes all of the new functionality can be added here.
Background
A goal of rtQC is to supply the user with information about the quality of their fMRI data, both while the data is being collected (
Online QCtab in the GUI) and offline once a participant's data for a given session has been collected (Post QCtab in the GUI). Physiological noise caused by the participant's heart rate, breathing, blood pulsatility, the interaction of these effects and other sources of variance, can strongly influence the blood oxygenation level. For neurofeedback experiments, it is particularly important to rule out such sources of variance as confounders of the neurofeedback signal, and hence from the inferences drawn from the data about BOLD regulation and neurofeedback learning success. Thus, it aligns with rtQC's goal to show users information about how physiological noise might be influencing their neurofeedback signal quality.Description of feature to be added
The goal is to add functionality to the
Post QCtab in the GUI that allows users to "Inspect physiological noise". This would ultimately entail being able to "click-to-select" the relevant physiological recording files, parsing this information, calling relevant code to derive RETROICOR regressors from the supplied files, plotting these regressors in a way that is appropriate to highlight possible quality issues, and calculating and displaying relevant quality metrics from these regressors. The PhysIO Toolbox has been identified as a useful existing tool with functionality that would allow RETROICOR regressors to be calculated from physiological data. Our code will have to deal with this as a dependency in a sensible way.Breakdown of steps
PhysIOfunctioning tortQC_defaults.mfile. These would ultimately be aspects that users would not necessarily specify every time they run the GUI, but maybe once (hence the reason for defining them as defaults). For the first attempt, we can just add all required variables here.Post QCtab in the GUI that triggers the calculation of RETROICOR regressors from physiological data. This should do the following:Links to relevant code and instructions
Basic download and usage instructions for rtQC are given in the README
Sample data can be downloaded from the OpenNFT sample dataset under "Assets". Code to run rtQC on this specific dataset is already set up in the
rtQC_defaults.mfile, here. This is done as part of thedemomode of the GUI.The
rtQC_defaults.mfile can be used to enter default values relevant for the functioning of the new feature. This would be a pragmatic short term solution in stead of adding more pushbuttons, text input fields, etc. on thePre QCtab.The pushbutton to trigger physiological noise regressor calculation and other steps can be added under this section in the
rtQC_display_setup.mfile. Inspect the otherUIcontrolsfor info about the naming convention, and check that the correct parent panel is set. TheCallBackattribute is important to set, as this is the function that triggers the whole process. For some reason (probably bad coding on my side) you also have to re-instate this callback in thertQC_defaults.mfile, for example as is done here.The function that executes all of the new functionality can be added here.