Skip to content

Latest commit

 

History

History
102 lines (97 loc) · 10.1 KB

README.md

File metadata and controls

102 lines (97 loc) · 10.1 KB

The Multiplex Dynamic Functional Connectivity (mdFCN) MATLAB Package

The multiplex dynamic functional connectivity network (mdFCN) analysis pipeline for objectively uncovering latent network structures from cortical activity. The material in this repository is provided to supplement the following paper: Al-Sa'd, M., Vanhatalo, S. and Tokariev, A., "Multiplex dynamic networks in the newborn brain disclose latent links with neurobehavioral phenotypes", Human Brain Mapping, (2024), https://doi.org/10.1002/hbm.26610. plot

The MATLAB scripts, functions, and data listed in this repository are used to produce results, and supporting figures illustrated in the paper.

Demo Scripts:

The developed mdFCN package contains the following demo scripts within its directory:

Demo_1_mdFC_pipeline.m

  • This demo script generates the study overview in Fig. 1. Note that the neonate’s raw EEG and neurocognitive scores are not supplied, and the code uses random numbers as example.

Demo_2_correlation_analysis.m

  • This demo script generates the correlation analysis results in Fig. 4. Note that the neonate’s raw EEG and neurocognitive scores are not supplied, and the code uses random numbers as example.

Demo_3_multiplexity_analysis.m

  • This demo script generates the multiplexity analysis results in Fig. 5.

Demo_4_pipeline_verification.m

  • This demo script generates the mdFCN verification results in Fig. 6.

Main Scripts:

The developed mdFCN package contains the following main scripts within its directory:

Main_1_FC.m

Main_2_scores.m

  • This main script generates masks for the missing scores in each clinical group and each sleep state. Note that the neonate’s raw EEG and neurocognitive scores are not supplied.

Main_3_extraction.m

Main_4_decomposition.m

Main_5_reconstruction.m

Main_6_system_verification.m

Functions:

The developed mdFCN package is comprised of the following MATLAB functions that are in specific folders within the Functions directory:

Preprocessing

  • compute_parcel_signals.m: It runs the preprocessing stage in Fig. 1.
  • iir_filters.m: It generates bandpass filters via cascaded zero-phase low-pass and high-pass infinite impulse response filters.
  • parcel_seg.m: It segments the parcel signals temporal course.

Functional Connectivity

  • phase_lag_index.m: It computes the phase-lag index (PLI) measures of connectivity.
  • static_pli_measures.m: It computes the static PLI measures of connectivity for different frequency bands.
  • dynamic_pli_measures.m: It computes the dynamic PLI measures of connectivity for different frequency bands.

NMF

CPD

  • You need to request and download Tensorlab | A Matlab package for tensor computations from: https://www.tensorlab.net/
  • cpd_network_time_avg.m: It averages the mdFCN temporal variations.
  • cpd_positive_als.m: It is a modified version of cpd_als.m in CPD\tensorlab_2016-03-28.

Multiplexity

  • multiplex_measures.m: It calculates various measures of structural multiplexity.

Correlation

  • corr_density.m: It calculates the density of significant positive/negative correlations.
  • make_FDR.m: It applies multiple comparisons correction using the Benjamini–Hochberg procedure.
  • partialcorr_score_tensor.m: It calculates correlation using Spearman's rank coefficient with the infants' conceptional age acting as a covariate.
  • tensor_correct_median.m: It standardizes the connectivity patterns of every subject by removing their median and setting their median absolute deviation to one.

Plotting

  • plot3d_atlas.m: It plots the brain atlas and the cortical regions in 3D.
  • plot_mult_signals.m: It plots multichannel signals at different frequencies.
  • plot_signals.m: It plots multichannel signals.
  • violinPlot.m: It is a modified code for generating violin plots for visualizing multiple distributions. The original code is developed by Jonas Dorn (jonas.dorn@gmail.com).

Other

  • fold_upper_matrix.m: It matricizes the vectorized connectivity values into a square matrix.
  • unfold_upper_matrix.m: It vectorizes the upper triangle of a square matrix.
  • fold_connectivity.m: It folds the connectivity values back to their square form with a supplied fidelity matrix.
  • order_selection.m: It selects a model order using an entropy-based technique to avoid under and over-fitting problems.

Head Model:

The developed mdFCN package contains various atlas and head models used for the cortical source reconstruction task and for plotting.

Results:

The developed mdFCN package contains the following data that are in specific folders within Results\HC or Results\AED directories:

FC:

NMF:

CPD:

Selection:

Verification: