Skip to content

Instantly share code, notes, and snippets.

@jyfeather
Created November 19, 2015 06:35
Show Gist options
  • Save jyfeather/ea8f8d2e539f747c377e to your computer and use it in GitHub Desktop.
Save jyfeather/ea8f8d2e539f747c377e to your computer and use it in GitHub Desktop.

slide 1

Now I will talk about the current progress of our project.

slide 2

These are two objectives of this project. First, we applied SICE method on new dataset, I call it NACC dataset, because it is from prof. Zhou, SICE is used to construct brain connectivity network based on resting fMRI data. After network is built, we compute several network statistics and do the reliability and reproducibility analysis, and compare the result with threshold method, to see if there is advantage for SICE in terms of reliability and reproducibility.

However, this work looks not so nice since we just applied existing methods and made a comparison, we want to improve more, especially in methodology part. And I have another question, what could be our target journal to submit? I will lease these in the end.

slide 3

This is a big picture of brain network analysis in general. To guide our study, we follow this flow chart to do the analysis. There are five components in this big picture, dataset, ..., connection matrix, ..., adjacency matrix, ..., network analysis, ..., reproducibility analysis, ...

First, let's take a look at our dataset.

slide 4

Our dataset is resting functional MRI data. For each subject i, the data is shown in the left box. It has 116 ROIs, ROI means region of interest. And each node has time series data, it has 210 time points data. It means this dataset has three dimensions, 210 time points data, 116 ROIs and 37 subject, among these 37 subjects, 22 are ADs, 5 are MCIs and 10 are normal.

slide 5

After we have the dataset, next step is to compute their variance-covariance matrix as the connection matrix. However, this dataset is a time series dataset, and it has autocorrelation in it.

slide 6

And we assume that ..., so we have to detrend this autocorrelation. And we used ARMA model to do the detrend. This is the equation of ARMA model. AR is ... MA is ...We take x as inputs and e as outputs.

But someone may argue this assumption. Because ...

slide 7

These figures show the difference between data before detrend and data after detrend. Clearly we can see a trend in the top left and no trend in the top right, which is used to compute the variance covariance matrix. And the auto correlation plot shows the same observations. In the bottom left figure, auto correlation is always beyond the blue limit.

Since ARMA model has several parameters, I used AIC to select the best fitting ARMA model.

slide 8

After we got connection matrix, I applied threshold and sice method to build the adjacency matrix. And this adjacency matrix is also called brain connectivity network. The brain connectivity network could have different densities according to the cut values. I set the density here to 30%, which means I want to keep top 30% edges in connection matrix.

slide 9 - 14

In next 6 slides, I will show the brain connectivity networks for AD, MCI and Normal.

This is the brain connectivity network for normal people, and it is generated using SICE. And I used all 116 ROIs to build this network, so it is a 116 by 116 matrix. And the density is 30%. It looks messy, but when you compare with the AD and MCI, we could have some findings. Like I highlight in the red box, you will see the difference.

slide 15

We can zoom in to see what is this red region. What are those ROIs. From this figure, we see these are ROIs from number 32 to 54.

slide 16

And we can check this AAL table. 32 to 54 is from here to here. I think these regions are related to AD, for example, I know, hippocampus is highly related.

This table is from this reference. In their paper, they use regions highlighted to build the brain connectivity network, and they also selected most ROIs from 32 to 54.

slide 17

We also could observe other difference through watching the brain network directly. But the more efficient and more statistical way is to compare their network measurements. This process is called network analysis.

slide 18

Here we use graph theory to analysis the network. These are some network measurements. I computed three important network measurements in the current stage. They are transitivity, assortativity and global efficiency. For more details, you could refer to the wikipedia explanations.

slide 19

But the results look not so good. From these results, it is hard to see the differernce between AD, MCI and normal people, no matter results of sice or results of threshold. These are some resons to explain this. We might need select specific ROIs to build the network, instead of using all 116 regions. Because those ROIs not related to AD might be served as noise in brain connectivity network. And we also could change the density of network, maybe more sparse, to highlight those strong connections. And we could compute more metrics other than assortativity, efficiency and transitivity.

slide 20

Last step is to do reliability and reproducibility study.

slide 21

Our dataset may not fit the reliability and reproducibility study. Because they do not have retest procedure. Only one stage. But if we divide the 210 time points to two part, and make the first half as test stage, and the second half as retest stage. Then we might be able to do this analysis.

And there are several types of reliabilities and reproducibilities. For example, this is test-retest reliability.

slide 22

Can we discuss the potential work on this project?

slide 23

Further more, I want to talk about the toolbox to do the brain network analysis. Most popular toolbox is BCT, which is brain connectivity toolbox. It is a matlab package. And based on it, it has C++ version and python version. But there is no for R. But R is so popular and more and more researchers switch to use R to do brain network analysis from matlab. So I am writing an R package BCTR, which is brain connectivity toolbox in R. In BCTR, I will write all network analysis functions according to BCT, and add SICE and reliability analysis function in addition. It should be a very interesting and high impactful work. Not only we can provide a common toolbox to R comuunity, but also we can learn and implement graph theories during programming. But it is a very time consuming work. So if you are interested, welcome to join me to do this together.

And another package based on BCT is called GraphVar. BCT only have programming interfaces, but graphvar has grpahical interface, it is a toolbox integrating all BCT functions. But this one is also based on matlab, which is really bad. We need install matlab first, and modify some settings, but finally it still does not work, from my experience. So I developed a web-based platform to do the brain connectivity network. This is the link. Using this platform, we do not have to install any softwares, just open the browser and type in the address, and do what you want to do.

Third thing I want to do is to write a R package to visualize the brain network, similar to the brainnet viewer that is based on matlab as well.

slide 24

slide 25

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment