Example of sulcal graph in slamΒΆ

# Authors:
# Lucile Hashimoto lucile-hashimoto
# Guillaume Auzias <guillaume.auzias@univ-amu.fr>

# License: MIT
# sphinx_gallery_thumbnail_number = 2

importation of slam modules

import numpy as np
import slam.io as sio
import slam.sulcal_graph as ssg
import slam.watershed as swat

loading an examplar mesh and corresponding texture

path_to_mesh = "../examples/data/example_mesh.gii"
path_to_texture = "../examples/data/example_texture.gii"
path_to_mask = None
mesh = sio.load_mesh(path_to_mesh)
side = "left"
texture = sio.load_texture(path_to_texture)
dpf = np.array(texture.darray[0])

# define the exclusion mask (cingular pole)
if path_to_mask is not None:
    mask = sio.load_texture(path_to_mask).darray[0]
else:
    mask = None

extract the sulcal graph from a mesh

g = ssg.extract_sulcal_graph(side, mesh, mask=mask)
        Computing the curvature

Calculating vertex normals .... Please wait
Finished calculating vertex normals
Calculating curvature tensors ... Please wait
Finished Calculating curvature tensors
Calculating Principal Components ... Please wait
Finished Calculating principal components

        Computing the DPF

  Computing Laplacian
    Computing mesh weights of type conformal
    -edge length threshold needed for  0  values =  0.0  %
    -number of Nan in weights:  0  =  0.0  %
    -number of Negative values in weights:  936  =  6.706792777300086  %
    -nb Nan in Laplacian :  0
    -nb Inf in Laplacian :  0

        Computing Voronoi's vertex

    -percent polygon with obtuse angle  29.4067067927773

        Computing the surface area

Computing watershed by flooding...
Thresholds provided:
-Distance between 2 pits:  5.3
-Ridge height:  1.5
-Basin area:  3.5
Number of basins found: 27
nb of basins to remove: 0
-------------------------
0  ->  4
[ 444  449  480 1997 2045]
ridge_length= 5
ridge_index= 2045
ridge_depth -0.005626444880465832
ridge_depth_diff_min= 0.0022356885067722643
ridge_depth_diff_max= 0.007418748606375234
4  ->  0
edge does not exist, as expected
-------------------------
0  ->  5
[ 517  877 2137 2160 2162 2176 2179 2193]
ridge_length= 8
ridge_index= 517
ridge_depth -0.007200393024976531
ridge_depth_diff_min= 0.00032953046308353395
ridge_depth_diff_max= 0.005844800461864535
5  ->  0
edge does not exist, as expected
-------------------------
0  ->  8
[ 365  369  397  402  716  717 1509 1552 1856 1924]
ridge_length= 10
ridge_index= 716
ridge_depth -0.003659871629618928
ridge_depth_diff_min= 0.0022509350373797923
ridge_depth_diff_max= 0.009385321857222137
8  ->  0
edge does not exist, as expected
-------------------------
0  ->  10
[ 597  606  622  631  633  634  645  646  648 1169]
ridge_length= 10
ridge_index= 622
ridge_depth 0.00032218562069523046
ridge_depth_diff_min= 0.004491088393052342
ridge_depth_diff_max= 0.013367379107536296
10  ->  0
edge does not exist, as expected
-------------------------
0  ->  15
[ 526  532  545  570 1047 1088 1120]
ridge_length= 7
ridge_index= 526
ridge_depth -0.0011928857143833657
ridge_depth_diff_min= 0.0014241813098428762
ridge_depth_diff_max= 0.0118523077724577
15  ->  0
edge does not exist, as expected
-------------------------
0  ->  16
[ 375  412  428  479  482  499  505  744  785  810 1523 1553]
ridge_length= 12
ridge_index= 479
ridge_depth -0.0008255777646831611
ridge_depth_diff_min= 0.0015770148147335361
ridge_depth_diff_max= 0.012219615722157904
16  ->  0
edge does not exist, as expected
-------------------------
0  ->  20
[582 585 588 598 609 625]
ridge_length= 6
ridge_index= 582
ridge_depth 0.0014051641351733833
ridge_depth_diff_min= 0.002642331428023473
ridge_depth_diff_max= 0.014450357622014449
20  ->  0
edge does not exist, as expected
-------------------------
1  ->  2
[  13   15   18  146  325  754 1867 1872 1891 1892]
ridge_length= 10
ridge_index= 13
ridge_depth -0.006363109817086598
ridge_depth_diff_min= 0.005250967817272839
ridge_depth_diff_max= 0.005852422702595798
2  ->  1
edge does not exist, as expected
-------------------------
1  ->  3
[ 139  706  726 1740 1791 1893]
ridge_length= 6
ridge_index= 1893
ridge_depth -0.003909125750427622
ridge_depth_diff_min= 0.006095693712165708
ridge_depth_diff_max= 0.008306406769254773
3  ->  1
edge does not exist, as expected
-------------------------
1  ->  7
[ 309  667 1513 1542 1544 1575 1578 1616 1620 1648 1649 1651]
ridge_length= 12
ridge_index= 1651
ridge_depth -0.0059760272214892315
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.006239505298193164
7  ->  1
edge does not exist, as expected
-------------------------
1  ->  8
[ 109  672  693  694  695  714  746  753 1512 1516 1518 1549 1830 1842
 1846 1871]
ridge_length= 16
ridge_index= 1846
ridge_depth -0.00591080666699872
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.006304725852683675
8  ->  1
edge does not exist, as expected
-------------------------
1  ->  21
[ 671 1570 1572 1607 1645 1681]
ridge_length= 6
ridge_index= 1607
ridge_depth -0.0005780210981720936
ridge_depth_diff_min= 0.0005053241081290945
ridge_depth_diff_max= 0.011637511421510302
21  ->  1
edge does not exist, as expected
-------------------------
2  ->  3
[1893 1919 1945 1990 2007]
ridge_length= 5
ridge_index= 1919
ridge_depth -0.004286872207690647
ridge_depth_diff_min= 0.005717947254902682
ridge_depth_diff_max= 0.0073272054266687895
3  ->  2
edge does not exist, as expected
-------------------------
2  ->  6
[  48   53  160  214  762  856 1947 1948 2010 2030 2043 2062 2116 2171]
ridge_length= 14
ridge_index= 48
ridge_depth -0.0035035827554387423
ridge_depth_diff_min= 0.003759189149020062
ridge_depth_diff_max= 0.008110494878920694
6  ->  2
edge does not exist, as expected
-------------------------
2  ->  8
[746]
ridge_length= 1
ridge_index= 746
ridge_depth 0.006551455435077134
ridge_depth_diff_min= 0.012462262102075855
ridge_depth_diff_max= 0.018165533069436572
8  ->  2
edge does not exist, as expected
-------------------------
2  ->  9
[ 978 2042 2078 2109 2180]
ridge_length= 5
ridge_index= 2042
ridge_depth -0.001770809723324333
ridge_depth_diff_min= 0.0033961595530936453
ridge_depth_diff_max= 0.009843267911035104
9  ->  2
edge does not exist, as expected
-------------------------
2  ->  13
[ 230  236  984  986 2184 2185]
ridge_length= 6
ridge_index= 2185
ridge_depth -0.0005692759472538829
ridge_depth_diff_min= 0.0024127624126190047
ridge_depth_diff_max= 0.011044801687105555
13  ->  2
edge does not exist, as expected
-------------------------
2  ->  25
[982]
ridge_length= 1
ridge_index= 982
ridge_depth 0.0028495233017160884
ridge_depth_diff_min= 0.002997074721244563
ridge_depth_diff_max= 0.014463600936075526
25  ->  2
edge does not exist, as expected
-------------------------
3  ->  9
[  35  191  192  200  832  864  867 2029 2042 2070 2071]
ridge_length= 11
ridge_index= 35
ridge_depth -0.0038656568566743437
ridge_depth_diff_min= 0.0013013124197436346
ridge_depth_diff_max= 0.006139162605918986
9  ->  3
edge does not exist, as expected
-------------------------
3  ->  15
[312 320 329 338 800 825]
ridge_length= 6
ridge_index= 338
ridge_depth 0.005653286304541991
ridge_depth_diff_min= 0.008270353328768233
ridge_depth_diff_max= 0.01565810576713532
15  ->  3
edge does not exist, as expected
-------------------------
3  ->  21
[1583 1584 1630 1633 1634 1656 1657 1660 1661 1678 1681 1720]
ridge_length= 12
ridge_index= 1720
ridge_depth -5.444578840371389e-05
ridge_depth_diff_min= 0.0010288994178974742
ridge_depth_diff_max= 0.009950373674189616
21  ->  3
edge does not exist, as expected
-------------------------
3  ->  24
[824 881]
ridge_length= 2
ridge_index= 881
ridge_depth 0.004897577696954035
ridge_depth_diff_min= 0.005074904932200109
ridge_depth_diff_max= 0.014902397159547364
24  ->  3
edge does not exist, as expected
-------------------------
4  ->  5
[ 504  518  877 2092 2149 2176 2178 2179 2193]
ridge_length= 9
ridge_index= 2092
ridge_depth -0.007529923488060065
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.0003322098991780315
5  ->  4
edge does not exist, as expected
-------------------------
4  ->  6
[ 103  107  108  700 1691]
ridge_length= 5
ridge_index= 107
ridge_depth 0.00566038938993769
ridge_depth_diff_min= 0.012923161294396494
ridge_depth_diff_max= 0.013522522777175786
6  ->  4
edge does not exist, as expected
-------------------------
4  ->  8
[ 102  691 1725 1729 1730 1732 1747 1749 1785 1814 1854 1855 1910 1924]
ridge_length= 14
ridge_index= 1924
ridge_depth -0.0011667529822989844
ridge_depth_diff_min= 0.004744053684699736
ridge_depth_diff_max= 0.006695380404939112
8  ->  4
edge does not exist, as expected
-------------------------
4  ->  17
[ 104  105 1769 1815]
ridge_length= 4
ridge_index= 1815
ridge_depth 0.006593403689135256
ridge_depth_diff_min= 0.008777711413255972
ridge_depth_diff_max= 0.014455537076373353
17  ->  4
edge does not exist, as expected
-------------------------
4  ->  20
[492 522 534 541 564 567 571 573 581 582]
ridge_length= 10
ridge_index= 567
ridge_depth 0.00017153036894975086
ridge_depth_diff_min= 0.0014086976617998406
ridge_depth_diff_max= 0.008033663756187847
20  ->  4
edge does not exist, as expected
-------------------------
4  ->  26
[ 414  442  460 1771 1774 1787 1820 1883 1915 1928]
ridge_length= 10
ridge_index= 460
ridge_depth 0.0026452815676844895
ridge_depth_diff_min= 0.002144361262932935
ridge_depth_diff_max= 0.010507414954922585
26  ->  4
edge does not exist, as expected
-------------------------
5  ->  20
[582]
ridge_length= 1
ridge_index= 582
ridge_depth 0.0014051641351733833
ridge_depth_diff_min= 0.002642331428023473
ridge_depth_diff_max= 0.008935087623233449
20  ->  5
edge does not exist, as expected
-------------------------
6  ->  8
[ 102  746  753 1756 1757 1799 1802 1834 1836 1838 1871 1896]
ridge_length= 12
ridge_index= 1836
ridge_depth 0.0023187162131021134
ridge_depth_diff_min= 0.008229522880100834
ridge_depth_diff_max= 0.009581488117560918
8  ->  6
edge does not exist, as expected
-------------------------
6  ->  11
[ 186  206  221  226  240  242  817  820  821  859  924 2026]
ridge_length= 12
ridge_index= 226
ridge_depth -0.0028822867253047997
ridge_depth_diff_min= 0.0010037769849802593
ridge_depth_diff_max= 0.004380485179154004
11  ->  6
edge does not exist, as expected
-------------------------
6  ->  12
[  56  231  234  237  960  970 2186]
ridge_length= 7
ridge_index= 56
ridge_depth -0.0017895787254705836
ridge_depth_diff_min= 0.00196250082369865
ridge_depth_diff_max= 0.00547319317898822
12  ->  6
edge does not exist, as expected
-------------------------
6  ->  13
[2185]
ridge_length= 1
ridge_index= 2185
ridge_depth -0.0005692759472538829
ridge_depth_diff_min= 0.0024127624126190047
ridge_depth_diff_max= 0.006693495957204921
13  ->  6
edge does not exist, as expected
-------------------------
6  ->  14
[235 988]
ridge_length= 2
ridge_index= 988
ridge_depth -0.002073944930678839
ridge_depth_diff_min= 0.0005673449561833062
ridge_depth_diff_max= 0.005188826973779965
14  ->  6
edge does not exist, as expected
-------------------------
6  ->  17
[ 104  122  136  149  731  732 1878 1937 1977 1993 1996]
ridge_length= 11
ridge_index= 1937
ridge_depth -0.0021162727186548563
ridge_depth_diff_min= 6.803500546586011e-05
ridge_depth_diff_max= 0.0051464991858039474
17  ->  6
edge does not exist, as expected
-------------------------
7  ->  8
[1512]
ridge_length= 1
ridge_index= 1512
ridge_depth 0.008953422031647153
ridge_depth_diff_min= 0.014864228698645874
ridge_depth_diff_max= 0.014929449253136384
8  ->  7
edge does not exist, as expected
-------------------------
7  ->  21
[  91  671 1472 1474 1488 1506 1531]
ridge_length= 7
ridge_index= 671
ridge_depth 0.002420762545029274
ridge_depth_diff_min= 0.0035041077513304616
ridge_depth_diff_max= 0.008396789766518505
21  ->  7
edge does not exist, as expected
-------------------------
8  ->  16
[1523]
ridge_length= 1
ridge_index= 1523
ridge_depth 0.0058485173188839315
ridge_depth_diff_min= 0.008251109898300628
ridge_depth_diff_max= 0.011759323985882652
16  ->  8
edge does not exist, as expected
-------------------------
8  ->  21
[  90   91 1474 1494 1497 1500 1504]
ridge_length= 7
ridge_index= 1497
ridge_depth 0.005365951276492932
ridge_depth_diff_min= 0.00644929648279412
ridge_depth_diff_max= 0.011276757943491651
21  ->  8
edge does not exist, as expected
-------------------------
9  ->  10
[1262 1301]
ridge_length= 2
ridge_index= 1262
ridge_depth 0.0023030882338751783
ridge_depth_diff_min= 0.006471991006232291
ridge_depth_diff_max= 0.007470057510293157
10  ->  9
edge does not exist, as expected
-------------------------
9  ->  13
[  76   78 1175 1224 1323]
ridge_length= 5
ridge_index= 76
ridge_depth 0.0012554979066782745
ridge_depth_diff_min= 0.004237536266551162
ridge_depth_diff_max= 0.006422467183096253
13  ->  9
edge does not exist, as expected
-------------------------
9  ->  22
[ 359 1150 1208 1243]
ridge_length= 4
ridge_index= 1150
ridge_depth 0.0013103725610604387
ridge_depth_diff_min= 0.00236570327496742
ridge_depth_diff_max= 0.0064773418374784175
22  ->  9
edge does not exist, as expected
-------------------------
9  ->  24
[ 881  918  932  945  980 1004 1013 1038 1064 1065 1097]
ridge_length= 11
ridge_index= 1013
ridge_depth 0.00013071136650818997
ridge_depth_diff_min= 0.0003080386017542642
ridge_depth_diff_max= 0.005297680642926168
24  ->  9
edge does not exist, as expected
-------------------------
9  ->  25
[  65   72   74  982 1001 1011 2207 2209]
ridge_length= 8
ridge_index= 1011
ridge_depth -0.00014755141952847443
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.005019417856889504
25  ->  9
edge does not exist, as expected
-------------------------
10  ->  12
[  89  305 1363 1441]
ridge_length= 4
ridge_index= 89
ridge_depth 0.0030176821525585715
ridge_depth_diff_min= 0.006769761701727805
ridge_depth_diff_max= 0.007186584924915683
12  ->  10
edge does not exist, as expected
-------------------------
10  ->  13
[1323]
ridge_length= 1
ridge_index= 1323
ridge_depth 0.0027641727812370807
ridge_depth_diff_min= 0.0057462111411099685
ridge_depth_diff_max= 0.0069330755535941925
13  ->  10
edge does not exist, as expected
-------------------------
10  ->  15
[1120]
ridge_length= 1
ridge_index= 1120
ridge_depth 0.0025325485564154384
ridge_depth_diff_min= 0.00514961558064168
ridge_depth_diff_max= 0.00670145132877255
15  ->  10
edge does not exist, as expected
-------------------------
10  ->  18
[1317 1332 1346 1353 1371 1434 1456 1460 1463]
ridge_length= 9
ridge_index= 1346
ridge_depth -0.001217014615491643
ridge_depth_diff_min= 0.0007923875060373065
ridge_depth_diff_max= 0.0029518881568654687
18  ->  10
edge does not exist, as expected
-------------------------
10  ->  19
[1200 1221 1277]
ridge_length= 3
ridge_index= 1277
ridge_depth 0.0007947049504995045
ridge_depth_diff_min= 0.002771567584404774
ridge_depth_diff_max= 0.004963607722856617
19  ->  10
edge does not exist, as expected
-------------------------
10  ->  20
[ 625 1162]
ridge_length= 2
ridge_index= 1162
ridge_depth 0.002258075502621329
ridge_depth_diff_min= 0.0034952427954714187
ridge_depth_diff_max= 0.006426978274978441
20  ->  10
edge does not exist, as expected
-------------------------
10  ->  22
[1138 1156 1157 1184 1212 1243 1264 1265 1286 1287 1326]
ridge_length= 11
ridge_index= 1212
ridge_depth -8.731458357962181e-05
ridge_depth_diff_min= 0.0009680161303273596
ridge_depth_diff_max= 0.00408158818877749
22  ->  10
edge does not exist, as expected
-------------------------
11  ->  12
[ 256  264 1045 1046 1055 1056 1057 1066 1073 1106]
ridge_length= 10
ridge_index= 1073
ridge_depth -0.002365670983469049
ridge_depth_diff_min= 0.0013864085657001842
ridge_depth_diff_max= 0.00152039272681601
12  ->  11
edge does not exist, as expected
-------------------------
11  ->  14
[ 241  988 2254 2272 2273]
ridge_length= 5
ridge_index= 2254
ridge_depth -0.002641289886862145
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.0012447738234229139
14  ->  11
edge does not exist, as expected
-------------------------
11  ->  17
[ 168  169 1996]
ridge_length= 3
ridge_index= 1996
ridge_depth 0.0014511054120626107
ridge_depth_diff_min= 0.0036354131361833273
ridge_depth_diff_max= 0.0053371691223476694
17  ->  11
edge does not exist, as expected
-------------------------
11  ->  20
[1089]
ridge_length= 1
ridge_index= 1089
ridge_depth 0.004121529322525331
ridge_depth_diff_min= 0.00535869661537542
ridge_depth_diff_max= 0.00800759303281039
20  ->  11
edge does not exist, as expected
-------------------------
11  ->  26
[ 211  218  238 1049]
ridge_length= 4
ridge_index= 1049
ridge_depth 0.00395072475777552
ridge_depth_diff_min= 0.003449804453023966
ridge_depth_diff_max= 0.007836788468060579
26  ->  11
edge does not exist, as expected
-------------------------
12  ->  13
[  66  255  269  270  273  293  295 1009 1015 1178 1323 2185 2197 2305]
ridge_length= 14
ridge_index= 255
ridge_depth -0.002946497888448543
ridge_depth_diff_min= 3.554047142434458e-05
ridge_depth_diff_max= 0.0008055816607206901
13  ->  12
edge does not exist, as expected
-------------------------
12  ->  14
[ 235  239  248 2272 2273]
ridge_length= 5
ridge_index= 248
ridge_depth -0.002634993791728081
ridge_depth_diff_min= 6.296095134064074e-06
ridge_depth_diff_max= 0.0011170857574411522
14  ->  12
edge does not exist, as expected
-------------------------
12  ->  18
[1431 1435 1443 1444 1455 1456 1457 1461]
ridge_length= 8
ridge_index= 1456
ridge_depth 0.0033621681621901385
ridge_depth_diff_min= 0.005371570283719088
ridge_depth_diff_max= 0.007114247711359371
18  ->  12
edge does not exist, as expected
-------------------------
12  ->  20
[1089 1142 1158 1215]
ridge_length= 4
ridge_index= 1142
ridge_depth 0.0040410472848785755
ridge_depth_diff_min= 0.005278214577728665
ridge_depth_diff_max= 0.007793126834047809
20  ->  12
edge does not exist, as expected
-------------------------
12  ->  23
[1254 1292 1330 1345 1369 1370 1395 1396]
ridge_length= 8
ridge_index= 1369
ridge_depth 0.003418713430316122
ridge_depth_diff_min= 0.004029948581263268
ridge_depth_diff_max= 0.007170792979485355
23  ->  12
edge does not exist, as expected
-------------------------
13  ->  25
[  68   71   74  982 1005 1029 2206 2209 2237 2245]
ridge_length= 10
ridge_index= 68
ridge_depth 0.00014198897176924058
ridge_depth_diff_min= 0.000289540391297715
ridge_depth_diff_max= 0.0031240273316421284
25  ->  13
edge does not exist, as expected
-------------------------
15  ->  16
[ 408  439  479  511  512  793  818  872  908 1626 1733 1784]
ridge_length= 12
ridge_index= 908
ridge_depth -0.002402592579416697
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.00021447444480954475
16  ->  15
edge does not exist, as expected
-------------------------
15  ->  21
[ 372 1582 1597 1603 1624 1625 1635 1638 1641 1646 1647 1650 1657 1659
 1667 1672 1675]
