-
Notifications
You must be signed in to change notification settings - Fork 35
Gyrification index, mean and gaussian curvature
stnava edited this page Apr 4, 2020
·
4 revisions
Method : Shape operator for images
example calculation of sulci and gyri https://imgur.com/a/DVoNL8N
see ?localGyrificationIndex
in ANTsR
library( ANTsR )
fn = 'brainseg.nii.gz'
seg = antsImageRead( fn )
gm = thresholdImage( seg, 2, 4 )
wm = thresholdImage( seg, 3, 4 )
wmdil = morphology( wm, 'dilate', 1 )
wmdil = smoothImage( wmdil * gm, 0.5 )
##################
kapch = weingartenImageCurvature( wmdil, 3.0, 'characterize' )
antsImageWrite( kapch, '/tmp/kapch.nii.gz' )
kapmn = weingartenImageCurvature( wmdil, 3.0, 'mean' )
antsImageWrite( kapmn, '/tmp/kapmn.nii.gz' )
fn = 'cortex.nii.gz'
ctx = antsImageRead( fn )
antsImageWrite( kapch * ctx, '/tmp/kapctx.nii.gz' )
gyrsulc = kapch * ctx
gyri = thresholdImage( gyrsulc, 1, 1 ) + thresholdImage( gyrsulc, 5, 5 )
sulc = thresholdImage( gyrsulc, 2, 2 ) + thresholdImage( gyrsulc, 6, 6 )
gyrsulc = gyri + sulc * 2
antsImageWrite( gyrsulc, '/tmp/kapgs.nii.gz' )
# count gyrus and sulcus
table( gyrsulc[ gyrsulc > 0] )
approximate:
"amount of cortex buried within the sulcal folds as compared with the amount of visible cortex in circular regions of interest"
See below for index to surface characterization:
for surface characterization
1 == (+) bowl
2 == (-) bowl
3 == (+) saddle
4 == (-) saddle
5 == (+) U
6 == (-) U
7 == flat
8 == a perfectly even saddle (rare)