Week 12 (August 29) Blog Post

Published: 08/29/2022

Last week was successful in including all the necessary steps of performing Principal Component Analysis. The first issue was that the covariance matrix needed to be scaled to account for the SNR boosting step in which 3 epochs were averaged into a single epoch, therefore the covariance matrix needed to be divided by 3. Then I had to ensure that the average epochs were being processed in the same manner that my original epochs were processed. Next, a projection operator had to be applied to the forward matrix according to the epochs.info structure. The API is working successfully and re-producing the ground truth as produced from my command line model, within a small level of tolerance. However, the data scaling function that I had gotten to work earlier in the summer, when I was not using a ground truth to check my work, is not working now. I recall being able to reproduce the scaling function using MNE functions, so this week will focus on replacing that function with MNE functions. Then I will work to publish this script to MNE-Python's example data scripts for use of the functional connectivity model.

Although I only completed 1 of 2 major contributions that were intended for this summer, I learned a ton in regards to the MNE-Python functions, collaborations using Github, building objects and classes, and most importantly to use a ground truth when converting code into a new environment to ensure that each step is being transformed correctly and the frequent use of sanity checks.