ridge_length= 17
ridge_index= 1597
ridge_depth 0.0010533302038459008
ridge_depth_diff_min= 0.002136675410147089
ridge_depth_diff_max= 0.0036703972280721425
21  ->  15
edge does not exist, as expected
-------------------------
15  ->  22
[ 638 1081 1083 1099 1114 1115 1116 1118 1140 1150 1157 1163]
ridge_length= 12
ridge_index= 1114
ridge_depth -0.000398829079018268
ridge_depth_diff_min= 0.0006565016348887134
ridge_depth_diff_max= 0.002218237945207974
22  ->  15
edge does not exist, as expected
-------------------------
15  ->  24
[ 352  355  824  865  881  889  890  898  900  937  956  996 1021 1039
 1040 1071 1097]
ridge_length= 17
ridge_index= 1021
ridge_depth -0.00011837041742064611
ridge_depth_diff_min= 5.89568178254281e-05
ridge_depth_diff_max= 0.0024986966068055957
24  ->  15
edge does not exist, as expected
-------------------------
16  ->  21
[1498 1501 1502 1503 1504 1520 1527 1547 1548 1582]
ridge_length= 10
ridge_index= 1582
ridge_depth 0.001555665901388
ridge_depth_diff_min= 0.002639011107689188
ridge_depth_diff_max= 0.003958258480804697
21  ->  16
edge does not exist, as expected
-------------------------
17  ->  26
[ 211  466  500 1787 1913 1926]
ridge_length= 6
ridge_index= 466
ridge_depth 0.004510508532427267
ridge_depth_diff_min= 0.004009588227675713
ridge_depth_diff_max= 0.0066948162565479835
26  ->  17
edge does not exist, as expected
-------------------------
18  ->  19
[1275 1277 1313 1315 1333 1383]
ridge_length= 6
ridge_index= 1315
ridge_depth -0.0019310046830245337
ridge_depth_diff_min= 4.585795088073597e-05
ridge_depth_diff_max= 7.839743850441595e-05
19  ->  18
edge does not exist, as expected
-------------------------
18  ->  23
[1378 1396 1414 1415 1420 1423 1439]
ridge_length= 7
ridge_index= 1420
ridge_depth -0.0006112351509471454
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.0013981669705818043
23  ->  18
edge does not exist, as expected
-------------------------
19  ->  20
[ 647  653 1162 1198 1204 1280 1321 1335]
ridge_length= 8
ridge_index= 653
ridge_depth -0.0005564867044940885
ridge_depth_diff_min= 0.0006806805883560013
ridge_depth_diff_max= 0.001420375929411181
20  ->  19
edge does not exist, as expected
-------------------------
19  ->  23
[1362 1378 1382]
ridge_length= 3
ridge_index= 1378
ridge_depth -0.000204618796998923
ridge_depth_diff_min= 0.00040661635394822245
ridge_depth_diff_max= 0.0017722438369063467
23  ->  19
edge does not exist, as expected
-------------------------
20  ->  23
[1254 1256 1258 1260 1273 1282 1298 1319 1361 1362]
ridge_length= 10
ridge_index= 1298
ridge_depth -0.00012766452237193742
ridge_depth_diff_min= 0.000483570628575208
ridge_depth_diff_max= 0.0011095027704781525
23  ->  20
edge does not exist, as expected
-------------------------
20  ->  26
[ 460  483  542  556  568  590  592  593  616 1026 1033 1049 1050 1058
 1061 1068]
