Hi Panos,
Please see my responses interleaved.
Best,
Iman
From: freesurfer-bounces@nmr.mgh.harvard.edu <freesurfer-bounces@nmr.mgh.harvard.edu>
On Behalf Of Fotiadis, Panagiotis
Sent: Monday, April 25, 2022 10:48 PM
To: Freesurfer support list <freesurfer@nmr.mgh.harvard.edu>
Subject: Re: [Freesurfer] Cortical depth at each cortical voxel
Hi Iman,
Apologies for the follow up! I had a couple questions concerning the software:
In
makeLineSegments, you may want to use a
radius that is a few voxels larger than the maximum thickness that you expect (voxels being the unit of the measured thickness).
That is correct.
Would there be, however, a way to compute the cortical depth of each cortical voxel from the outer surface layer of the cortical ribbon? I believe that would be distance t1(v) mentioned in the equations and text in p. 3199 of your paper, but I unfortunately
wasn’t able to pinpoint that variable in the scripts. Is that variable hard-coded in the scripts, or would you recommend that I follow a different approach to calculate that (for instance set up a conditional argument where I use cortical depth = Thickness/2
– SkeletonDistance if the voxel is above the skeleton layer, and cortical depth = Thickness/2 + SkeletonDistance if the voxel is below the skeleton layer)?
t1(v) is the
oneSidedThickness_partial variable in the
MLI_thickness function. The algorithm, however, works pretty locally and cannot really distinguish between the inner and outer surfaces
of the cortical ribbon. So, In order to use t1(v) for your purpose (or your other suggested approach), you would need a label for each voxel that says which surface the voxel is closer to. If you have masks for the subcortical areas (e.g. the white-matter
mask) and the beyond-pial area (~(GM | WM)), you could create such a label by comparing the distance transform maps created from the
two masks (by Matlab’s bwdist function). In fact, the distance transform from the latter mask might just give you the cortical depth
that you are looking for.
Thank you again very much for your time and help!
Best,
Panos
From:
freesurfer-bounces@nmr.mgh.harvard.edu <freesurfer-bounces@nmr.mgh.harvard.edu> on
behalf of Aganj, Iman <IAGANJ@mgh.harvard.edu>
Date: Thursday, April 21, 2022 at 1:02 PM
To: Freesurfer support list <freesurfer@nmr.mgh.harvard.edu>
Subject: [External] Re: [Freesurfer] Cortical depth at each cortical voxel
Of course! Please let me know if you have any questions about the toolbox.
Best,
Iman
From:
freesurfer-bounces@nmr.mgh.harvard.edu <freesurfer-bounces@nmr.mgh.harvard.edu>
On Behalf Of Fotiadis, Panagiotis
Sent: Thursday, April 21, 2022 12:32 PM
To: Freesurfer support list <freesurfer@nmr.mgh.harvard.edu>
Subject: Re: [Freesurfer] Cortical depth at each cortical voxel
Hi Iman,
That is extremely helpful, thank you very much (also the paper is a great read)!
Best,
Panos
From:
freesurfer-bounces@nmr.mgh.harvard.edu <freesurfer-bounces@nmr.mgh.harvard.edu> on
behalf of Aganj, Iman <IAGANJ@mgh.harvard.edu>
Date: Thursday, April 21, 2022 at 12:06 PM
To: Freesurfer support list <freesurfer@nmr.mgh.harvard.edu>
Subject: [External] Re: [Freesurfer] Cortical depth at each cortical voxel
Hi Panos,
You can do such a volumetric analysis using this toolbox:
Code: https://www.nitrc.org/projects/thickness
Paper: https://onlinelibrary.wiley.com/doi/epdf/10.1002/hbm.20740
You can apply the MLI_thickness function to the gray matter (soft or binary) mask,
which returns the layer thickness at each voxel (Thickness) and the distance of each voxel to the center of the layer (SkeletonDistance).
Cortical depth would then be SkeletonDistance at the given voxel subtracted from half of
Thickness (at the voxel, or preferably on the skeleton for better accuracy). A tutorial is included in the
EXAMPLE file.
Best,
Iman
From:
freesurfer-bounces@nmr.mgh.harvard.edu <freesurfer-bounces@nmr.mgh.harvard.edu>
On Behalf Of Fotiadis, Panagiotis
Sent: Thursday, April 21, 2022 11:48 AM
To: freesurfer@nmr.mgh.harvard.edu
Subject: [Freesurfer] Cortical depth at each cortical voxel
Hi FS experts,
I was wondering whether there was a way to assign each cortical voxel within the T1w (volumetric) scan an index corresponding to its “cortical depth.” I have essentially
taken the cortical ribbon .mgz file, assigned each cortical voxel a voxel ID, and wanted to associate each ID with its corresponding cortical depth. I would normally use the *h.sulc files but I didn’t think this would properly translate here since it’s a volumetric
analysis.
Thank you in advance for your time and help!
Best
Panos
--
Panagiotis Fotiadis
Ph.D. Candidate | Neuroscience Graduate Group
Perelman School of Medicine, University of Pennsylvania