Preprocessing config of GSP dataset used in Yan et al., 2023 & Li et al., 2019

54 views
Skip to first unread message

Yijun Liu

unread,
Apr 17, 2024, 1:33:52 AM4/17/24
to CBIG users
Hi all,

Thanks for open-sourcing preprocessing-related scripts. I wonder if you can clarify the following questions regarding the config of preprocessing the GSP dataset used in Yan et al., 2023 and Li et al., 2019 (According to the papers, they underwent the same preprocessing pipeline)

1. For T1 image preprocessing, should I run CBIG_preproc_recon-all.csh (which includes CBIG_preproc_deoblique for T1), or should just run recon-all in freesurfer as described in Li et al., 2019?

2. Regarding the fourth step (alignment with structural image using boundary-based registration), is it performed using bbregister as in the example config file  or it is fsFast as described in Li et al., 2019? If it's the latter, what are the actual commands used specifically?

3. Regarding slice time correction, it looks like the numbers in example_slice_order.txt and example_slice_timing.txt  match the GSP dataset, so for GSP dataset, is it safe to just input these two files for slice time correction?

It would be great if you can release the actual config file for preprocessing the GSP dataset like the example config file. This is probably the easiest way to clarify these questions.


Regards,
Yijun

Aihuiping Xue

unread,
Apr 17, 2024, 6:04:53 AM4/17/24
to Yijun Liu, CBIG users
Hi Yijun,

I'm also including CBIG users.

This might be the config file you are looking for:

CBIG_preproc_skip -skip 4
CBIG_preproc_fslslicetimer
CBIG_preproc_fslmcflirt_outliers -FD_th 0.2 -DV_th 50 -discard-run 50 -rm-seg 5
CBIG_preproc_bbregister -intrasub_best
CBIG_preproc_regress -whole_brain -erode_space anat -wm -wm_max_erode 3 -csf -csf_max_erode 1 -motion12_itamar -detrend_method detrend -per_run -censor -polynomial_fit 1
CBIG_preproc_censor -nocleanup
CBIG_preproc_bandpass -low_f 0.009 -high_f 0.08 -detrend
CBIG_preproc_native2fsaverage -proj fsaverage6 -down fsaverage5 -sm 6

When we did the preprocessing, we didn't have the deoblique step in our pipeline. But we recommend you include this step. 

If no parameters are passed into CBIG_preproc_fslslicetimer, it will automatically generate the slice order, which is the same as example_slice_order.txt.

Best Regards,
XUE Aihuiping

--
You received this message because you are subscribed to the Google Groups "CBIG users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cbig_users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/cbig_users/78c118b7-ada4-4e2b-bb0c-4b0af6b0f4e6n%40googlegroups.com.

Yijun Liu

unread,
Apr 17, 2024, 5:28:58 PM4/17/24
to CBIG users
Hi Aihuiping,

Thank you for your prompt response! The config file provided is very helpful.

I just wanted to confirm one detail: I noticed that aside from slice order, the slice timing file is important, as indicated by these lines in the example config. Regarding the example slice timing file used in the example config, is it tailored specifically for the GSP dataset? It would be nice if it is the case.

Regards,
Yijun

Yijun Liu

unread,
Apr 21, 2024, 9:42:59 PM4/21/24
to CBIG users
Hi there,

Just want to follow up on the question about slice timing of GSP dataset. There are two columns in the example slice timing file in CBIG repo. The first column seems to match the description in the GSP paper (interleaved acquisition with slice order 1, 3, 5, ... 47, then 2, 4, 6, ..., 46, with TR=3. There are 47 slices in total, and 3/47 = 0.06383 which is the first number). However, I'm not sure about the second column: why there is a 0.01 shift from the first column?

According to the comments in the script, this corresponds to the second run of the acquisition. However, I didn't find related slice timing information regarding the second run in the GSP paper, and I'm not sure what this shift will affect the outcome. If you can clarify this it will be great.

Regards,
Yijun

Aihuiping Xue

unread,
Apr 22, 2024, 11:48:39 PM4/22/24
to Yijun Liu, CBIG users
Hi Yijun,

This is just an example. Please refer to the data source for accurate information about slice timing.

Best Regards,
XUE Aihuiping

Aihuiping Xue

unread,
Apr 24, 2024, 3:10:27 AM4/24/24
to Yijun Liu, CBIG users
Hi Yijun,

As I clarified before, this is just an EXAMPLE config for general usage. It is NOT related to any dataset. 

For the case of GSP, no need to pass in any slice timing file. It will generate the correct slice order. 

I double checked the old config I shared with you, and I found our bbregister function is updated, and the -intrasub_best option is removed for current version. So if you want to proceed without the deoblique step, you can use:

CBIG_preproc_skip -skip 4
CBIG_preproc_fslslicetimer
CBIG_preproc_fslmcflirt_outliers -FD_th 0.2 -DV_th 50 -discard-run 50 -rm-seg 5
CBIG_preproc_bbregister
CBIG_preproc_regress -whole_brain -erode_space anat -wm -wm_max_erode 3 -csf -csf_max_erode 1 -motion12_itamar -detrend_method detrend -per_run -censor -polynomial_fit 1
CBIG_preproc_censor -nocleanup
CBIG_preproc_bandpass -low_f 0.009 -high_f 0.08 -detrend
CBIG_preproc_native2fsaverage -proj fsaverage6 -down fsaverage5 -sm 6

If you want to include the deoblique step, simply add it to the top:

CBIG_preproc_deoblique
CBIG_preproc_skip -skip 4
CBIG_preproc_fslslicetimer
CBIG_preproc_fslmcflirt_outliers -FD_th 0.2 -DV_th 50 -discard-run 50 -rm-seg 5
CBIG_preproc_bbregister
CBIG_preproc_regress -whole_brain -erode_space anat -wm -wm_max_erode 3 -csf -csf_max_erode 1 -motion12_itamar -detrend_method detrend -per_run -censor -polynomial_fit 1
CBIG_preproc_censor -nocleanup
CBIG_preproc_bandpass -low_f 0.009 -high_f 0.08 -detrend
CBIG_preproc_native2fsaverage -proj fsaverage6 -down fsaverage5 -sm 6

Best Regards,
XUE Aihuiping


Yijun Liu

unread,
Apr 24, 2024, 4:43:33 PM4/24/24
to Aihuiping Xue, CBIG users
Hi Aihuiping,

Thanks for your reply!

Yijun
Reply all
Reply to author
Forward
0 new messages