ridge_length= 16
ridge_index= 556
ridge_depth 0.0005009203047515545
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.0017380875976016443
26  ->  20
edge does not exist, as expected
-------------------------
22  ->  24
[1097]
ridge_length= 1
ridge_index= 1097
ridge_depth 0.001008335593224812
ridge_depth_diff_min= 0.0011856628284708862
ridge_depth_diff_max= 0.0020636663071317935
24  ->  22
edge does not exist, as expected

add an attribute to nodes

g = ssg.add_node_attribute_to_graph(g, dpf, attribute_name='pit_depth')
print("Node attributes:\n", g.nodes[0].keys())
print("First node:\n", g.nodes[0])
Node attributes:
 dict_keys(['pit_index', 'basin_vertices', 'pit_depth', 'basin_area', 'basin_label'])
First node:
 {'pit_index': 530, 'basin_vertices': [530, 535, 2172, 529, 524, 2131, 2173, 531, 947, 964, 941, 911, 2199, 2174, 559, 912, 2132, 2187, 2198, 910, 909, 2158, 546, 2091, 561, 513, 2074, 2200, 871, 948, 537, 927, 860, 2211, 2133, 2188, 894, 861, 895, 862, 2216, 863, 875, 846, 966, 2204, 2212, 2104, 496, 873, 514, 913, 2038, 560, 2218, 847, 2134, 819, 876, 965, 2135, 2159, 2213, 516, 967, 949, 462, 874, 503, 548, 794, 2161, 2138, 2215, 2136, 2205, 463, 497, 968, 806, 782, 929, 884, 2163, 2219, 356, 2217, 831, 486, 464, 2220, 2227, 450, 155, 553, 2214, 2230, 848, 440, 952, 795, 456, 2177, 2190, 878, 741, 2232, 2231, 781, 1925, 774, 547, 896, 2242, 747, 2191, 808, 2221, 914, 942, 566, 885, 2250, 536, 2264, 2235, 769, 797, 850, 915, 2251, 552, 578, 515, 2265, 743, 879, 851, 2233, 886, 2266, 621, 770, 596, 2234, 587, 880, 488, 605, 562, 615, 2222, 579, 809, 852, 629, 853, 604, 2244, 640, 489, 748, 2252, 2236, 641, 458, 2223, 2243, 639, 608, 2267, 2268, 427, 2280, 403, 411, 393, 382, 370, 1529], 'pit_depth': np.float32(-0.050967123), 'basin_area': np.float64(445.9305499974789), 'basin_label': 0}

