.. DO NOT EDIT. .. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY. .. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE: .. "auto_examples/example_watershed.py" .. LINE NUMBERS ARE GIVEN BELOW. .. only:: html .. note:: :class: sphx-glr-download-link-note :ref:`Go to the end ` to download the full example code. .. rst-class:: sphx-glr-example-title .. _sphx_glr_auto_examples_example_watershed.py: .. _example_watershed: =================================== Example of watershed in slam =================================== .. GENERATED FROM PYTHON SOURCE LINES 8-16 .. code-block:: Python # Authors: # Lucile Hashimoto lucile-hashimoto # Guillaume Auzias # License: MIT # sphinx_gallery_thumbnail_number = 2 .. GENERATED FROM PYTHON SOURCE LINES 17-18 importation of slam modules .. GENERATED FROM PYTHON SOURCE LINES 18-23 .. code-block:: Python import os import slam.texture as stex import slam.io as sio import slam.watershed as swat .. GENERATED FROM PYTHON SOURCE LINES 24-25 loading an examplar mesh and corresponding texture .. GENERATED FROM PYTHON SOURCE LINES 25-31 .. code-block:: Python path_to_mesh = "../examples/data/example_mesh.gii" path_to_mask = None path_to_output = None mesh = sio.load_mesh(path_to_mesh) side = "left" .. GENERATED FROM PYTHON SOURCE LINES 32-33 compute curvature, dpf and voronoi .. GENERATED FROM PYTHON SOURCE LINES 33-35 .. code-block:: Python mean_curvature, dpf, voronoi = swat.compute_mesh_features(mesh) .. rst-class:: sphx-glr-script-out .. code-block:: none 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 .. GENERATED FROM PYTHON SOURCE LINES 36-37 normalize watershed thresholds .. GENERATED FROM PYTHON SOURCE LINES 37-41 .. code-block:: Python thresh_dist, thresh_ridge, thresh_area = swat.normalize_thresholds(voronoi, thresh_dist=20.0, thresh_ridge=1.5, thresh_area=50.0, side=side) #thresh_dist, thresh_ridge, thresh_area = 0, 0, 0 .. rst-class:: sphx-glr-script-out .. code-block:: none Computing the surface area .. GENERATED FROM PYTHON SOURCE LINES 42-43 define the exclusion mask (cingular pole) .. GENERATED FROM PYTHON SOURCE LINES 43-48 .. code-block:: Python if path_to_mask is not None: mask = sio.load_texture(path_to_mask).darray[0] else: mask = None .. GENERATED FROM PYTHON SOURCE LINES 49-50 extract sulcal pits and associated basins .. GENERATED FROM PYTHON SOURCE LINES 50-53 .. code-block:: Python basins, ridges, adjacency = swat.watershed( mesh, voronoi, dpf, thresh_dist, thresh_ridge, thresh_area, mask) .. rst-class:: sphx-glr-script-out .. code-block:: none 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 .. GENERATED FROM PYTHON SOURCE LINES 54-55 generate the textures from watershed outputs .. GENERATED FROM PYTHON SOURCE LINES 55-84 .. code-block:: Python atex_labels, atex_pits, atex_ridges = swat.get_textures_from_dict( mesh, basins, ridges) # generate the texture of the boundaries between basins from watershed outputs atex_boundaries = swat.get_texture_boundaries_from_dict(mesh, ridges) if path_to_output is not None: # texture of curvature curv_tex = stex.TextureND(darray=mean_curvature) sio.write_texture(curv_tex, os.path.join(path_to_output, "mean_curvature.gii")) # texture of depth dpf_tex = stex.TextureND(darray=dpf) sio.write_texture(dpf_tex, os.path.join(path_to_output, "dpf.gii")) # texture of voronoi voronoi_tex = stex.TextureND(darray=voronoi) sio.write_texture(voronoi_tex, os.path.join(path_to_output, "voronoi.gii")) # texture of labels tex_labels = stex.TextureND(darray=atex_labels) sio.write_texture(tex_labels, os.path.join(path_to_output, "labels.gii")) # texture of pits tex_pits = stex.TextureND(darray=atex_pits) sio.write_texture(tex_pits, os.path.join(path_to_output, "pits.gii")) # texture of ridges tex_ridges = stex.TextureND(darray=atex_ridges) sio.write_texture(tex_ridges, os.path.join(path_to_output, "ridges.gii")) # texture of ridges vertices texture_boundaries = stex.TextureND(darray=atex_boundaries) sio.write_texture(tex_labels, os.path.join(path_to_output, "bondaries.gii")) .. GENERATED FROM PYTHON SOURCE LINES 85-87 VISUALIZATION USING plotly ############################################################################ .. GENERATED FROM PYTHON SOURCE LINES 87-116 .. code-block:: Python import slam.plot as splt # create a texture combining the outputs from the watershed tex_plot = dpf min_dpf = min(dpf) tex_plot[atex_boundaries==1] = min_dpf display_settings = {} display_settings['colorbar_label'] = 'Basins labels' mesh_data = {} mesh_data['vertices'] = mesh.vertices mesh_data['faces'] = mesh.faces mesh_data['title'] = 'Basins Labels' intensity_data = {} intensity_data['values'] = tex_plot intensity_data["mode"] = "vertex" fig = splt.plot_mesh( mesh_data=mesh_data, intensity_data=intensity_data, display_settings=display_settings) # add the pits to the plot trace_hover = splt.create_hover_trace( mesh.vertices[atex_pits==1], marker={"size": 6, "color": "white"}, ) fig.add_trace(trace_hover) fig.show() fig .. raw:: html


.. rst-class:: sphx-glr-timing **Total running time of the script:** (0 minutes 7.826 seconds) .. _sphx_glr_download_auto_examples_example_watershed.py: .. only:: html .. container:: sphx-glr-footer sphx-glr-footer-example .. container:: sphx-glr-download sphx-glr-download-jupyter :download:`Download Jupyter notebook: example_watershed.ipynb ` .. container:: sphx-glr-download sphx-glr-download-python :download:`Download Python source code: example_watershed.py ` .. container:: sphx-glr-download sphx-glr-download-zip :download:`Download zipped: example_watershed.zip ` .. only:: html .. rst-class:: sphx-glr-signature `Gallery generated by Sphinx-Gallery `_