Hi @mblesac,
Send the presentation through to logan.williams@kcl.ac.uk - happy to take a look.
Best wishes,
Logan
Hi @mblesac,
Send the presentation through to logan.williams@kcl.ac.uk - happy to take a look.
Best wishes,
Logan
Hi @seanfitz,
I have a rather simple question regarding the masking of functional data on the symmetrical atlas surface. Since the medial wall mask is represented as a probability, I have been struggling to find the right approach to mask the output of -volume-to-surface-mapping
. If I use it as is (anything that is not zero), I end up getting bleeding of ICs to the medial wall, but if I use it with a threshold of [0.5,0.9], I can see in individual subjects that a substantial amount of signal is lost.
I thought of an extra step so as to not to introduce spurious signal: Masking each subject which their native mask (from DrawEM tissue segmentation – unless I am mistaken – mapped to SymmAtlas space) and then dilate, before masking with a conservative (high threshold) atlas mask. What do you think of this approach?
Thank you very much in advance!
Best,
Diego
Hi Diego
I have been wrestling with this problem myself. The medial wall mask in the SymmAtlas is less than ideal, therefore @lzjwilliams and I have created a new medial wall mask for the atlas. The new mask is symmetrical across the hemispheres. Here is a screenshot of the mask:
We created the mask by:
wb_command -metric-remove-islands
)wb_command -metric-remove-islands
)Then I made it symmetrical by taking the intersection of the left and right hemisphere mask values.
I believe @lzjwilliams will add the new mask to the atlas download, but in the interim you can get it from here:
I hope this helps.
Cheers, Sean
Hi Sean,
Thank you very much to you and Logan. These look like a much better and more elegant solution than what I had done.
Best,
Diego
Hi Sean
I read your tips and used them.Thank you for your helpful tips.
But currently I am facing some challenges to perform surface based analysis on dhcp data.
1- First of all, I have doubts about choosing the native space or the standard space of 40 weeks of dhcp data and unfortunately I have not found a specific reason for choosing any of these spaces in the articles.
2- Correct me if I’m wrong but I think in order to use the standard 40-week space, I need to map the data (_task-rest_desc-preproc_bold.nii after masking) to the T2(masked) structural space (before volume to surface mapping) . For this step, we use the flirt command in FSL, which is due to the large number of volumes of each data, It is not possible to perform this step at once for each one.
Is there a way other than dividing the volumes, applying the transformation and merging them together? Is the final result in this method, the expected result?
3- And as the last question, somewhere you mentioned “signal loss” in dhcp data. What is the reason for this?
Sorry for the many questions. I hope to overcome these challenges with your guidance.
Best regards
Forough
Hi,
Thanks for your help.I am using Schuh et al. 40w template volume for initialing the align_to_template.sh volume template variable but I just confused that we should first align the volume template to MNI space and then use the output for initialing the align_to_template.sh or It doesn’t need to align the volume template to MNI space and that script align the volume to MNI space by it self?
Best regards,
Shirin
Hi Forough
I am slightly disoriented, are you trying to map individual BOLD data to a surface template or to a volumetric atlas space? If it is the former, I hope throughout this thread it was clear why Sean transforms the native surface from struct space to functional space before mapping onto the surface in this script.
If it is the latter, you would indeed have to first perform an affine transformation (flirt
) to structural space before warping (fnirt
) to the template space. Regarding acelleration of flirt
, I am not aware of any way to parallelize across volumes. You can parallelize across subjects, initiating different instances of flirt
in different threads. Additionally, since the dHCP preprocessed data already contains the calculated transformations from functional to structural space, you can use the -applyxfm
option. (I think there was a mistake in transformation matrices in the 3rd release, which I do not know if it was resolved, maybe Logan can provide some insight).
Regardless, you should be able to do BOLD to structural space affine transformation without too much trouble as long as you don’t resample to the very high resolution of 0.5mm isometric of the T2w image. The objective is to maintain the native (low) resolution of BOLD, but register it to structural space. Take a look at “Can I register to an image but use higher/lower resolution (voxel size)?” within the flirt documentation.
Regarding signal loss, I have mainly observed very low tSNR within inferior areas of the brain, particularly the subcortical structures, explained mainly by susceptibility issues. Additionally, the occipital and prefrontal lobes sometimes present faded BOLD signal due to, I assume, susceptibility-induced inhomogeneities that are particularly acute for neonates near air/tissue interfaces. Motion might also play a role. One of the first messages from Sean on this thread refers to the HCP strategy to deal with some of these issues while mapping onto the surface, a very nifty explanation is available on his github
I hope this information was useful, let me know if you have further questions.
Best,
Diego
Hi Diego
Thank you very much for your helpful response.
I will try to use the resources you provided and will be in touch with you for further questions, of course, if you don’t mind.
Best regards
Forough
Hi Diego
I’m sorry for having another question.
Based on what you and Sean said in this topic (No.27 & 28), I’m a bit confused.
If I understand correctly, the output of “hcp_surface.sh” script is the cortical surface for each data as a cifti file in the extdhcp40wk space. Can these obtained files be used for group analysis? For example functional connectivity calculation and analysis?
Does this script include all the steps needed to map the volume to the surface (have the result in the extdhcp40wk space), or are there other things to do in the following steps?
Best,
Forough
Hi Forough
Sorry I have been unresponsive, but I no longer work on the dHCP.
My repository has two scripts for projection of the fMRI to the surface:
dhcp/func/hcp_surface.sh
- a nearly vanilla implementation of the HCP approach.dhcp/func/surface.py
- a custom method with experimental partial volume correctionI suggest you use (1) dhcp/func/hcp_surface.sh
This will yield a CIFTI containing the fMRI where the cortical vertices have correspondence to dhcp32kSym
surface mesh, and the subcortical voxels will be in the extdhcp40wk
volumetric space.
At this point the data is comparable across subjects and suitable for group analysis.
I hope this makes sense.
If it helps, here are some notes on coordinate systems for the dHCP functional pipeline.
Cheers, Sean
Hi Sean
Thank you very very much for your help.
I thought that these mentioned cifti data are in dhcp third data release, but it is not like this. Have these cifti datas ever been released?
And I have another question. Is there a preference between surface based analysis and volume based analysis for studying functional connectivity of dhcp data? If so, what is the reason?
Best regards,
Forough
@forough_ahmadi HCP developers almost universally prefer surface over voxel based analyses. Surface-based analysis increases the specificity of cortical activation patterns and connectivity results | Scientific Reports
Hi Steven
Thank you very much for your quick answer. It was extremely helpful.
Best regards,
Forough
MANAGED BY INCF