Inline comments.

Tim

On Mon, Jan 15, 2018 at 12:43 PM, Seán Froudist Walsh <[email protected]>
wrote:

> Dear Matt and Tim,
>
> Thanks for your help.
>
> I moved the midthickness-new-out surface from the wb_shortcuts
> -freesurfer-resample-prep command back into the FreeSurfer volume space,
> by converting from RAS to voxel coordinates. This surface seemed to line up
> perfectly with the orig.nii anatomical in conformed FreeSurfer space. When
> I overlay the group average (s1200) myelin map on the midthickness-new-out
> surface it looks like it lines up great with the gyri/sulci.
>
> From this I understand that the surface mesh is overlaid in such a way as
> to impose anatomical correspondence between the native and HCP average
> brains, but the midthickness-new-out surface is still aligned with the
> native (conformed) brain. Is this correct?
>

You are close, and the issue might only be terminology, and Matt mostly
covered it.  Surface registration doesn't change the shape of the brain,
but group averaging surfaces does change the shape - group average surfaces
don't look like a normal brain, they are much smoother.  I wouldn't call it
"anatomical correspondence" between the HCP average surface and the
subject, because to me that implies that the coordinates of the surfaces
line up (which they won't).  The thing that is usually most important is
what registration was used to generate the registered sphere - in this
case, it sounds like you used the freesurfer-generated registered sphere,
so your registration type is freesurfer.  This determines what kind of
correspondence you have across subjects processed the same way (for group
analysis).

Both midthickness-current-out and midthickness-new-out will align with the
same volume files, the only difference between them is in how they fit
triangles to the contour of the surface (how many triangles, how they are
numbered, how much they vary in size...).  Specifically,
midthickness-new-out will have the same number of triangles, with each
triangle in a corresponding location, across all subjects you do this
procedure with, so you can therefore combine vertexwise data across such
subjects.  Additionally, because you used our atlas resampling from
freesurfer to fs_LR, you are now set up to compare across hemispheres, or
to HCP data, without much additional effort.


> I managed to get the Nearest-Neighbour-like mapping I wanted done in
> Matlab. When I display this on the group average surfaces, it also looks
> pretty good. I just want to check that the workbench steps I have taken are
> correct.
>
> Best wishes,
>
> Sean
>
> On 3 January 2018 at 17:19, Timothy Coalson <[email protected]> wrote:
>
>> The fs_LR 32k spheres use a resolution (vertex spacing) that is suitable
>> for 2mm fMRI data, but it sounds like you are using structural-resolution
>> voxels.  As Matt says, I would put the fs_LR surface into your volume
>> space, and do only a single mapping, because nearest neighbor or enclosing
>> voxel mapping is extremely lossy - additionally, I would use the 164k
>> spheres instead.
>>
>> Other forms of resampling, meant for continuous data, are not as lossy
>> because they can approximate the underlying function, but "voxel identity"
>> is not a continuous function.  I don't know exactly what you are doing, but
>> I would suggest mapping the data that *is* continuous onto fs_LR registered
>> surfaces, and then re-posing your "element identity" as vertex indices,
>> rather than T1w voxels.  If this doesn't let you do what you want, then
>> maybe you can do per-subject independent volume analysis, and then map the
>> results of that onto the individual's surface before combining across
>> subjects?
>>
>> If you want to explain your bigger-picture goal, we might have other
>> useful suggestions.
>>
>> Tim
>>
>>
>> On Wed, Jan 3, 2018 at 11:58 AM, Glasser, Matthew <[email protected]>
>> wrote:
>>
>>> I think I would probably resample the subject’s own FS_LR registered
>>> surfaces into the FreeSurfer space (an exact transformation) and then do a
>>> single mapping from volume to surface.  You would need to figure out the
>>> affine matrix that describes this transform.
>>>
>>> Peace,
>>>
>>> Matt.
>>>
>>> From: <[email protected]> on behalf of Seán
>>> Froudist Walsh <[email protected]>
>>> Date: Wednesday, January 3, 2018 at 10:29 AM
>>> To: "[email protected]" <[email protected]>
>>> Subject: [HCP-Users] volume to average surface with Nearest Neighbour
>>> interpolation
>>>
>>> Dear HCP experts,
>>>
>>> I am interested in mapping individual voxels in a subject's FreeSurfer
>>> conformed space (orig.nii) onto the HCP template (fsaverage_LR) while
>>> maintaining the original voxel values.
>>>
>>> All of the voxels lie within the LH cortical ribbon in the (conformed)
>>> volume space. There are 186 voxels with non-zero values that act as unique
>>> identifiers, with all other voxels having a value of zero.
>>>
>>> I have prepared the native FreeSurfer to HCP transformations, then
>>> performed volume-to-surface mapping of the sample data, and finally applied
>>> the FreeSurfer-to-HCP transform to the sample data. I have tried to
>>> identify the options that perform something like Nearest Neighbour
>>> assignment, as I need to maintain the original values as identifiers. The
>>> problem I am facing is that volume-to-surface mapping as done below reduces
>>> the number of non-zero voxels/vertices from 186 to 94, and the
>>> Freesufer-to-HCP resampling reduces the number of non-zero vertices further
>>> from 94 to 13 non-zero points.
>>>
>>> I would greatly appreciate your guidance as to the best way to achieve
>>> my desired goal of obtaining all 186 vertices with their original values
>>> onto the HCP template. Should I map each voxel to the closest voxel on the
>>> FreeSurfer WM surface, or something similar?
>>>
>>> The commands I used are shown below.
>>>
>>> Many thanks,
>>>
>>> Sean
>>>
>>> wb_shortcuts -freesurfer-resample-prep lh.white.surf.gii
>>> lh.pial.surf.gii lh.sphere.FSave.reg.surf.gii HCP_S1200_GroupAvg_v1/standard
>>> _mesh_atlases/resample_fsaverage/fs_LR-deformed_to-fsaverage.L.sphere.32k_fs_LR.surf.gii
>>> lh.midthickness.surf.gii 
>>> ${current_subject}.l.midthickness.32k_fs_LR.surf.gii
>>> lh.sphere.HCP.reg.surf.gii
>>>
>>> and then created a volume-to-surface mapping, while maintaining the
>>> original voxel/vertex values using
>>>
>>> wb_command -volume-to-surface-mapping ' 
>>> {current_subject}_samples_LH_cortex.nii.gz
>>> lh.midthickness.surf.gii   samples_native.shape.gii -enclosing
>>>
>>>
>>>
>>> and then applied the transform using
>>>
>>> wb_command -metric-resample samples_native.shape.gii
>>> lh.sphere.HCP.reg.surf.gii HCP_S1200_GroupAvg_v1/standard
>>> _mesh_atlases/resample_fsaverage/fs_LR-deformed_to-fsaverage
>>> .L.sphere.32k_fs_LR.surf.gii  BARYCENTRIC -largest {current_subject}
>>> _samples_HCP.shape.gii
>>>
>>>
>>> _______________________________________________
>>> HCP-Users mailing list
>>> [email protected]
>>> http://lists.humanconnectome.org/mailman/listinfo/hcp-users
>>>
>>> _______________________________________________
>>> HCP-Users mailing list
>>> [email protected]
>>> http://lists.humanconnectome.org/mailman/listinfo/hcp-users
>>>
>>
>>
>

_______________________________________________
HCP-Users mailing list
[email protected]
http://lists.humanconnectome.org/mailman/listinfo/hcp-users

Reply via email to