edickie / ciftify

The tools of the Human Connectome Project (HCP) adapted for working with non-HCP datasets
https://edickie.github.io/ciftify/
MIT License
111 stars 156 forks source link

Differences in T1w/fsaverage_LR32k surfaces between ciftify and HCP download #161

Closed bwinsto2 closed 2 years ago

bwinsto2 commented 3 years ago

Greetings Dr. Dickie, our lab is working on a project that involves generating surfaces in 32k space. I downloaded HCP raw data, ran fmriprep on it (incl. freesurfer), and ran ciftify on the outputs, including the --resample-to-T1w32k option. I was hoping that the outputs of ciftify_recon_all (namely the T1w/fsaverage_LR32k surfaces) would be identical to the HCP minimally preprocessed (1200 subj. release) download. I am using this comparison as a sort of validation for this ciftify step in our pipeline.

Below is a visualization of the white surfaces for subject 105923 in Paraview. On the left is the HCP download, and on the right is the ciftify version. Both surfaces come from the T1w/fsaverage_LR32k directories.

Screen Shot 2021-06-27 at 1 48 08 PM

Since I don't have a great understanding of what's going on under the hood, please forgive me if I shouldn't expect these surfaces to be identical. Is there some other option I should be using to generate a surface identical to the HCP download? Or the only way to get such a surface is to run the HCP minimal preprocessing pipeline itself?

Thanks very much, Brian Winston

bwinsto2 commented 2 years ago

I realized the difference is that the HCP surfaces are based on a T1w that has undergone gradient distortion correction.

edickie commented 2 years ago

Thanks for figuring that out!

Yes, gradient distortion is something pretty specific to HCP (as it requires the gradient information that many datasets don't have available - so it was removed in ciftify.

Another difference is that HCP incorporates both the T1w and the T2w data together to refine surface placement. fmriprep should do a little of this - if a T2w file is available in the BIDS directory - but I don't know if it does all the steps HCP does.

ciftify was really intended for the use case when gradient distortion and T2w data in not available.

Thanks, Erin

On Fri, Jul 9, 2021 at 1:04 PM Brian Winston @.***> wrote:

Closed #161 https://github.com/edickie/ciftify/issues/161.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/edickie/ciftify/issues/161#event-5001417611, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADEXT5X2XE4CPRXGY5GXPBLTW4T3PANCNFSM47MT7JKA .

mharms commented 2 years ago

Note that gradient nonlinearity correction is not a mandatory part of the HCPpipelines. It is an optional correction. And the current version of the HCPpipelines does support the situation in which no T2w scan is available.

bwinsto2 commented 2 years ago

That's true. In my case I had downloaded minimally preprocessed data from connnectomedb. Those data have all undergone GDC it seems.