add an attribute to edges

g = ssg.add_edge_attribute_to_graph(g, dpf, attribute_name='ridge_depth_bis')
print("Edge attributes:\n", g.edges[list(g.edges)[0]].keys())
print("First edge:\n", g.edges[list(g.edges)[0]])
Edge attributes:
 dict_keys(['weight', 'ridge_vertices', 'ridge_index', 'ridge_depth', 'ridge_depth_diff_min', 'ridge_depth_diff_max', 'ridge_length', 'ridge_depth_bis'])
First edge:
 {'weight': 1, 'ridge_vertices': array([ 444,  449,  480, 1997, 2045]), 'ridge_index': np.int64(2045), 'ridge_depth': np.float64(-0.005626444880465832), 'ridge_depth_diff_min': np.float64(0.0022356885067722643), 'ridge_depth_diff_max': np.float64(0.007418748606375234), 'ridge_length': 5, 'ridge_depth_bis': -0.01064499281346798}

add geodesic distances attribute to edges

g = ssg.add_geodesic_distances_to_graph(g, mesh)

add mean value to nodes attributes

g = ssg.add_mean_value_to_graph(g, dpf, attribute_name='basin_mean_depth')

get textures from graph

atex_labels, atex_pits, atex_ridges = ssg.get_textures_from_graph(g, mesh)
A more detailed computation of the sulcal graph

with explicit call to the watershed

mean_curvature, dpf, voronoi = swat.compute_mesh_features(mesh)
        Computing the curvature

Calculating vertex normals .... Please wait
Finished calculating vertex normals
Calculating curvature tensors ... Please wait
Finished Calculating curvature tensors
Calculating Principal Components ... Please wait
Finished Calculating principal components

        Computing the DPF

  Computing Laplacian
    Computing mesh weights of type conformal
    -edge length threshold needed for  0  values =  0.0  %
    -number of Nan in weights:  0  =  0.0  %
    -number of Negative values in weights:  936  =  6.706792777300086  %
    -nb Nan in Laplacian :  0
    -nb Inf in Laplacian :  0

        Computing Voronoi's vertex

    -percent polygon with obtuse angle  29.4067067927773

normalize watershed thresholds

thresh_dist, thresh_ridge, thresh_area = swat.normalize_thresholds(voronoi, thresh_dist=20.0, thresh_ridge=1.5,
                                                                   thresh_area=50.0, side=side)
# extract sulcal pits and associated basins
basins, ridges, adjacency = swat.watershed(
    mesh, voronoi, dpf, thresh_dist, thresh_ridge, thresh_area, mask)

# generate the sulcal graph
g = ssg.get_sulcal_graph(adjacency, basins, ridges)
        Computing the surface area

Computing watershed by flooding...
Thresholds provided:
-Distance between 2 pits:  5.3
-Ridge height:  1.5
-Basin area:  3.5
Number of basins found: 27
nb of basins to remove: 0
-------------------------
0  ->  4
[ 444  449  480 1997 2045]
ridge_length= 5
ridge_index= 2045
ridge_depth -0.005626444880465832
ridge_depth_diff_min= 0.0022356885067722643
ridge_depth_diff_max= 0.007418748606375234
4  ->  0
edge does not exist, as expected
-------------------------
0  ->  5
[ 517  877 2137 2160 2162 2176 2179 2193]
ridge_length= 8
ridge_index= 517
ridge_depth -0.007200393024976531
ridge_depth_diff_min= 0.00032953046308353395
ridge_depth_diff_max= 0.005844800461864535
5  ->  0
edge does not exist, as expected
-------------------------
0  ->  8
[ 365  369  397  402  716  717 1509 1552 1856 1924]
ridge_length= 10
ridge_index= 716
ridge_depth -0.003659871629618928
ridge_depth_diff_min= 0.0022509350373797923
ridge_depth_diff_max= 0.009385321857222137
8  ->  0
edge does not exist, as expected
-------------------------
0  ->  10
[ 597  606  622  631  633  634  645  646  648 1169]
ridge_length= 10
ridge_index= 622
ridge_depth 0.00032218562069523046
ridge_depth_diff_min= 0.004491088393052342
ridge_depth_diff_max= 0.013367379107536296
10  ->  0
edge does not exist, as expected
-------------------------
0  ->  15
[ 526  532  545  570 1047 1088 1120]
ridge_length= 7
ridge_index= 526
ridge_depth -0.0011928857143833657
ridge_depth_diff_min= 0.0014241813098428762
ridge_depth_diff_max= 0.0118523077724577
15  ->  0
edge does not exist, as expected
-------------------------
0  ->  16
[ 375  412  428  479  482  499  505  744  785  810 1523 1553]
ridge_length= 12
ridge_index= 479
ridge_depth -0.0008255777646831611
ridge_depth_diff_min= 0.0015770148147335361
ridge_depth_diff_max= 0.012219615722157904
16  ->  0
edge does not exist, as expected
-------------------------
0  ->  20
[582 585 588 598 609 625]
ridge_length= 6
ridge_index= 582
ridge_depth 0.0014051641351733833
ridge_depth_diff_min= 0.002642331428023473
ridge_depth_diff_max= 0.014450357622014449
20  ->  0
edge does not exist, as expected
-------------------------
1  ->  2
[  13   15   18  146  325  754 1867 1872 1891 1892]
ridge_length= 10
ridge_index= 13
ridge_depth -0.006363109817086598
ridge_depth_diff_min= 0.005250967817272839
ridge_depth_diff_max= 0.005852422702595798
2  ->  1
edge does not exist, as expected
-------------------------
1  ->  3
[ 139  706  726 1740 1791 1893]
ridge_length= 6
ridge_index= 1893
ridge_depth -0.003909125750427622
ridge_depth_diff_min= 0.006095693712165708
ridge_depth_diff_max= 0.008306406769254773
3  ->  1
edge does not exist, as expected
-------------------------
1  ->  7
[ 309  667 1513 1542 1544 1575 1578 1616 1620 1648 1649 1651]
ridge_length= 12
ridge_index= 1651
ridge_depth -0.0059760272214892315
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.006239505298193164
7  ->  1
edge does not exist, as expected
-------------------------
1  ->  8
[ 109  672  693  694  695  714  746  753 1512 1516 1518 1549 1830 1842
 1846 1871]
