This PR implements 3 new visualizations to assess the quality of the denoising: an overlay of the FC distributions, the distribution of QC-FC (correlation of FC with 3 fd-related IQMS), a scatterplot of the correlation of QC-FC with the euclidean distance.
To be able to generate those three plots, a few major functions needed to be implemented:
A function to find the MRIQC derivatives of the same dataset and from there load the IQMs. This function needs to ensure that the IQMs for each subject are stored in the same order as the FC matrix for each subject. Additionally, it needs to discard all IQMs that does not correspond to the task of interest and to subject/session for which FC was not computed
A function to compute the euclidean distance between the centers of the mass of atlas areas.
Additionally, I added arguments to funconn.py to increase the flexibility of the denoising it can perform.
What the three plots look like:
PS don't pay attention if the distributions looks non-gaussian, I ran only a few permutation on my laptop, this is based on a few subjects and on the QCT because that's the MRIQC derivatives I had. For now, they just to give an idea of what the plot looks like, not scientifically relevant.
Here is a list of the major changes:
enh: plot the FC distribution and save the image
enh: plot the distributions of correlations between FC and 3 IQMs (fd_mean, fd_num and fd_perc) (QC-FC) and compute the percent match between QC-FC and a QC-FC obtained from a permutation test
enh: find the derivative folder containing "mriqc", load the IQMs from the group tsv and keep only one row per subject.
enh: plot the QC-FC vs euclidean distance relationship, compute the significance of the correlation and save the image
enh: compute the centers of mass of the DiFumo atlas' regions
enh: obtain the distance matrix by computing the euclidean distance between the regions' centers of mass
enh: add denoising strategy as an argument to funconn to be able to modify the confounds used for regression
enh: add motion as an argument to funconn to modify the type of motion regressors used
enh: implement some unit tests to verify the behavior of basic functions
fix: disable the possibility to not save the FC matrices in funconn.py as we need them saved for running funconn_group.py
Summary:
This PR implements 3 new visualizations to assess the quality of the denoising: an overlay of the FC distributions, the distribution of QC-FC (correlation of FC with 3 fd-related IQMS), a scatterplot of the correlation of QC-FC with the euclidean distance.
To be able to generate those three plots, a few major functions needed to be implemented:
Additionally, I added arguments to
funconn.py
to increase the flexibility of the denoising it can perform.What the three plots look like:
PS don't pay attention if the distributions looks non-gaussian, I ran only a few permutation on my laptop, this is based on a few subjects and on the QCT because that's the MRIQC derivatives I had. For now, they just to give an idea of what the plot looks like, not scientifically relevant.
Here is a list of the major changes:
enh: plot the FC distribution and save the image
enh: plot the distributions of correlations between FC and 3 IQMs (
fd_mean
,fd_num
andfd_perc
) (QC-FC) and compute the percent match between QC-FC and a QC-FC obtained from a permutation test enh: find the derivative folder containing "mriqc", load the IQMs from the group tsv and keep only one row per subject.enh: plot the QC-FC vs euclidean distance relationship, compute the significance of the correlation and save the image enh: compute the centers of mass of the DiFumo atlas' regions enh: obtain the distance matrix by computing the euclidean distance between the regions' centers of mass
enh: add denoising strategy as an argument to
funconn
to be able to modify the confounds used for regression enh: add motion as an argument tofunconn
to modify the type of motion regressors usedenh: implement some unit tests to verify the behavior of basic functions
fix: disable the possibility to not save the FC matrices in
funconn.py
as we need them saved for runningfunconn_group.py
Closes #384, #438