Dear experts,
I would like to map DWI-derived measures (e.g., NDI from NODDI modeling) from the native T1 volume space to the fsLR 32k surface space, and then extract ROI-wise mean values based on the HCP-MMP1 atlas. I followed the approach described in the following paper and its associated code (
https://github.com/RIKEN-BCIL/NoddiSurfaceMapping):
Fukutomi, H., Glasser, M. F., Zhang, H., Autio, J. A., Coalson, T. S., Okada, T., Togashi, K., Van Essen, D. C., & Hayashi, T. (2018). Neurite imaging reveals microstructural variations in human cerebral cortical gray matter. NeuroImage, 182, 488–499.
https://doi.org/10.1016/j.neuroimage.2018.02.017
I have a few questions and would greatly appreciate your advice:
1. Is the myelin-style resampling method still recommended for mapping DWI measures (such as NDI, ODI, etc.) to the cortical surface?
2. How should the FWHM smoothing parameter be chosen when the voxel size of my data differs from that of the HCP-YA dataset? Currently, I use 2.5 times the voxel size, as in the original code.
For clarity, here is the code I am currently using (using NDI as an example):
## Map from native to MNI space
wb_command -volume-resample NDI.nii.gz \
./MNINonLinear/T1w_restore.nii.gz \
CUBIC NDI_MNI.nii.gz \
-warp ./MNINonLinear/xfms/acpc_dc2standard.nii.gz \
-fnirt ./T1w/T1w_acpc_dc_restore.nii.gz
## Extract the cortical ribbon
fslmaths ./MNINonLinear/ribbon.nii.gz -thr 3 -uthr 3 -bin ribbon_L.nii.gz
fslmaths ./MNINonLinear/ribbon.nii.gz -thr 42 -uthr 42 -bin ribbon_R.nii.gz
## Map from MNI volume to native surface
DiffRes="`fslval ./T1w/Diffusion/data.nii.gz pixdim1 | awk '{printf "%0.2f",$1}'`"
NODDIMappingFWHM="`echo "$DiffRes * 2.5" | bc -l`"
NODDIMappingSigma=`echo "$NODDIMappingFWHM / ( 2 * ( sqrt ( 2 * l ( 2 ) ) ) )" | bc -l`
for curr_hemi in L R
do
wb_command -volume-to-surface-mapping NDI_MNI.nii.gz \
./MNINonLinear/Native/${curr_sub}.${curr_hemi}.midthickness.native.surf.gii \
${curr_hemi}.NDI.native.func.gii \
-myelin-style ribbon_${curr_hemi}.nii.gz \
./MNINonLinear/Native/${curr_sub}.${curr_hemi}.thickness.native.shape.gii "$NODDIMappingSigma"
done
## Map from native surface to fsLR 32k space
for curr_hemi in L R
do
wb_command -metric-resample ${curr_hemi}.NDI.native.func.gii \
./MNINonLinear/Native/${curr_sub}.${curr_hemi}.sphere.MSMAll.native.surf.gii \
./MNINonLinear/fsaverage_LR32k/${curr_sub}.${curr_hemi}.sphere.32k_fs_LR.surf.gii \
ADAP_BARY_AREA ${curr_hemi}.NDI.MSMAll.fsLR_32k.func.gii \
-area-surfs ./MNINonLinear/Native/${curr_sub}.${curr_hemi}.midthickness.native.surf.gii \
./MNINonLinear/fsaverage_LR32k/${curr_sub}.${curr_hemi}.midthickness_MSMAll.32k_fs_LR.surf.gii \
-current-roi ./MNINonLinear/Native/${curr_sub}.${curr_hemi}.roi.native.shape.gii
wb_command -metric-mask ${curr_hemi}.NDI.MSMAll.fsLR_32k.func.gii \
./MNINonLinear/fsaverage_LR32k/${curr_sub}.${curr_hemi}.atlasroi.32k_fs_LR.shape.gii \
${curr_hemi}.NDI.MSMAll.fsLR_32k.func.gii
done
Thank you in advance for your time and expertise!
Best regards,
Yang Hu