ridge_length= 16
ridge_index= 1846
ridge_depth -0.00591080666699872
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.006304725852683675
8  ->  1
edge does not exist, as expected
-------------------------
1  ->  21
[ 671 1570 1572 1607 1645 1681]
ridge_length= 6
ridge_index= 1607
ridge_depth -0.0005780210981720936
ridge_depth_diff_min= 0.0005053241081290945
ridge_depth_diff_max= 0.011637511421510302
21  ->  1
edge does not exist, as expected
-------------------------
2  ->  3
[1893 1919 1945 1990 2007]
ridge_length= 5
ridge_index= 1919
ridge_depth -0.004286872207690647
ridge_depth_diff_min= 0.005717947254902682
ridge_depth_diff_max= 0.0073272054266687895
3  ->  2
edge does not exist, as expected
-------------------------
2  ->  6
[  48   53  160  214  762  856 1947 1948 2010 2030 2043 2062 2116 2171]
ridge_length= 14
ridge_index= 48
ridge_depth -0.0035035827554387423
ridge_depth_diff_min= 0.003759189149020062
ridge_depth_diff_max= 0.008110494878920694
6  ->  2
edge does not exist, as expected
-------------------------
2  ->  8
[746]
ridge_length= 1
ridge_index= 746
ridge_depth 0.006551455435077134
ridge_depth_diff_min= 0.012462262102075855
ridge_depth_diff_max= 0.018165533069436572
8  ->  2
edge does not exist, as expected
-------------------------
2  ->  9
[ 978 2042 2078 2109 2180]
ridge_length= 5
ridge_index= 2042
ridge_depth -0.001770809723324333
ridge_depth_diff_min= 0.0033961595530936453
ridge_depth_diff_max= 0.009843267911035104
9  ->  2
edge does not exist, as expected
-------------------------
2  ->  13
[ 230  236  984  986 2184 2185]
ridge_length= 6
ridge_index= 2185
ridge_depth -0.0005692759472538829
ridge_depth_diff_min= 0.0024127624126190047
ridge_depth_diff_max= 0.011044801687105555
13  ->  2
edge does not exist, as expected
-------------------------
2  ->  25
[982]
ridge_length= 1
ridge_index= 982
ridge_depth 0.0028495233017160884
ridge_depth_diff_min= 0.002997074721244563
ridge_depth_diff_max= 0.014463600936075526
25  ->  2
edge does not exist, as expected
-------------------------
3  ->  9
[  35  191  192  200  832  864  867 2029 2042 2070 2071]
ridge_length= 11
ridge_index= 35
ridge_depth -0.0038656568566743437
ridge_depth_diff_min= 0.0013013124197436346
ridge_depth_diff_max= 0.006139162605918986
9  ->  3
edge does not exist, as expected
-------------------------
3  ->  15
[312 320 329 338 800 825]
ridge_length= 6
ridge_index= 338
ridge_depth 0.005653286304541991
ridge_depth_diff_min= 0.008270353328768233
ridge_depth_diff_max= 0.01565810576713532
15  ->  3
edge does not exist, as expected
-------------------------
3  ->  21
[1583 1584 1630 1633 1634 1656 1657 1660 1661 1678 1681 1720]
ridge_length= 12
ridge_index= 1720
ridge_depth -5.444578840371389e-05
ridge_depth_diff_min= 0.0010288994178974742
ridge_depth_diff_max= 0.009950373674189616
21  ->  3
edge does not exist, as expected
-------------------------
3  ->  24
[824 881]
ridge_length= 2
ridge_index= 881
ridge_depth 0.004897577696954035
ridge_depth_diff_min= 0.005074904932200109
ridge_depth_diff_max= 0.014902397159547364
24  ->  3
edge does not exist, as expected
-------------------------
4  ->  5
[ 504  518  877 2092 2149 2176 2178 2179 2193]
ridge_length= 9
ridge_index= 2092
ridge_depth -0.007529923488060065
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.0003322098991780315
5  ->  4
edge does not exist, as expected
-------------------------
4  ->  6
[ 103  107  108  700 1691]
ridge_length= 5
ridge_index= 107
ridge_depth 0.00566038938993769
ridge_depth_diff_min= 0.012923161294396494
ridge_depth_diff_max= 0.013522522777175786
6  ->  4
edge does not exist, as expected
-------------------------
4  ->  8
[ 102  691 1725 1729 1730 1732 1747 1749 1785 1814 1854 1855 1910 1924]
ridge_length= 14
ridge_index= 1924
ridge_depth -0.0011667529822989844
ridge_depth_diff_min= 0.004744053684699736
ridge_depth_diff_max= 0.006695380404939112
8  ->  4
edge does not exist, as expected
-------------------------
4  ->  17
[ 104  105 1769 1815]
ridge_length= 4
ridge_index= 1815
ridge_depth 0.006593403689135256
ridge_depth_diff_min= 0.008777711413255972
ridge_depth_diff_max= 0.014455537076373353
17  ->  4
edge does not exist, as expected
-------------------------
4  ->  20
[492 522 534 541 564 567 571 573 581 582]
ridge_length= 10
ridge_index= 567
ridge_depth 0.00017153036894975086
ridge_depth_diff_min= 0.0014086976617998406
ridge_depth_diff_max= 0.008033663756187847
20  ->  4
edge does not exist, as expected
-------------------------
4  ->  26
[ 414  442  460 1771 1774 1787 1820 1883 1915 1928]
ridge_length= 10
ridge_index= 460
ridge_depth 0.0026452815676844895
ridge_depth_diff_min= 0.002144361262932935
ridge_depth_diff_max= 0.010507414954922585
26  ->  4
edge does not exist, as expected
-------------------------
5  ->  20
[582]
ridge_length= 1
ridge_index= 582
ridge_depth 0.0014051641351733833
ridge_depth_diff_min= 0.002642331428023473
ridge_depth_diff_max= 0.008935087623233449
20  ->  5
edge does not exist, as expected
-------------------------
6  ->  8
[ 102  746  753 1756 1757 1799 1802 1834 1836 1838 1871 1896]
ridge_length= 12
ridge_index= 1836
ridge_depth 0.0023187162131021134
ridge_depth_diff_min= 0.008229522880100834
ridge_depth_diff_max= 0.009581488117560918
8  ->  6
edge does not exist, as expected
-------------------------
6  ->  11
[ 186  206  221  226  240  242  817  820  821  859  924 2026]
ridge_length= 12
ridge_index= 226
ridge_depth -0.0028822867253047997
ridge_depth_diff_min= 0.0010037769849802593
ridge_depth_diff_max= 0.004380485179154004
11  ->  6
edge does not exist, as expected
-------------------------
6  ->  12
[  56  231  234  237  960  970 2186]
ridge_length= 7
ridge_index= 56
ridge_depth -0.0017895787254705836
ridge_depth_diff_min= 0.00196250082369865
ridge_depth_diff_max= 0.00547319317898822
12  ->  6
edge does not exist, as expected
-------------------------
6  ->  13
[2185]
ridge_length= 1
ridge_index= 2185
ridge_depth -0.0005692759472538829
ridge_depth_diff_min= 0.0024127624126190047
ridge_depth_diff_max= 0.006693495957204921
13  ->  6
edge does not exist, as expected
-------------------------
6  ->  14
[235 988]
ridge_length= 2
ridge_index= 988
ridge_depth -0.002073944930678839
ridge_depth_diff_min= 0.0005673449561833062
ridge_depth_diff_max= 0.005188826973779965
14  ->  6
edge does not exist, as expected
-------------------------
6  ->  17
[ 104  122  136  149  731  732 1878 1937 1977 1993 1996]
ridge_length= 11
ridge_index= 1937
ridge_depth -0.0021162727186548563
ridge_depth_diff_min= 6.803500546586011e-05
ridge_depth_diff_max= 0.0051464991858039474
17  ->  6
edge does not exist, as expected
-------------------------
7  ->  8
[1512]
ridge_length= 1
ridge_index= 1512
ridge_depth 0.008953422031647153
ridge_depth_diff_min= 0.014864228698645874
ridge_depth_diff_max= 0.014929449253136384
8  ->  7
edge does not exist, as expected
-------------------------
7  ->  21
[  91  671 1472 1474 1488 1506 1531]
ridge_length= 7
ridge_index= 671
ridge_depth 0.002420762545029274
ridge_depth_diff_min= 0.0035041077513304616
ridge_depth_diff_max= 0.008396789766518505
21  ->  7
edge does not exist, as expected
-------------------------
8  ->  16
[1523]
ridge_length= 1
ridge_index= 1523
ridge_depth 0.0058485173188839315
ridge_depth_diff_min= 0.008251109898300628
ridge_depth_diff_max= 0.011759323985882652
16  ->  8
edge does not exist, as expected
-------------------------
8  ->  21
[  90   91 1474 1494 1497 1500 1504]
ridge_length= 7
ridge_index= 1497
ridge_depth 0.005365951276492932
ridge_depth_diff_min= 0.00644929648279412
ridge_depth_diff_max= 0.011276757943491651
21  ->  8
edge does not exist, as expected
-------------------------
9  ->  10
[1262 1301]
ridge_length= 2
ridge_index= 1262
ridge_depth 0.0023030882338751783
ridge_depth_diff_min= 0.006471991006232291
ridge_depth_diff_max= 0.007470057510293157
10  ->  9
edge does not exist, as expected
-------------------------
9  ->  13
[  76   78 1175 1224 1323]
ridge_length= 5
ridge_index= 76
ridge_depth 0.0012554979066782745
ridge_depth_diff_min= 0.004237536266551162
ridge_depth_diff_max= 0.006422467183096253
13  ->  9
edge does not exist, as expected
-------------------------
9  ->  22
[ 359 1150 1208 1243]
ridge_length= 4
ridge_index= 1150
ridge_depth 0.0013103725610604387
ridge_depth_diff_min= 0.00236570327496742
ridge_depth_diff_max= 0.0064773418374784175
22  ->  9
edge does not exist, as expected
-------------------------
9  ->  24
[ 881  918  932  945  980 1004 1013 1038 1064 1065 1097]
ridge_length= 11
ridge_index= 1013
ridge_depth 0.00013071136650818997
ridge_depth_diff_min= 0.0003080386017542642
ridge_depth_diff_max= 0.005297680642926168
24  ->  9
edge does not exist, as expected
-------------------------
9  ->  25
[  65   72   74  982 1001 1011 2207 2209]
ridge_length= 8
ridge_index= 1011
ridge_depth -0.00014755141952847443
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.005019417856889504
25  ->  9
edge does not exist, as expected
-------------------------
10  ->  12
[  89  305 1363 1441]
ridge_length= 4
ridge_index= 89
ridge_depth 0.0030176821525585715
ridge_depth_diff_min= 0.006769761701727805
ridge_depth_diff_max= 0.007186584924915683
12  ->  10
edge does not exist, as expected
-------------------------
10  ->  13
[1323]
ridge_length= 1
ridge_index= 1323
ridge_depth 0.0027641727812370807
ridge_depth_diff_min= 0.0057462111411099685
ridge_depth_diff_max= 0.0069330755535941925
13  ->  10
edge does not exist, as expected
-------------------------
10  ->  15
[1120]
ridge_length= 1
ridge_index= 1120
ridge_depth 0.0025325485564154384
ridge_depth_diff_min= 0.00514961558064168
ridge_depth_diff_max= 0.00670145132877255
15  ->  10
edge does not exist, as expected
-------------------------
10  ->  18
[1317 1332 1346 1353 1371 1434 1456 1460 1463]
ridge_length= 9
ridge_index= 1346
ridge_depth -0.001217014615491643
ridge_depth_diff_min= 0.0007923875060373065
ridge_depth_diff_max= 0.0029518881568654687
18  ->  10
edge does not exist, as expected
-------------------------
10  ->  19
[1200 1221 1277]
ridge_length= 3
ridge_index= 1277
ridge_depth 0.0007947049504995045
ridge_depth_diff_min= 0.002771567584404774
ridge_depth_diff_max= 0.004963607722856617
19  ->  10
edge does not exist, as expected
-------------------------
10  ->  20
[ 625 1162]
ridge_length= 2
ridge_index= 1162
ridge_depth 0.002258075502621329
ridge_depth_diff_min= 0.0034952427954714187
ridge_depth_diff_max= 0.006426978274978441
20  ->  10
edge does not exist, as expected
-------------------------
10  ->  22
[1138 1156 1157 1184 1212 1243 1264 1265 1286 1287 1326]
ridge_length= 11
ridge_index= 1212
ridge_depth -8.731458357962181e-05
ridge_depth_diff_min= 0.0009680161303273596
ridge_depth_diff_max= 0.00408158818877749
22  ->  10
edge does not exist, as expected
-------------------------
11  ->  12
[ 256  264 1045 1046 1055 1056 1057 1066 1073 1106]
ridge_length= 10
ridge_index= 1073
ridge_depth -0.002365670983469049
ridge_depth_diff_min= 0.0013864085657001842
ridge_depth_diff_max= 0.00152039272681601
12  ->  11
edge does not exist, as expected
-------------------------
11  ->  14
[ 241  988 2254 2272 2273]
ridge_length= 5
ridge_index= 2254
ridge_depth -0.002641289886862145
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.0012447738234229139
14  ->  11
edge does not exist, as expected
-------------------------
11  ->  17
[ 168  169 1996]
ridge_length= 3
ridge_index= 1996
ridge_depth 0.0014511054120626107
ridge_depth_diff_min= 0.0036354131361833273
ridge_depth_diff_max= 0.0053371691223476694
17  ->  11
edge does not exist, as expected
-------------------------
11  ->  20
[1089]
ridge_length= 1
ridge_index= 1089
ridge_depth 0.004121529322525331
ridge_depth_diff_min= 0.00535869661537542
ridge_depth_diff_max= 0.00800759303281039
20  ->  11
edge does not exist, as expected
-------------------------
11  ->  26
[ 211  218  238 1049]
ridge_length= 4
ridge_index= 1049
ridge_depth 0.00395072475777552
ridge_depth_diff_min= 0.003449804453023966
ridge_depth_diff_max= 0.007836788468060579
26  ->  11
edge does not exist, as expected
-------------------------
12  ->  13
[  66  255  269  270  273  293  295 1009 1015 1178 1323 2185 2197 2305]
ridge_length= 14
ridge_index= 255
ridge_depth -0.002946497888448543
ridge_depth_diff_min= 3.554047142434458e-05
ridge_depth_diff_max= 0.0008055816607206901
13  ->  12
edge does not exist, as expected
-------------------------
12  ->  14
[ 235  239  248 2272 2273]
ridge_length= 5
ridge_index= 248
ridge_depth -0.002634993791728081
ridge_depth_diff_min= 6.296095134064074e-06
ridge_depth_diff_max= 0.0011170857574411522
14  ->  12
edge does not exist, as expected
-------------------------
12  ->  18
[1431 1435 1443 1444 1455 1456 1457 1461]
ridge_length= 8
ridge_index= 1456
ridge_depth 0.0033621681621901385
ridge_depth_diff_min= 0.005371570283719088
ridge_depth_diff_max= 0.007114247711359371
18  ->  12
edge does not exist, as expected
-------------------------
12  ->  20
[1089 1142 1158 1215]
ridge_length= 4
ridge_index= 1142
ridge_depth 0.0040410472848785755
ridge_depth_diff_min= 0.005278214577728665
ridge_depth_diff_max= 0.007793126834047809
20  ->  12
edge does not exist, as expected
-------------------------
12  ->  23
[1254 1292 1330 1345 1369 1370 1395 1396]
ridge_length= 8
ridge_index= 1369
ridge_depth 0.003418713430316122
ridge_depth_diff_min= 0.004029948581263268
ridge_depth_diff_max= 0.007170792979485355
23  ->  12
edge does not exist, as expected
-------------------------
13  ->  25
[  68   71   74  982 1005 1029 2206 2209 2237 2245]
ridge_length= 10
ridge_index= 68
ridge_depth 0.00014198897176924058
ridge_depth_diff_min= 0.000289540391297715
ridge_depth_diff_max= 0.0031240273316421284
25  ->  13
edge does not exist, as expected
-------------------------
15  ->  16
[ 408  439  479  511  512  793  818  872  908 1626 1733 1784]
ridge_length= 12
ridge_index= 908
ridge_depth -0.002402592579416697
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.00021447444480954475
16  ->  15
edge does not exist, as expected
-------------------------
15  ->  21
[ 372 1582 1597 1603 1624 1625 1635 1638 1641 1646 1647 1650 1657 1659
 1667 1672 1675]
