{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"155622"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"from freesurfer_surface import Surface\n",
"\n",
"SUBJECTS_DIR = '../tests/subjects'\n",
"surface = Surface.read_triangular(SUBJECTS_DIR + '/fabian/surf/lh.pial')\n",
"surface.load_annotation_file(SUBJECTS_DIR + '/fabian/label/lh.aparc.annot')\n",
"len(surface.annotation.vertex_values)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/autofs/space/tanha_002/users/greve/fsdev.build/average/colortable_desikan_killiany.txt'"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"surface.annotation.colortable_path.decode()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" name | \n",
" red | \n",
" green | \n",
" blue | \n",
" transparency | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" unknown | \n",
" 25 | \n",
" 25 | \n",
" 5 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" bankssts | \n",
" 25 | \n",
" 40 | \n",
" 100 | \n",
" 0 | \n",
"
\n",
" \n",
" 2 | \n",
" caudalanteriorcingulate | \n",
" 125 | \n",
" 160 | \n",
" 100 | \n",
" 0 | \n",
"
\n",
" \n",
" 3 | \n",
" caudalmiddlefrontal | \n",
" 100 | \n",
" 0 | \n",
" 25 | \n",
" 0 | \n",
"
\n",
" \n",
" 4 | \n",
" corpuscallosum | \n",
" 120 | \n",
" 50 | \n",
" 70 | \n",
" 0 | \n",
"
\n",
" \n",
" 5 | \n",
" cuneus | \n",
" 220 | \n",
" 100 | \n",
" 20 | \n",
" 0 | \n",
"
\n",
" \n",
" 6 | \n",
" entorhinal | \n",
" 220 | \n",
" 10 | \n",
" 20 | \n",
" 0 | \n",
"
\n",
" \n",
" 7 | \n",
" fusiform | \n",
" 180 | \n",
" 140 | \n",
" 220 | \n",
" 0 | \n",
"
\n",
" \n",
" 8 | \n",
" inferiorparietal | \n",
" 220 | \n",
" 220 | \n",
" 60 | \n",
" 0 | \n",
"
\n",
" \n",
" 9 | \n",
" inferiortemporal | \n",
" 180 | \n",
" 120 | \n",
" 40 | \n",
" 0 | \n",
"
\n",
" \n",
" 10 | \n",
" isthmuscingulate | \n",
" 140 | \n",
" 140 | \n",
" 20 | \n",
" 0 | \n",
"
\n",
" \n",
" 11 | \n",
" lateraloccipital | \n",
" 20 | \n",
" 140 | \n",
" 30 | \n",
" 0 | \n",
"
\n",
" \n",
" 12 | \n",
" lateralorbitofrontal | \n",
" 35 | \n",
" 50 | \n",
" 75 | \n",
" 0 | \n",
"
\n",
" \n",
" 13 | \n",
" lingual | \n",
" 225 | \n",
" 140 | \n",
" 140 | \n",
" 0 | \n",
"
\n",
" \n",
" 14 | \n",
" medialorbitofrontal | \n",
" 200 | \n",
" 75 | \n",
" 35 | \n",
" 0 | \n",
"
\n",
" \n",
" 15 | \n",
" middletemporal | \n",
" 160 | \n",
" 50 | \n",
" 100 | \n",
" 0 | \n",
"
\n",
" \n",
" 16 | \n",
" parahippocampal | \n",
" 20 | \n",
" 60 | \n",
" 220 | \n",
" 0 | \n",
"
\n",
" \n",
" 17 | \n",
" paracentral | \n",
" 60 | \n",
" 60 | \n",
" 220 | \n",
" 0 | \n",
"
\n",
" \n",
" 18 | \n",
" parsopercularis | \n",
" 220 | \n",
" 140 | \n",
" 180 | \n",
" 0 | \n",
"
\n",
" \n",
" 19 | \n",
" parsorbitalis | \n",
" 20 | \n",
" 50 | \n",
" 100 | \n",
" 0 | \n",
"
\n",
" \n",
" 20 | \n",
" parstriangularis | \n",
" 220 | \n",
" 20 | \n",
" 60 | \n",
" 0 | \n",
"
\n",
" \n",
" 21 | \n",
" pericalcarine | \n",
" 120 | \n",
" 60 | \n",
" 100 | \n",
" 0 | \n",
"
\n",
" \n",
" 22 | \n",
" postcentral | \n",
" 220 | \n",
" 20 | \n",
" 20 | \n",
" 0 | \n",
"
\n",
" \n",
" 23 | \n",
" posteriorcingulate | \n",
" 220 | \n",
" 220 | \n",
" 180 | \n",
" 0 | \n",
"
\n",
" \n",
" 24 | \n",
" precentral | \n",
" 60 | \n",
" 220 | \n",
" 20 | \n",
" 0 | \n",
"
\n",
" \n",
" 25 | \n",
" precuneus | \n",
" 160 | \n",
" 180 | \n",
" 140 | \n",
" 0 | \n",
"
\n",
" \n",
" 26 | \n",
" rostralanteriorcingulate | \n",
" 80 | \n",
" 140 | \n",
" 20 | \n",
" 0 | \n",
"
\n",
" \n",
" 27 | \n",
" rostralmiddlefrontal | \n",
" 75 | \n",
" 125 | \n",
" 50 | \n",
" 0 | \n",
"
\n",
" \n",
" 28 | \n",
" superiorfrontal | \n",
" 20 | \n",
" 160 | \n",
" 220 | \n",
" 0 | \n",
"
\n",
" \n",
" 29 | \n",
" superiorparietal | \n",
" 20 | \n",
" 140 | \n",
" 180 | \n",
" 0 | \n",
"
\n",
" \n",
" 30 | \n",
" superiortemporal | \n",
" 140 | \n",
" 220 | \n",
" 220 | \n",
" 0 | \n",
"
\n",
" \n",
" 31 | \n",
" supramarginal | \n",
" 80 | \n",
" 20 | \n",
" 160 | \n",
" 0 | \n",
"
\n",
" \n",
" 32 | \n",
" frontalpole | \n",
" 100 | \n",
" 100 | \n",
" 0 | \n",
" 0 | \n",
"
\n",
" \n",
" 33 | \n",
" temporalpole | \n",
" 70 | \n",
" 170 | \n",
" 20 | \n",
" 0 | \n",
"
\n",
" \n",
" 34 | \n",
" transversetemporal | \n",
" 150 | \n",
" 200 | \n",
" 150 | \n",
" 0 | \n",
"
\n",
" \n",
" 35 | \n",
" insula | \n",
" 255 | \n",
" 32 | \n",
" 192 | \n",
" 0 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" name red green blue transparency\n",
"0 unknown 25 25 5 0\n",
"1 bankssts 25 40 100 0\n",
"2 caudalanteriorcingulate 125 160 100 0\n",
"3 caudalmiddlefrontal 100 0 25 0\n",
"4 corpuscallosum 120 50 70 0\n",
"5 cuneus 220 100 20 0\n",
"6 entorhinal 220 10 20 0\n",
"7 fusiform 180 140 220 0\n",
"8 inferiorparietal 220 220 60 0\n",
"9 inferiortemporal 180 120 40 0\n",
"10 isthmuscingulate 140 140 20 0\n",
"11 lateraloccipital 20 140 30 0\n",
"12 lateralorbitofrontal 35 50 75 0\n",
"13 lingual 225 140 140 0\n",
"14 medialorbitofrontal 200 75 35 0\n",
"15 middletemporal 160 50 100 0\n",
"16 parahippocampal 20 60 220 0\n",
"17 paracentral 60 60 220 0\n",
"18 parsopercularis 220 140 180 0\n",
"19 parsorbitalis 20 50 100 0\n",
"20 parstriangularis 220 20 60 0\n",
"21 pericalcarine 120 60 100 0\n",
"22 postcentral 220 20 20 0\n",
"23 posteriorcingulate 220 220 180 0\n",
"24 precentral 60 220 20 0\n",
"25 precuneus 160 180 140 0\n",
"26 rostralanteriorcingulate 80 140 20 0\n",
"27 rostralmiddlefrontal 75 125 50 0\n",
"28 superiorfrontal 20 160 220 0\n",
"29 superiorparietal 20 140 180 0\n",
"30 superiortemporal 140 220 220 0\n",
"31 supramarginal 80 20 160 0\n",
"32 frontalpole 100 100 0 0\n",
"33 temporalpole 70 170 20 0\n",
"34 transversetemporal 150 200 150 0\n",
"35 insula 255 32 192 0"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas\n",
"\n",
"labels_frame = pandas.DataFrame((vars(label) for label in surface.annotation.labels),\n",
" columns=['index', 'name', 'red', 'green', 'blue', 'transparency'])\n",
"labels_frame.drop(columns=['index'])"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" annotation_value | \n",
" vertex_index | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 6558940 | \n",
" 0 | \n",
"
\n",
" \n",
" 1 | \n",
" 6558940 | \n",
" 1 | \n",
"
\n",
" \n",
" 2 | \n",
" 6558940 | \n",
" 2 | \n",
"
\n",
" \n",
" 3 | \n",
" 6558940 | \n",
" 3 | \n",
"
\n",
" \n",
" 4 | \n",
" 6558940 | \n",
" 4 | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" annotation_value vertex_index\n",
"0 6558940 0\n",
"1 6558940 1\n",
"2 6558940 2\n",
"3 6558940 3\n",
"4 6558940 4"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas\n",
"\n",
"vertex_frame = pandas.DataFrame({'vertex_index': vertex_index, 'annotation_value': annotation_value}\n",
" for vertex_index, annotation_value in surface.annotation.vertex_values.items())\n",
"vertex_frame.head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10542100 12532\n",
"9221140 9883\n",
"9182740 9792\n",
"8204875 9484\n",
"1351760 8156\n",
"0 8062\n",
"14423100 7944\n",
"1316060 7095\n",
"14474380 7006\n",
"14433500 6737\n",
"9211105 5636\n",
"11832480 5560\n",
"3302560 5207\n",
"9231540 5003\n",
"7874740 4756\n",
"3296035 4383\n",
"6500 4128\n",
"2146559 4117\n",
"6558940 3033\n",
"4924360 3017\n",
"9221340 2839\n",
"3957880 2734\n",
"3988540 2507\n",
"1326300 2460\n",
"14464220 2352\n",
"9180300 1861\n",
"9180240 1711\n",
"10511485 1362\n",
"2647065 1322\n",
"3302420 1078\n",
"3988500 991\n",
"13145750 990\n",
"660700 789\n",
"11146310 727\n",
"6553700 368\n",
"Name: annotation_value, dtype: int64"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vertex_frame['annotation_value'].value_counts()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 2
}