各位老师同学们好,
我想用Schaefer2018模板计算dwi连接组,我现在有T1数据(1x1x1 mm)和dwi图像(2x2x2 mm)以及1/2mm的模板
我是按照这个方法(见kerstin的回复)把T1w配准到DWI的,这个方法会保持T1的原始分辨率并配准。然后我将2x2x2 Schaefer模板配准到T1w图像上,然后用T1w到dwi变换的变形场对T1w进行变化。
但是,在atlas配准到t1w的过程中,模板被上采样到1x1x1 mm,T1w的DWI的变换的变形场又保持了1x1x1分辨率,导致模板与DWI数据不兼容。这部分代码可以在下面脚本的T1 preprocessing和parcellation registraion中找到。
最后附上完整的脚本供参考。如果代码中有什么问题或者错误,欢迎大家给我指出,谢谢!
提前感谢大家!
DWI preprocessing
mrconvert data.nii dwi.mif -fslgrad bvecs bvals -datatype float32 -info -nthreads 72
dwi2mask dwi.mif - | maskfilter - dilate DWI_mask.mif -nthreads 72 -npass 3 -force -info
dwidenoise dwi.mif dwi_denoised.mif -mask DWI_mask.mif -nthreads 72
mrdegibbs dwi_denoised.mif dwi_denoised_unringed.mif -nthreads 72
dwifslpreproc dwi_denoised_unringed.mif dwi_denoised_unringed_preproc.mif -pe_dir AP -rpe_none -eddy_options " --slm=linear " -nthreads 72
dwibiascorrect ants dwi_denoised_unringed_preproc.mif DWI_bias_ants.mif -bias bias_ants_field.mif -nthreads 72 -force -info
dwiextract DWI_bias_ants.mif - -bzero | mrmath - mean meanb0.nii.gz -axis 3 -force -info
T1 preprocessing
robustfov -i T1.nii -r T1_crop.nii.gz
bet T1_crop.nii T1_brain.nii.gz -R -S
flirt -in meanb0.nii.gz -ref T1_brain.nii.gz -dof 6 -omat tmp.mat
fast -t 1 -n 3 -o structural T1_brain.nii.gz
fslmaths structural_pve_2.nii.gz -thr 0.5 -bin structural_WMseg.nii.gz
flirt -in meanb0.nii.gz -ref T1_brain.nii.gz -dof 6 -cost bbr -wmseg structural_WMseg.nii.gz -init tmp.mat -omat diff_to_structural-bbr.mat -schedule $FSLDIR/etc/flirtsch/bbr.sch
transformconvert diff_to_structural-bbr.mat meanb0.nii.gz T1_brain.nii.gz flirt_import diff_to_structural-bbr-mrtrixformat.txt
mrtransform T1_crop.nii.gz -linear diff_to_structural-bbr-mrtrixformat.txt T1_realign.nii.gz -inverse -interp nearest
mrconvert T1_realign.nii.gz T1.mif
parcellation registraion
flirt -in T1_brain.nii.gz -ref $FSLDIR/data/standard/MNI152_T1_2mm_brain.nii.gz -dof 12 -out T1toMNIlin.nii.gz -omat T1toMNIlin.mat
fnirt --ref=MNI152_T1_2mm --in=T1_brain.nii.gz --aff=T1toMNIlin.mat --config=T1_2_MNI152_2mm.cnf --iout=T1toMNInonlin.nii.gz --cout=T1toMNI_coef.nii.gz --fout=T1toMNI_warp.nii.gz
invwarp --ref=T1_brain.nii.gz --warp=T1toMNI_warp.nii.gz --out=MNItoT1_warp.nii.gz
applywarp --ref=T1_brain.nii --in=/mnt/Project/template/Schaefer2018_400Parcels_7Networks_order_FSLMNI152_2mm.nii.gz --warp=MNItoT1_warp.nii.gz --out=ind_node7_T1.nii.gz --interp=nn
mrtransform ind_node7_T1.nii.gz -linear diff_to_structural-bbr-mrtrixformat.txt ind_node7_dwi.nii.gz -inverse
mrgrid ind_node7_dwi.nii.gz regrid -voxel 2,2,2 ind_node_resampled.nii.gz -interp nearest -datatype int32
mrconvert ind_node_resampled.nii.gz ind_node7.mif
FOD and Tractography
5ttgen fsl T1.mif 5tt_coreg.mif -nthreads 72
5tt2gmwmi 5tt_coreg.mif gmwmSeed.mif -nthreads 72
dwi2response dhollander DWI_bias_ants.mif response_wm.txt response_gm.txt response_csf.txt -voxels RF_voxels.mif -nthreads 72 -force -info
ss3t_csd_beta1 DWI_bias_ants.mif response_wm.txt wmfod.mif response_gm.txt gm.mif response_csf.txt csf.mif -mask DWI_mask.mif -nthreads 72 -force -info
mtnormalise wmfod.mif wmfod_norm.mif -mask DWI_mask.mif -check_norm mtnormalise_norm.mif -check_mask mtnormalise_mask.mif -nthreads 72 -force -info
tckgen -act 5tt_coreg.mif -backtrack -seed_gmwmi gmwmSeed.mif -nthreads 72 -minlength 30 -maxlength 250 -cutoff 0.06 -select 20M wmfod_norm.mif tracks_20M.tck
tcksift2 -act 5tt_coreg.mif -out_mu sift_mu_20M.txt -out_coeffs sift_coeffs_20M.txt -nthreads 72 tracks_20M.tck wmfod_norm.mif sift_20M.txt
connectome
tck2connectome -force -symmetric -zero_diagonal -nthreads 72 -assignment_radial_search 2 -scale_invnodevol -tck_weights_in sift_20M.txt tracks_20M.tck ind_node7.mif sc.csv -out_assignment assignments_20M_node_7_20.csv