ridge_length= 17
ridge_index= 1597
ridge_depth 0.0010533302038459008
ridge_depth_diff_min= 0.002136675410147089
ridge_depth_diff_max= 0.0036703972280721425
21  ->  15
edge does not exist, as expected
-------------------------
15  ->  22
[ 638 1081 1083 1099 1114 1115 1116 1118 1140 1150 1157 1163]
ridge_length= 12
ridge_index= 1114
ridge_depth -0.000398829079018268
ridge_depth_diff_min= 0.0006565016348887134
ridge_depth_diff_max= 0.002218237945207974
22  ->  15
edge does not exist, as expected
-------------------------
15  ->  24
[ 352  355  824  865  881  889  890  898  900  937  956  996 1021 1039
 1040 1071 1097]
ridge_length= 17
ridge_index= 1021
ridge_depth -0.00011837041742064611
ridge_depth_diff_min= 5.89568178254281e-05
ridge_depth_diff_max= 0.0024986966068055957
24  ->  15
edge does not exist, as expected
-------------------------
16  ->  21
[1498 1501 1502 1503 1504 1520 1527 1547 1548 1582]
ridge_length= 10
ridge_index= 1582
ridge_depth 0.001555665901388
ridge_depth_diff_min= 0.002639011107689188
ridge_depth_diff_max= 0.003958258480804697
21  ->  16
edge does not exist, as expected
-------------------------
17  ->  26
[ 211  466  500 1787 1913 1926]
ridge_length= 6
ridge_index= 466
ridge_depth 0.004510508532427267
ridge_depth_diff_min= 0.004009588227675713
ridge_depth_diff_max= 0.0066948162565479835
26  ->  17
edge does not exist, as expected
-------------------------
18  ->  19
[1275 1277 1313 1315 1333 1383]
ridge_length= 6
ridge_index= 1315
ridge_depth -0.0019310046830245337
ridge_depth_diff_min= 4.585795088073597e-05
ridge_depth_diff_max= 7.839743850441595e-05
19  ->  18
edge does not exist, as expected
-------------------------
18  ->  23
[1378 1396 1414 1415 1420 1423 1439]
ridge_length= 7
ridge_index= 1420
ridge_depth -0.0006112351509471454
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.0013981669705818043
23  ->  18
edge does not exist, as expected
-------------------------
19  ->  20
[ 647  653 1162 1198 1204 1280 1321 1335]
ridge_length= 8
ridge_index= 653
ridge_depth -0.0005564867044940885
ridge_depth_diff_min= 0.0006806805883560013
ridge_depth_diff_max= 0.001420375929411181
20  ->  19
edge does not exist, as expected
-------------------------
19  ->  23
[1362 1378 1382]
ridge_length= 3
ridge_index= 1378
ridge_depth -0.000204618796998923
ridge_depth_diff_min= 0.00040661635394822245
ridge_depth_diff_max= 0.0017722438369063467
23  ->  19
edge does not exist, as expected
-------------------------
20  ->  23
[1254 1256 1258 1260 1273 1282 1298 1319 1361 1362]
ridge_length= 10
ridge_index= 1298
ridge_depth -0.00012766452237193742
ridge_depth_diff_min= 0.000483570628575208
ridge_depth_diff_max= 0.0011095027704781525
23  ->  20
edge does not exist, as expected
-------------------------
20  ->  26
[ 460  483  542  556  568  590  592  593  616 1026 1033 1049 1050 1058
 1061 1068]
ridge_length= 16
ridge_index= 556
ridge_depth 0.0005009203047515545
ridge_depth_diff_min= 0.0
ridge_depth_diff_max= 0.0017380875976016443
26  ->  20
edge does not exist, as expected
-------------------------
22  ->  24
[1097]
ridge_length= 1
ridge_index= 1097
ridge_depth 0.001008335593224812
ridge_depth_diff_min= 0.0011856628284708862
ridge_depth_diff_max= 0.0020636663071317935
24  ->  22
edge does not exist, as expected

generate the textures from graph

atex_labels_graph, atex_pits_graph, atex_ridges_graph = (ssg.get_textures_from_graph
                                    (g, mesh))
# compare the textures extracted from the watershed with the ones extarcted from the graph
# they should be identical
print("vertex-to-vertex difference between the texture extracted from the "
      "watershed and the one extracted from the graph, should be strictly qual to 0")
print(np.max(atex_ridges-atex_ridges_graph))
vertex-to-vertex difference between the texture extracted from the watershed and the one extracted from the graph, should be strictly qual to 0
0.0

Total running time of the script: (0 minutes 12.997 seconds)

Gallery generated by Sphinx-Gallery