Repository: MannLabs/py-lmd (language: python)

Issue:
Update repo and testcases



Discussion / hints:

Fix patch:
diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml
index 5a14448..51324b7 100644
--- a/.github/workflows/python-package.yml
+++ b/.github/workflows/python-package.yml
@@ -7,7 +7,7 @@ on:
   push:
     branches: [ main, release ]
   pull_request:
-    branches: [ main, release ]
+  workflow_dispatch:
 
 jobs:
   build:
@@ -35,4 +35,4 @@ jobs:
         python -m pip install -e .
     - name: Test with pytest
       run: |
-        pytest
+        pytest
\ No newline at end of file
diff --git a/docs_source/pages/notebooks/Image_Segmentation/Image_Segmentation_2.ipynb b/docs_source/pages/notebooks/Image_Segmentation/Image_Segmentation_2.ipynb
index e3801b4..2231e59 100644
--- a/docs_source/pages/notebooks/Image_Segmentation/Image_Segmentation_2.ipynb
+++ b/docs_source/pages/notebooks/Image_Segmentation/Image_Segmentation_2.ipynb
@@ -2,10 +2,1330 @@
  "cells": [
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 3,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "Processing cell sets in serial\n",
+      "{'classes': array([  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,\n",
+      "        13,  14,  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,\n",
+      "        26,  27,  28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,\n",
+      "        39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,\n",
+      "        52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,\n",
+      "        65,  66,  67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,\n",
+      "        78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,\n",
+      "        91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,\n",
+      "       104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,\n",
+      "       117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,\n",
+      "       130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,\n",
+      "       143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,\n",
+      "       156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,\n",
+      "       169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,\n",
+      "       182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,\n",
+      "       195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,\n",
+      "       208], dtype=uint32), 'well': 'A1', 'classes_loaded': array([  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,  10,  11,  12,\n",
+      "        13,  14,  15,  16,  17,  18,  19,  20,  21,  22,  23,  24,  25,\n",
+      "        26,  27,  28,  29,  30,  31,  32,  33,  34,  35,  36,  37,  38,\n",
+      "        39,  40,  41,  42,  43,  44,  45,  46,  47,  48,  49,  50,  51,\n",
+      "        52,  53,  54,  55,  56,  57,  58,  59,  60,  61,  62,  63,  64,\n",
+      "        65,  66,  67,  68,  69,  70,  71,  72,  73,  74,  75,  76,  77,\n",
+      "        78,  79,  80,  81,  82,  83,  84,  85,  86,  87,  88,  89,  90,\n",
+      "        91,  92,  93,  94,  95,  96,  97,  98,  99, 100, 101, 102, 103,\n",
+      "       104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116,\n",
+      "       117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129,\n",
+      "       130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142,\n",
+      "       143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155,\n",
+      "       156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168,\n",
+      "       169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181,\n",
+      "       182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,\n",
+      "       195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207,\n",
+      "       208], dtype=uint32)}\n",
+      "Merging intersecting shapes\n",
+      "center [array([nan, nan]), array([254.76721557, 698.56511976]), array([259.86753352, 409.69077611]), array([971.21844212, 459.56850369]), array([808.73684211, 946.92652085]), array([577.1920051 , 875.92642994]), array([265.03432589, 794.77894955]), array([578.27648202, 691.23663751]), array([486.59353664, 814.73441056]), array([664.48059521, 172.23929218]), array([335.05842391, 178.73686594]), array([858.7820765 , 882.90710383]), array([786.31519811, 978.77291543]), array([680.61261521, 845.88968894]), array([322.44490961,  43.24833492]), array([796.06549865, 887.22857143]), array([810.90721649, 119.59579848]), array([948.39975939, 934.37629973]), array([801.63590277,  43.43897049]), array([311.61059908, 759.73271889]), array([300.8918239 , 683.47127883]), array([590.62323391, 654.55180534]), array([914.94124773,  83.77286493]), array([512.23794489, 760.326062  ]), array([832.82862614, 822.127573  ]), array([768.82518641, 836.79756973]), array([258.92831921, 192.21327684]), array([949.87645286, 811.15368059]), array([214.41928934,  38.47055838]), array([863.43673852,  25.62980319]), array([282.42857143, 152.08109041]), array([112.8       , 243.51277955]), array([388.86646786, 753.79092114]), array([909.45791726,  21.53994294]), array([138.27740333, 189.54664775]), array([236.80669822, 316.89588642]), array([457.36380256, 742.83494385]), array([379.89669565, 684.66608696]), array([941.2333691, 853.8318133]), array([792.44200826, 764.04353352]), array([372.67908585, 810.7015556 ]), array([721.05746061,  94.54958295]), array([260.83376736,  86.98177083]), array([588.71497429, 504.77506427]), array([ 32.70134357, 716.76353167]), array([231.66963979, 537.12830189]), array([215.77467973, 108.74943482]), array([962.0181512 , 296.61002994]), array([310.76724592, 108.87756714]), array([410.45078106, 177.09273494]), array([169.25554608,  40.26834471]), array([923.33658945, 489.40217695]), array([268.27536809, 596.44846797]), array([581.38500421, 332.93723673]), array([846.78963186, 366.03681443]), array([290.69854338, 247.70234326]), array([ 72.49832916, 653.1641604 ]), array([ 75.20036765, 696.79181985]), array([380.91624041, 864.59910486]), array([683.28912072, 310.39940387]), array([180.93641405, 502.57486137]), array([783.74387378, 176.85968446]), array([650.83090564, 474.75585814]), array([204.72460757, 184.75738689]), array([116.71347518, 677.6141844 ]), array([659.7388535, 751.8      ]), array([752.50862069, 243.74956897]), array([452.41038118, 660.39497161]), array([710.61199455, 130.16310768]), array([682.2547736 , 536.30114566]), array([424.40207101, 706.56390533]), array([654.72253923,  45.76997147]), array([383.67131829, 952.36965558]), array([416.69281046, 534.00068799]), array([ 50.0992677 , 759.16219148]), array([843.37941034, 245.93813436]), array([520.67570216, 534.40496408]), array([384.6075188 , 213.39448622]), array([778.6497442 , 296.09130264]), array([697.75906555, 424.02824268]), array([ 96.42394015, 614.42679017]), array([453.77979275, 148.67764619]), array([474.19917127, 266.91712707]), array([199.55519481, 261.64805195]), array([519.2106309 , 578.78688525]), array([529.97727273, 956.77475248]), array([245.9480585 ,  18.07009581]), array([431.50352243, 339.79644049]), array([158.76799264, 880.09473442]), array([874.13658112, 397.48629839]), array([926.24421594, 137.66580977]), array([957.26803776, 388.85030344]), array([393.53264185, 410.5823673 ]), array([899.29216655, 315.17360621]), array([386.54567212, 909.79218189]), array([608.68261965, 292.45675903]), array([231.72485836, 970.42351275]), array([578.30427699, 106.36782077]), array([221.01459362, 844.40435564]), array([179.2144714 , 552.52079723]), array([769.27152956, 367.99742931]), array([718.46068848, 684.64300892]), array([201.7428262 , 611.43313481]), array([335.0674189 , 341.04118477]), array([356.5994152 , 268.59137427]), array([565.97991578, 588.4515711 ]), array([574.40467219, 449.94084401]), array([450.61693057, 947.58140479]), array([635.20668426, 252.88478452]), array([513.66171429, 480.142     ]), array([381.58330335, 348.5595538 ]), array([908.29996802, 417.78413815]), array([403.42892504, 269.10997171]), array([537.05441354,  18.37726723]), array([547.64211391, 298.70618839]), array([135.76751008, 817.7909791 ]), array([354.29659053, 617.42701092]), array([635.31606715, 659.51270983]), array([496.21041348, 623.23644717]), array([334.79747306, 888.24451877]), array([470.73956044, 198.42912088]), array([453.32396607, 382.22004242]), array([100.94282287, 844.13594562]), array([185.90365945, 402.46751307]), array([235.67703162, 477.42304677]), array([964.94067278, 584.58165138]), array([461.22279349, 424.802485  ]), array([497.39172185, 330.8884106 ]), array([153.26402039, 446.75928623]), array([544.15378356, 232.02196908]), array([633.5037679 , 708.16314996]), array([605.51348089, 563.60362173]), array([596.68126327, 236.25212314]), array([535.77403666, 372.71754583]), array([469.79950698, 893.12544508]), array([539.77293338, 902.50680153]), array([894.54804151, 265.09373954]), array([492.53878943, 118.28090367]), array([150.10315473, 764.42864296]), array([280.67527499, 318.69679579]), array([936.29722222, 614.82388889]), array([964.03179516,  36.31232414]), array([249.40557006, 235.84334204]), array([678.10257395, 247.59815597]), array([554.07054455, 738.76691419]), array([184.03546454, 978.92557443]), array([124.22962666, 729.06864713]), array([146.87087759,  83.31414198]), array([972.58095238, 126.09153439]), array([714.04631295, 722.30935252]), array([163.50893228, 685.37931034]), array([720.76768802, 202.97743733]), array([975.10969388, 340.38903061]), array([166.12504092, 241.30212766]), array([820.18096136, 326.97957901]), array([233.22795699, 263.9516129 ]), array([217.46316225, 418.18046358]), array([194.22410546, 310.92278719]), array([696.62274096,  80.9435241 ]), array([382.2967033 , 576.36087912]), array([441.12829595, 597.12239276]), array([533.67381974, 195.1276824 ]), array([178.78285498, 809.38595166]), array([855.73397762, 163.89928789]), array([464.37722729, 557.28118209]), array([912.91745432, 187.92249527]), array([935.19715514, 231.56500165]), array([968.15239764, 187.65995183]), array([763.04081633, 722.38566196]), array([725.42225392, 275.33701854]), array([444.3432971, 297.90625  ]), array([213.82225541, 760.29947722]), array([952.27046632,  91.03937824]), array([179.04979734, 732.22177186]), array([165.78054008, 595.49121303]), array([141.44200244, 642.3980464 ]), array([486.80028839, 375.27757751]), array([554.58455598, 132.73359073]), array([170.54516971, 112.28563969]), array([598.87787221,  31.98646522]), array([546.3887468,  81.5681403]), array([152.76290202, 390.15856395]), array([889.81424936, 153.80203562]), array([154.2       , 351.39382716]), array([984.93471235,  82.57724628]), array([406.09397278, 628.13642255]), array([809.81547354, 209.75233437]), array([798.55086957, 250.04434783]), array([873.55451406, 213.32659102]), array([286.73553985, 540.18219794]), array([323.21456386, 571.44742991]), array([639.00546177, 303.7611718 ]), array([188.02967848, 370.88458368]), array([589.31302326, 194.54139535]), array([294.49095201,  15.35877262]), array([359.34105471, 530.48841794]), array([581.11364968, 163.18922086]), array([532.8814638 , 150.67382657]), array([265.26037118, 658.06168122]), array([627.50404898, 116.03021924]), array([469.71370143, 230.32310838]), array([500.83231707, 167.61341463]), array([540.12784091, 260.06439394]), array([508.12910619, 225.76928953]), array([236.70909091, 582.25367965]), array([703.92302772, 974.94371002]), array([502.57092199, 925.78368794]), array([177.31826742, 139.25423729]), array([313.22151899, 799.16202532])]\n",
+      "length [0, 2672, 2461, 6496, 5852, 4703, 4836, 2058, 4394, 4973, 4416, 4575, 3382, 3472, 5255, 3710, 5141, 11637, 7693, 3038, 2385, 1274, 3302, 3484, 4178, 3621, 2832, 4646, 1970, 2134, 2898, 3130, 3018, 2804, 2819, 2747, 3829, 2875, 3728, 3147, 5207, 1079, 2304, 3112, 2605, 2915, 2654, 5344, 3798, 4033, 2344, 3583, 2513, 2374, 2662, 3158, 2394, 2176, 3128, 2684, 2705, 2979, 3158, 4332, 2115, 2355, 2320, 2466, 2201, 3666, 3380, 5608, 3368, 2907, 3687, 2069, 3062, 1995, 2541, 2868, 2807, 2702, 3620, 1540, 2013, 4444, 1983, 2697, 4349, 2299, 1945, 2966, 3278, 2834, 2507, 1191, 2824, 2455, 4454, 2308, 3112, 2353, 1847, 3545, 2736, 3087, 2654, 4926, 2274, 3500, 2779, 3127, 2828, 3308, 3652, 2727, 3021, 2085, 3265, 2691, 1820, 1886, 2501, 1339, 3827, 1635, 2334, 3020, 2746, 1229, 2654, 2485, 3768, 2673, 3651, 2867, 2987, 2346, 1997, 2091, 1800, 3554, 1149, 2603, 2424, 2002, 2491, 1789, 1890, 2224, 2407, 3590, 1568, 3055, 3183, 1860, 2416, 2655, 1328, 2275, 2541, 1864, 2648, 1966, 2301, 1587, 3023, 4567, 1911, 2804, 2208, 2678, 965, 1727, 2333, 1638, 1387, 1295, 1915, 3177, 2737, 1337, 1965, 1620, 1547, 3086, 2249, 2300, 2027, 3112, 2568, 2014, 1213, 2150, 1271, 2029, 1707, 1257, 1832, 5063, 1467, 1640, 1056, 1309, 1155, 4690, 564, 531, 790]\n",
+      "coords [array([], shape=(0, 2), dtype=uint32), array([[229, 665],\n",
+      "       [230, 665],\n",
+      "       [231, 665],\n",
+      "       ...,\n",
+      "       [275, 733],\n",
+      "       [276, 733],\n",
+      "       [272, 734]], dtype=uint32), array([[258, 377],\n",
+      "       [254, 378],\n",
+      "       [255, 378],\n",
+      "       ...,\n",
+      "       [257, 450],\n",
+      "       [258, 450],\n",
+      "       [254, 451]], dtype=uint32), array([[975, 395],\n",
+      "       [976, 395],\n",
+      "       [977, 395],\n",
+      "       ...,\n",
+      "       [998, 529],\n",
+      "       [999, 529],\n",
+      "       [999, 530]], dtype=uint32), array([[742, 890],\n",
+      "       [743, 890],\n",
+      "       [744, 890],\n",
+      "       ...,\n",
+      "       [898, 999],\n",
+      "       [899, 999],\n",
+      "       [900, 999]], dtype=uint32), array([[551, 833],\n",
+      "       [552, 833],\n",
+      "       [547, 834],\n",
+      "       ...,\n",
+      "       [588, 943],\n",
+      "       [587, 944],\n",
+      "       [588, 944]], dtype=uint32), array([[253, 744],\n",
+      "       [254, 744],\n",
+      "       [255, 744],\n",
+      "       ...,\n",
+      "       [269, 844],\n",
+      "       [270, 844],\n",
+      "       [271, 844]], dtype=uint32), array([[571, 667],\n",
+      "       [572, 667],\n",
+      "       [571, 668],\n",
+      "       ...,\n",
+      "       [583, 723],\n",
+      "       [584, 723],\n",
+      "       [585, 723]], dtype=uint32), array([[465, 774],\n",
+      "       [466, 774],\n",
+      "       [467, 774],\n",
+      "       ...,\n",
+      "       [508, 847],\n",
+      "       [509, 847],\n",
+      "       [510, 847]], dtype=uint32), array([[679, 117],\n",
+      "       [678, 118],\n",
+      "       [679, 118],\n",
+      "       ...,\n",
+      "       [676, 214],\n",
+      "       [677, 214],\n",
+      "       [678, 214]], dtype=uint32), array([[330, 131],\n",
+      "       [330, 132],\n",
+      "       [331, 132],\n",
+      "       ...,\n",
+      "       [344, 221],\n",
+      "       [339, 222],\n",
+      "       [340, 222]], dtype=uint32), array([[871, 842],\n",
+      "       [867, 843],\n",
+      "       [868, 843],\n",
+      "       ...,\n",
+      "       [840, 937],\n",
+      "       [839, 938],\n",
+      "       [840, 938]], dtype=uint32), array([[752, 943],\n",
+      "       [753, 943],\n",
+      "       [754, 943],\n",
+      "       ...,\n",
+      "       [846, 999],\n",
+      "       [847, 999],\n",
+      "       [848, 999]], dtype=uint32), array([[661, 811],\n",
+      "       [677, 811],\n",
+      "       [678, 811],\n",
+      "       ...,\n",
+      "       [686, 879],\n",
+      "       [690, 879],\n",
+      "       [691, 879]], dtype=uint32), array([[319,   0],\n",
+      "       [320,   0],\n",
+      "       [321,   0],\n",
+      "       ...,\n",
+      "       [312,  87],\n",
+      "       [313,  87],\n",
+      "       [314,  87]], dtype=uint32), array([[800, 848],\n",
+      "       [801, 848],\n",
+      "       [802, 848],\n",
+      "       ...,\n",
+      "       [824, 926],\n",
+      "       [825, 926],\n",
+      "       [826, 926]], dtype=uint32), array([[768,  85],\n",
+      "       [769,  85],\n",
+      "       [770,  85],\n",
+      "       ...,\n",
+      "       [810, 166],\n",
+      "       [811, 166],\n",
+      "       [812, 166]], dtype=uint32), array([[969, 869],\n",
+      "       [970, 869],\n",
+      "       [971, 869],\n",
+      "       ...,\n",
+      "       [997, 999],\n",
+      "       [998, 999],\n",
+      "       [999, 999]], dtype=uint32), array([[733,   0],\n",
+      "       [734,   0],\n",
+      "       [735,   0],\n",
+      "       ...,\n",
+      "       [836,  88],\n",
+      "       [837,  88],\n",
+      "       [838,  88]], dtype=uint32), array([[314, 728],\n",
+      "       [310, 729],\n",
+      "       [311, 729],\n",
+      "       ...,\n",
+      "       [330, 788],\n",
+      "       [331, 788],\n",
+      "       [330, 789]], dtype=uint32), array([[301, 645],\n",
+      "       [302, 645],\n",
+      "       [303, 645],\n",
+      "       ...,\n",
+      "       [286, 719],\n",
+      "       [287, 719],\n",
+      "       [287, 720]], dtype=uint32), array([[588, 635],\n",
+      "       [589, 635],\n",
+      "       [590, 635],\n",
+      "       ...,\n",
+      "       [607, 674],\n",
+      "       [608, 674],\n",
+      "       [609, 674]], dtype=uint32), array([[905,  46],\n",
+      "       [905,  47],\n",
+      "       [906,  47],\n",
+      "       ...,\n",
+      "       [913, 119],\n",
+      "       [914, 119],\n",
+      "       [915, 119]], dtype=uint32), array([[500, 716],\n",
+      "       [501, 716],\n",
+      "       [502, 716],\n",
+      "       ...,\n",
+      "       [532, 795],\n",
+      "       [514, 796],\n",
+      "       [515, 796]], dtype=uint32), array([[821, 787],\n",
+      "       [822, 787],\n",
+      "       [820, 788],\n",
+      "       ...,\n",
+      "       [822, 862],\n",
+      "       [823, 862],\n",
+      "       [820, 863]], dtype=uint32), array([[790, 792],\n",
+      "       [790, 793],\n",
+      "       [791, 793],\n",
+      "       ...,\n",
+      "       [751, 889],\n",
+      "       [752, 889],\n",
+      "       [753, 889]], dtype=uint32), array([[242, 154],\n",
+      "       [241, 155],\n",
+      "       [242, 155],\n",
+      "       ...,\n",
+      "       [234, 223],\n",
+      "       [235, 223],\n",
+      "       [234, 224]], dtype=uint32), array([[933, 762],\n",
+      "       [934, 762],\n",
+      "       [935, 762],\n",
+      "       ...,\n",
+      "       [999, 892],\n",
+      "       [998, 893],\n",
+      "       [999, 893]], dtype=uint32), array([[208,   1],\n",
+      "       [207,   2],\n",
+      "       [208,   2],\n",
+      "       ...,\n",
+      "       [221,  65],\n",
+      "       [222,  65],\n",
+      "       [223,  65]], dtype=uint32), array([[822,   0],\n",
+      "       [823,   0],\n",
+      "       [824,   0],\n",
+      "       ...,\n",
+      "       [893,  68],\n",
+      "       [885,  69],\n",
+      "       [886,  69]], dtype=uint32), array([[246, 124],\n",
+      "       [245, 125],\n",
+      "       [246, 125],\n",
+      "       ...,\n",
+      "       [297, 184],\n",
+      "       [293, 185],\n",
+      "       [294, 185]], dtype=uint32), array([[100, 193],\n",
+      "       [101, 193],\n",
+      "       [102, 193],\n",
+      "       ...,\n",
+      "       [147, 279],\n",
+      "       [142, 280],\n",
+      "       [143, 280]], dtype=uint32), array([[376, 715],\n",
+      "       [377, 715],\n",
+      "       [378, 715],\n",
+      "       ...,\n",
+      "       [419, 785],\n",
+      "       [420, 785],\n",
+      "       [421, 785]], dtype=uint32), array([[869,   0],\n",
+      "       [870,   0],\n",
+      "       [871,   0],\n",
+      "       ...,\n",
+      "       [924,  55],\n",
+      "       [925,  55],\n",
+      "       [926,  55]], dtype=uint32), array([[138, 161],\n",
+      "       [139, 161],\n",
+      "       [134, 162],\n",
+      "       ...,\n",
+      "       [151, 221],\n",
+      "       [136, 222],\n",
+      "       [150, 222]], dtype=uint32), array([[239, 277],\n",
+      "       [240, 277],\n",
+      "       [241, 277],\n",
+      "       ...,\n",
+      "       [217, 356],\n",
+      "       [226, 356],\n",
+      "       [227, 356]], dtype=uint32), array([[463, 703],\n",
+      "       [464, 703],\n",
+      "       [465, 703],\n",
+      "       ...,\n",
+      "       [429, 785],\n",
+      "       [430, 785],\n",
+      "       [429, 786]], dtype=uint32), array([[373, 654],\n",
+      "       [374, 654],\n",
+      "       [375, 654],\n",
+      "       ...,\n",
+      "       [390, 715],\n",
+      "       [391, 715],\n",
+      "       [392, 715]], dtype=uint32), array([[946, 828],\n",
+      "       [947, 828],\n",
+      "       [948, 828],\n",
+      "       ...,\n",
+      "       [950, 879],\n",
+      "       [951, 879],\n",
+      "       [952, 879]], dtype=uint32), array([[784, 735],\n",
+      "       [785, 735],\n",
+      "       [805, 735],\n",
+      "       ...,\n",
+      "       [816, 794],\n",
+      "       [815, 795],\n",
+      "       [816, 795]], dtype=uint32), array([[357, 773],\n",
+      "       [354, 774],\n",
+      "       [355, 774],\n",
+      "       ...,\n",
+      "       [320, 873],\n",
+      "       [321, 873],\n",
+      "       [320, 874]], dtype=uint32), array([[720,  75],\n",
+      "       [721,  75],\n",
+      "       [722,  75],\n",
+      "       ...,\n",
+      "       [697, 110],\n",
+      "       [698, 110],\n",
+      "       [699, 110]], dtype=uint32), array([[265,  51],\n",
+      "       [261,  52],\n",
+      "       [262,  52],\n",
+      "       ...,\n",
+      "       [266, 121],\n",
+      "       [267, 121],\n",
+      "       [266, 122]], dtype=uint32), array([[612, 458],\n",
+      "       [613, 458],\n",
+      "       [611, 459],\n",
+      "       ...,\n",
+      "       [588, 542],\n",
+      "       [589, 542],\n",
+      "       [590, 542]], dtype=uint32), array([[ 37, 676],\n",
+      "       [ 36, 677],\n",
+      "       [ 37, 677],\n",
+      "       ...,\n",
+      "       [ 29, 748],\n",
+      "       [ 30, 748],\n",
+      "       [ 31, 748]], dtype=uint32), array([[227, 504],\n",
+      "       [228, 504],\n",
+      "       [229, 504],\n",
+      "       ...,\n",
+      "       [223, 573],\n",
+      "       [224, 573],\n",
+      "       [225, 573]], dtype=uint32), array([[198,  77],\n",
+      "       [199,  77],\n",
+      "       [238,  77],\n",
+      "       ...,\n",
+      "       [214, 142],\n",
+      "       [215, 142],\n",
+      "       [216, 142]], dtype=uint32), array([[989, 243],\n",
+      "       [990, 243],\n",
+      "       [991, 243],\n",
+      "       ...,\n",
+      "       [950, 352],\n",
+      "       [951, 352],\n",
+      "       [950, 353]], dtype=uint32), array([[343,  74],\n",
+      "       [344,  74],\n",
+      "       [345,  74],\n",
+      "       ...,\n",
+      "       [351, 134],\n",
+      "       [352, 134],\n",
+      "       [353, 134]], dtype=uint32), array([[397, 134],\n",
+      "       [393, 135],\n",
+      "       [394, 135],\n",
+      "       ...,\n",
+      "       [422, 238],\n",
+      "       [423, 238],\n",
+      "       [424, 238]], dtype=uint32), array([[154,  13],\n",
+      "       [155,  13],\n",
+      "       [156,  13],\n",
+      "       ...,\n",
+      "       [173,  75],\n",
+      "       [174,  75],\n",
+      "       [175,  75]], dtype=uint32), array([[899, 449],\n",
+      "       [900, 449],\n",
+      "       [910, 449],\n",
+      "       ...,\n",
+      "       [961, 523],\n",
+      "       [962, 523],\n",
+      "       [963, 523]], dtype=uint32), array([[256, 555],\n",
+      "       [257, 555],\n",
+      "       [255, 556],\n",
+      "       ...,\n",
+      "       [264, 633],\n",
+      "       [265, 633],\n",
+      "       [261, 634]], dtype=uint32), array([[593, 299],\n",
+      "       [594, 299],\n",
+      "       [591, 300],\n",
+      "       ...,\n",
+      "       [589, 356],\n",
+      "       [585, 357],\n",
+      "       [586, 357]], dtype=uint32), array([[862, 328],\n",
+      "       [862, 329],\n",
+      "       [862, 330],\n",
+      "       ...,\n",
+      "       [846, 414],\n",
+      "       [847, 414],\n",
+      "       [846, 415]], dtype=uint32), array([[300, 212],\n",
+      "       [301, 212],\n",
+      "       [302, 212],\n",
+      "       ...,\n",
+      "       [293, 280],\n",
+      "       [288, 281],\n",
+      "       [289, 281]], dtype=uint32), array([[ 47, 612],\n",
+      "       [ 48, 612],\n",
+      "       [ 47, 613],\n",
+      "       ...,\n",
+      "       [ 51, 678],\n",
+      "       [ 52, 678],\n",
+      "       [ 53, 678]], dtype=uint32), array([[ 88, 676],\n",
+      "       [ 89, 676],\n",
+      "       [ 90, 676],\n",
+      "       ...,\n",
+      "       [ 81, 724],\n",
+      "       [ 82, 724],\n",
+      "       [ 83, 724]], dtype=uint32), array([[354, 830],\n",
+      "       [355, 830],\n",
+      "       [356, 830],\n",
+      "       ...,\n",
+      "       [371, 895],\n",
+      "       [373, 895],\n",
+      "       [374, 895]], dtype=uint32), array([[673, 279],\n",
+      "       [674, 279],\n",
+      "       [675, 279],\n",
+      "       ...,\n",
+      "       [675, 337],\n",
+      "       [676, 337],\n",
+      "       [677, 337]], dtype=uint32), array([[184, 471],\n",
+      "       [183, 472],\n",
+      "       [184, 472],\n",
+      "       ...,\n",
+      "       [193, 528],\n",
+      "       [194, 528],\n",
+      "       [195, 528]], dtype=uint32), array([[760, 147],\n",
+      "       [761, 147],\n",
+      "       [756, 148],\n",
+      "       ...,\n",
+      "       [772, 209],\n",
+      "       [773, 209],\n",
+      "       [774, 209]], dtype=uint32), array([[655, 435],\n",
+      "       [656, 435],\n",
+      "       [657, 435],\n",
+      "       ...,\n",
+      "       [667, 514],\n",
+      "       [666, 515],\n",
+      "       [667, 515]], dtype=uint32), array([[194, 147],\n",
+      "       [197, 147],\n",
+      "       [198, 147],\n",
+      "       ...,\n",
+      "       [204, 234],\n",
+      "       [205, 234],\n",
+      "       [206, 234]], dtype=uint32), array([[103, 641],\n",
+      "       [104, 641],\n",
+      "       [105, 641],\n",
+      "       ...,\n",
+      "       [112, 715],\n",
+      "       [113, 715],\n",
+      "       [112, 716]], dtype=uint32), array([[679, 721],\n",
+      "       [680, 721],\n",
+      "       [678, 722],\n",
+      "       ...,\n",
+      "       [656, 780],\n",
+      "       [657, 780],\n",
+      "       [653, 781]], dtype=uint32), array([[762, 204],\n",
+      "       [763, 204],\n",
+      "       [760, 205],\n",
+      "       ...,\n",
+      "       [758, 283],\n",
+      "       [759, 283],\n",
+      "       [760, 283]], dtype=uint32), array([[444, 630],\n",
+      "       [445, 630],\n",
+      "       [446, 630],\n",
+      "       ...,\n",
+      "       [467, 687],\n",
+      "       [461, 688],\n",
+      "       [462, 688]], dtype=uint32), array([[704, 108],\n",
+      "       [705, 108],\n",
+      "       [706, 108],\n",
+      "       ...,\n",
+      "       [706, 174],\n",
+      "       [707, 174],\n",
+      "       [705, 175]], dtype=uint32), array([[684, 490],\n",
+      "       [680, 491],\n",
+      "       [681, 491],\n",
+      "       ...,\n",
+      "       [667, 583],\n",
+      "       [668, 583],\n",
+      "       [669, 583]], dtype=uint32), array([[421, 667],\n",
+      "       [422, 667],\n",
+      "       [423, 667],\n",
+      "       ...,\n",
+      "       [415, 751],\n",
+      "       [416, 751],\n",
+      "       [417, 751]], dtype=uint32), array([[637,   0],\n",
+      "       [638,   0],\n",
+      "       [639,   0],\n",
+      "       ...,\n",
+      "       [678, 113],\n",
+      "       [679, 113],\n",
+      "       [679, 114]], dtype=uint32), array([[409, 924],\n",
+      "       [410, 924],\n",
+      "       [411, 924],\n",
+      "       ...,\n",
+      "       [383, 989],\n",
+      "       [384, 989],\n",
+      "       [380, 990]], dtype=uint32), array([[405, 503],\n",
+      "       [406, 503],\n",
+      "       [401, 504],\n",
+      "       ...,\n",
+      "       [418, 567],\n",
+      "       [419, 567],\n",
+      "       [413, 568]], dtype=uint32), array([[ 71, 715],\n",
+      "       [ 72, 715],\n",
+      "       [ 71, 716],\n",
+      "       ...,\n",
+      "       [ 44, 793],\n",
+      "       [ 39, 794],\n",
+      "       [ 40, 794]], dtype=uint32), array([[841, 209],\n",
+      "       [842, 209],\n",
+      "       [840, 210],\n",
+      "       ...,\n",
+      "       [839, 280],\n",
+      "       [840, 280],\n",
+      "       [841, 280]], dtype=uint32), array([[504, 508],\n",
+      "       [505, 508],\n",
+      "       [506, 508],\n",
+      "       ...,\n",
+      "       [490, 561],\n",
+      "       [491, 561],\n",
+      "       [492, 561]], dtype=uint32), array([[378, 163],\n",
+      "       [377, 164],\n",
+      "       [378, 164],\n",
+      "       ...,\n",
+      "       [386, 247],\n",
+      "       [387, 247],\n",
+      "       [388, 247]], dtype=uint32), array([[774, 263],\n",
+      "       [783, 263],\n",
+      "       [784, 263],\n",
+      "       ...,\n",
+      "       [765, 330],\n",
+      "       [766, 330],\n",
+      "       [767, 330]], dtype=uint32), array([[683, 388],\n",
+      "       [684, 388],\n",
+      "       [685, 388],\n",
+      "       ...,\n",
+      "       [726, 457],\n",
+      "       [727, 457],\n",
+      "       [728, 457]], dtype=uint32), array([[107, 584],\n",
+      "       [103, 585],\n",
+      "       [104, 585],\n",
+      "       ...,\n",
+      "       [114, 641],\n",
+      "       [115, 641],\n",
+      "       [114, 642]], dtype=uint32), array([[475, 101],\n",
+      "       [474, 102],\n",
+      "       [475, 102],\n",
+      "       ...,\n",
+      "       [451, 186],\n",
+      "       [449, 187],\n",
+      "       [450, 187]], dtype=uint32), array([[427, 237],\n",
+      "       [428, 237],\n",
+      "       [429, 237],\n",
+      "       ...,\n",
+      "       [486, 304],\n",
+      "       [487, 304],\n",
+      "       [477, 305]], dtype=uint32), array([[207, 234],\n",
+      "       [208, 234],\n",
+      "       [209, 234],\n",
+      "       ...,\n",
+      "       [186, 289],\n",
+      "       [187, 289],\n",
+      "       [188, 289]], dtype=uint32), array([[512, 555],\n",
+      "       [513, 555],\n",
+      "       [511, 556],\n",
+      "       ...,\n",
+      "       [531, 606],\n",
+      "       [532, 606],\n",
+      "       [533, 606]], dtype=uint32), array([[519, 924],\n",
+      "       [520, 924],\n",
+      "       [521, 924],\n",
+      "       ...,\n",
+      "       [538, 990],\n",
+      "       [539, 990],\n",
+      "       [540, 990]], dtype=uint32), array([[208,   0],\n",
+      "       [209,   0],\n",
+      "       [210,   0],\n",
+      "       ...,\n",
+      "       [249,  43],\n",
+      "       [245,  44],\n",
+      "       [246,  44]], dtype=uint32), array([[409, 312],\n",
+      "       [410, 312],\n",
+      "       [405, 313],\n",
+      "       ...,\n",
+      "       [423, 379],\n",
+      "       [424, 379],\n",
+      "       [425, 379]], dtype=uint32), array([[158, 843],\n",
+      "       [158, 844],\n",
+      "       [159, 844],\n",
+      "       ...,\n",
+      "       [162, 912],\n",
+      "       [164, 912],\n",
+      "       [174, 912]], dtype=uint32), array([[884, 359],\n",
+      "       [885, 359],\n",
+      "       [886, 359],\n",
+      "       ...,\n",
+      "       [872, 435],\n",
+      "       [873, 435],\n",
+      "       [873, 436]], dtype=uint32), array([[943, 108],\n",
+      "       [941, 109],\n",
+      "       [942, 109],\n",
+      "       ...,\n",
+      "       [933, 167],\n",
+      "       [932, 168],\n",
+      "       [933, 168]], dtype=uint32), array([[952, 352],\n",
+      "       [953, 352],\n",
+      "       [954, 352],\n",
+      "       ...,\n",
+      "       [941, 429],\n",
+      "       [942, 429],\n",
+      "       [943, 429]], dtype=uint32), array([[392, 378],\n",
+      "       [390, 379],\n",
+      "       [391, 379],\n",
+      "       ...,\n",
+      "       [384, 437],\n",
+      "       [385, 437],\n",
+      "       [386, 437]], dtype=uint32), array([[922, 282],\n",
+      "       [923, 282],\n",
+      "       [924, 282],\n",
+      "       ...,\n",
+      "       [910, 355],\n",
+      "       [911, 355],\n",
+      "       [907, 356]], dtype=uint32), array([[394, 888],\n",
+      "       [395, 888],\n",
+      "       [391, 889],\n",
+      "       ...,\n",
+      "       [350, 931],\n",
+      "       [351, 931],\n",
+      "       [352, 931]], dtype=uint32), array([[594, 274],\n",
+      "       [595, 274],\n",
+      "       [596, 274],\n",
+      "       ...,\n",
+      "       [612, 315],\n",
+      "       [613, 315],\n",
+      "       [614, 315]], dtype=uint32), array([[223, 941],\n",
+      "       [224, 941],\n",
+      "       [225, 941],\n",
+      "       ...,\n",
+      "       [244, 999],\n",
+      "       [245, 999],\n",
+      "       [246, 999]], dtype=uint32), array([[587,  68],\n",
+      "       [588,  68],\n",
+      "       [586,  69],\n",
+      "       ...,\n",
+      "       [586, 143],\n",
+      "       [587, 143],\n",
+      "       [588, 143]], dtype=uint32), array([[219, 798],\n",
+      "       [220, 798],\n",
+      "       [219, 799],\n",
+      "       ...,\n",
+      "       [207, 884],\n",
+      "       [208, 884],\n",
+      "       [207, 885]], dtype=uint32), array([[160, 526],\n",
+      "       [161, 526],\n",
+      "       [162, 526],\n",
+      "       ...,\n",
+      "       [202, 574],\n",
+      "       [203, 574],\n",
+      "       [204, 574]], dtype=uint32), array([[781, 331],\n",
+      "       [782, 331],\n",
+      "       [773, 332],\n",
+      "       ...,\n",
+      "       [771, 405],\n",
+      "       [772, 405],\n",
+      "       [773, 405]], dtype=uint32), array([[729, 663],\n",
+      "       [730, 663],\n",
+      "       [731, 663],\n",
+      "       ...,\n",
+      "       [702, 704],\n",
+      "       [703, 704],\n",
+      "       [704, 704]], dtype=uint32), array([[216, 588],\n",
+      "       [215, 589],\n",
+      "       [216, 589],\n",
+      "       ...,\n",
+      "       [204, 632],\n",
+      "       [206, 632],\n",
+      "       [207, 632]], dtype=uint32), array([[334, 299],\n",
+      "       [335, 299],\n",
+      "       [330, 300],\n",
+      "       ...,\n",
+      "       [337, 381],\n",
+      "       [338, 381],\n",
+      "       [339, 381]], dtype=uint32), array([[357, 228],\n",
+      "       [358, 228],\n",
+      "       [355, 229],\n",
+      "       ...,\n",
+      "       [383, 303],\n",
+      "       [384, 303],\n",
+      "       [385, 303]], dtype=uint32), array([[573, 544],\n",
+      "       [574, 544],\n",
+      "       [572, 545],\n",
+      "       ...,\n",
+      "       [540, 622],\n",
+      "       [541, 622],\n",
+      "       [541, 623]], dtype=uint32), array([[563, 420],\n",
+      "       [564, 420],\n",
+      "       [565, 420],\n",
+      "       ...,\n",
+      "       [575, 483],\n",
+      "       [576, 483],\n",
+      "       [577, 483]], dtype=uint32), array([[428, 894],\n",
+      "       [428, 895],\n",
+      "       [429, 895],\n",
+      "       ...,\n",
+      "       [472, 987],\n",
+      "       [473, 987],\n",
+      "       [474, 987]], dtype=uint32), array([[641, 212],\n",
+      "       [642, 212],\n",
+      "       [643, 212],\n",
+      "       ...,\n",
+      "       [630, 283],\n",
+      "       [631, 283],\n",
+      "       [632, 283]], dtype=uint32), array([[506, 437],\n",
+      "       [507, 437],\n",
+      "       [502, 438],\n",
+      "       ...,\n",
+      "       [492, 517],\n",
+      "       [493, 517],\n",
+      "       [489, 518]], dtype=uint32), array([[364, 307],\n",
+      "       [365, 307],\n",
+      "       [366, 307],\n",
+      "       ...,\n",
+      "       [373, 390],\n",
+      "       [374, 390],\n",
+      "       [375, 390]], dtype=uint32), array([[930, 376],\n",
+      "       [930, 377],\n",
+      "       [931, 377],\n",
+      "       ...,\n",
+      "       [916, 451],\n",
+      "       [914, 452],\n",
+      "       [915, 452]], dtype=uint32), array([[404, 230],\n",
+      "       [405, 230],\n",
+      "       [406, 230],\n",
+      "       ...,\n",
+      "       [391, 303],\n",
+      "       [386, 304],\n",
+      "       [387, 304]], dtype=uint32), array([[477,   0],\n",
+      "       [478,   0],\n",
+      "       [479,   0],\n",
+      "       ...,\n",
+      "       [556,  50],\n",
+      "       [557,  50],\n",
+      "       [558,  50]], dtype=uint32), array([[564, 262],\n",
+      "       [563, 263],\n",
+      "       [564, 263],\n",
+      "       ...,\n",
+      "       [542, 343],\n",
+      "       [541, 344],\n",
+      "       [542, 344]], dtype=uint32), array([[122, 779],\n",
+      "       [123, 779],\n",
+      "       [122, 780],\n",
+      "       ...,\n",
+      "       [127, 857],\n",
+      "       [128, 857],\n",
+      "       [126, 858]], dtype=uint32), array([[350, 577],\n",
+      "       [348, 578],\n",
+      "       [349, 578],\n",
+      "       ...,\n",
+      "       [356, 662],\n",
+      "       [357, 662],\n",
+      "       [358, 662]], dtype=uint32), array([[617, 637],\n",
+      "       [618, 637],\n",
+      "       [619, 637],\n",
+      "       ...,\n",
+      "       [627, 685],\n",
+      "       [628, 685],\n",
+      "       [629, 685]], dtype=uint32), array([[499, 589],\n",
+      "       [498, 590],\n",
+      "       [499, 590],\n",
+      "       ...,\n",
+      "       [491, 669],\n",
+      "       [492, 669],\n",
+      "       [491, 670]], dtype=uint32), array([[337, 856],\n",
+      "       [338, 856],\n",
+      "       [336, 857],\n",
+      "       ...,\n",
+      "       [342, 931],\n",
+      "       [343, 931],\n",
+      "       [344, 931]], dtype=uint32), array([[473, 175],\n",
+      "       [474, 175],\n",
+      "       [475, 175],\n",
+      "       ...,\n",
+      "       [476, 219],\n",
+      "       [477, 219],\n",
+      "       [478, 219]], dtype=uint32), array([[459, 353],\n",
+      "       [460, 353],\n",
+      "       [458, 354],\n",
+      "       ...,\n",
+      "       [466, 406],\n",
+      "       [467, 406],\n",
+      "       [468, 406]], dtype=uint32), array([[102, 800],\n",
+      "       [103, 800],\n",
+      "       [104, 800],\n",
+      "       ...,\n",
+      "       [106, 882],\n",
+      "       [105, 883],\n",
+      "       [106, 883]], dtype=uint32), array([[191, 381],\n",
+      "       [192, 381],\n",
+      "       [193, 381],\n",
+      "       ...,\n",
+      "       [188, 425],\n",
+      "       [188, 426],\n",
+      "       [188, 427]], dtype=uint32), array([[231, 435],\n",
+      "       [231, 436],\n",
+      "       [232, 436],\n",
+      "       ...,\n",
+      "       [257, 518],\n",
+      "       [258, 518],\n",
+      "       [259, 518]], dtype=uint32), array([[968, 560],\n",
+      "       [969, 560],\n",
+      "       [963, 561],\n",
+      "       ...,\n",
+      "       [963, 610],\n",
+      "       [964, 610],\n",
+      "       [963, 611]], dtype=uint32), array([[479, 400],\n",
+      "       [478, 401],\n",
+      "       [479, 401],\n",
+      "       ...,\n",
+      "       [459, 451],\n",
+      "       [454, 452],\n",
+      "       [455, 452]], dtype=uint32), array([[504, 298],\n",
+      "       [505, 298],\n",
+      "       [502, 299],\n",
+      "       ...,\n",
+      "       [530, 358],\n",
+      "       [531, 358],\n",
+      "       [532, 358]], dtype=uint32), array([[156, 413],\n",
+      "       [157, 413],\n",
+      "       [158, 413],\n",
+      "       ...,\n",
+      "       [156, 487],\n",
+      "       [157, 487],\n",
+      "       [158, 487]], dtype=uint32), array([[557, 212],\n",
+      "       [558, 212],\n",
+      "       [555, 213],\n",
+      "       ...,\n",
+      "       [530, 250],\n",
+      "       [531, 250],\n",
+      "       [532, 250]], dtype=uint32), array([[664, 671],\n",
+      "       [665, 671],\n",
+      "       [666, 671],\n",
+      "       ...,\n",
+      "       [636, 739],\n",
+      "       [637, 739],\n",
+      "       [638, 739]], dtype=uint32), array([[618, 531],\n",
+      "       [618, 532],\n",
+      "       [619, 532],\n",
+      "       ...,\n",
+      "       [602, 597],\n",
+      "       [603, 597],\n",
+      "       [599, 598]], dtype=uint32), array([[617, 208],\n",
+      "       [618, 208],\n",
+      "       [619, 208],\n",
+      "       ...,\n",
+      "       [591, 274],\n",
+      "       [592, 274],\n",
+      "       [593, 274]], dtype=uint32), array([[542, 345],\n",
+      "       [543, 345],\n",
+      "       [544, 345],\n",
+      "       ...,\n",
+      "       [528, 402],\n",
+      "       [529, 402],\n",
+      "       [530, 402]], dtype=uint32), array([[468, 865],\n",
+      "       [469, 865],\n",
+      "       [464, 866],\n",
+      "       ...,\n",
+      "       [484, 928],\n",
+      "       [485, 928],\n",
+      "       [485, 929]], dtype=uint32), array([[538, 848],\n",
+      "       [539, 848],\n",
+      "       [537, 849],\n",
+      "       ...,\n",
+      "       [575, 939],\n",
+      "       [576, 939],\n",
+      "       [577, 939]], dtype=uint32), array([[888, 228],\n",
+      "       [887, 229],\n",
+      "       [888, 229],\n",
+      "       ...,\n",
+      "       [877, 297],\n",
+      "       [878, 297],\n",
+      "       [879, 297]], dtype=uint32), array([[494,  85],\n",
+      "       [495,  85],\n",
+      "       [496,  85],\n",
+      "       ...,\n",
+      "       [498, 145],\n",
+      "       [499, 145],\n",
+      "       [495, 146]], dtype=uint32), array([[153, 735],\n",
+      "       [154, 735],\n",
+      "       [152, 736],\n",
+      "       ...,\n",
+      "       [145, 786],\n",
+      "       [146, 786],\n",
+      "       [147, 786]], dtype=uint32), array([[257, 294],\n",
+      "       [257, 295],\n",
+      "       [281, 295],\n",
+      "       ...,\n",
+      "       [275, 344],\n",
+      "       [276, 344],\n",
+      "       [277, 344]], dtype=uint32), array([[938, 585],\n",
+      "       [939, 585],\n",
+      "       [937, 586],\n",
+      "       ...,\n",
+      "       [944, 638],\n",
+      "       [945, 638],\n",
+      "       [946, 638]], dtype=uint32), array([[949,   0],\n",
+      "       [950,   0],\n",
+      "       [951,   0],\n",
+      "       ...,\n",
+      "       [963,  77],\n",
+      "       [964,  77],\n",
+      "       [965,  77]], dtype=uint32), array([[244, 215],\n",
+      "       [245, 215],\n",
+      "       [243, 216],\n",
+      "       ...,\n",
+      "       [253, 257],\n",
+      "       [254, 257],\n",
+      "       [255, 257]], dtype=uint32), array([[658, 214],\n",
+      "       [659, 214],\n",
+      "       [660, 214],\n",
+      "       ...,\n",
+      "       [694, 283],\n",
+      "       [695, 283],\n",
+      "       [694, 284]], dtype=uint32), array([[549, 703],\n",
+      "       [550, 703],\n",
+      "       [551, 703],\n",
+      "       ...,\n",
+      "       [551, 779],\n",
+      "       [552, 779],\n",
+      "       [551, 780]], dtype=uint32), array([[205, 950],\n",
+      "       [206, 950],\n",
+      "       [203, 951],\n",
+      "       ...,\n",
+      "       [209, 999],\n",
+      "       [210, 999],\n",
+      "       [211, 999]], dtype=uint32), array([[135, 696],\n",
+      "       [133, 697],\n",
+      "       [134, 697],\n",
+      "       ...,\n",
+      "       [118, 764],\n",
+      "       [119, 764],\n",
+      "       [118, 765]], dtype=uint32), array([[157,  58],\n",
+      "       [154,  59],\n",
+      "       [155,  59],\n",
+      "       ...,\n",
+      "       [142, 109],\n",
+      "       [143, 109],\n",
+      "       [142, 110]], dtype=uint32), array([[966, 105],\n",
+      "       [967, 105],\n",
+      "       [964, 106],\n",
+      "       ...,\n",
+      "       [962, 147],\n",
+      "       [982, 147],\n",
+      "       [983, 147]], dtype=uint32), array([[678, 692],\n",
+      "       [679, 692],\n",
+      "       [678, 693],\n",
+      "       ...,\n",
+      "       [728, 747],\n",
+      "       [729, 747],\n",
+      "       [730, 747]], dtype=uint32), array([[166, 653],\n",
+      "       [162, 654],\n",
+      "       [163, 654],\n",
+      "       ...,\n",
+      "       [172, 712],\n",
+      "       [173, 712],\n",
+      "       [174, 712]], dtype=uint32), array([[717, 165],\n",
+      "       [718, 165],\n",
+      "       [746, 165],\n",
+      "       ...,\n",
+      "       [716, 236],\n",
+      "       [717, 236],\n",
+      "       [718, 236]], dtype=uint32), array([[974, 318],\n",
+      "       [975, 318],\n",
+      "       [976, 318],\n",
+      "       ...,\n",
+      "       [963, 366],\n",
+      "       [962, 367],\n",
+      "       [963, 367]], dtype=uint32), array([[176, 208],\n",
+      "       [172, 209],\n",
+      "       [173, 209],\n",
+      "       ...,\n",
+      "       [166, 282],\n",
+      "       [167, 282],\n",
+      "       [168, 282]], dtype=uint32), array([[824, 296],\n",
+      "       [825, 296],\n",
+      "       [820, 297],\n",
+      "       ...,\n",
+      "       [810, 359],\n",
+      "       [808, 360],\n",
+      "       [809, 360]], dtype=uint32), array([[219, 227],\n",
+      "       [220, 227],\n",
+      "       [221, 227],\n",
+      "       ...,\n",
+      "       [221, 295],\n",
+      "       [222, 295],\n",
+      "       [220, 296]], dtype=uint32), array([[227, 377],\n",
+      "       [224, 378],\n",
+      "       [225, 378],\n",
+      "       ...,\n",
+      "       [205, 452],\n",
+      "       [202, 453],\n",
+      "       [203, 453]], dtype=uint32), array([[206, 279],\n",
+      "       [207, 279],\n",
+      "       [208, 279],\n",
+      "       ...,\n",
+      "       [214, 356],\n",
+      "       [215, 356],\n",
+      "       [213, 357]], dtype=uint32), array([[701,  54],\n",
+      "       [697,  55],\n",
+      "       [698,  55],\n",
+      "       ...,\n",
+      "       [682, 113],\n",
+      "       [683, 113],\n",
+      "       [680, 114]], dtype=uint32), array([[384, 552],\n",
+      "       [385, 552],\n",
+      "       [386, 552],\n",
+      "       ...,\n",
+      "       [385, 607],\n",
+      "       [386, 607],\n",
+      "       [385, 608]], dtype=uint32), array([[433, 563],\n",
+      "       [434, 563],\n",
+      "       [435, 563],\n",
+      "       ...,\n",
+      "       [461, 636],\n",
+      "       [458, 637],\n",
+      "       [459, 637]], dtype=uint32), array([[545, 169],\n",
+      "       [546, 169],\n",
+      "       [547, 169],\n",
+      "       ...,\n",
+      "       [525, 222],\n",
+      "       [526, 222],\n",
+      "       [527, 222]], dtype=uint32), array([[175, 775],\n",
+      "       [176, 775],\n",
+      "       [177, 775],\n",
+      "       ...,\n",
+      "       [175, 847],\n",
+      "       [176, 847],\n",
+      "       [177, 847]], dtype=uint32), array([[849, 135],\n",
+      "       [848, 136],\n",
+      "       [849, 136],\n",
+      "       ...,\n",
+      "       [862, 193],\n",
+      "       [860, 194],\n",
+      "       [861, 194]], dtype=uint32), array([[450, 525],\n",
+      "       [450, 526],\n",
+      "       [451, 526],\n",
+      "       ...,\n",
+      "       [478, 586],\n",
+      "       [462, 587],\n",
+      "       [474, 587]], dtype=uint32), array([[911, 162],\n",
+      "       [912, 162],\n",
+      "       [910, 163],\n",
+      "       ...,\n",
+      "       [903, 213],\n",
+      "       [904, 213],\n",
+      "       [905, 213]], dtype=uint32), array([[923, 206],\n",
+      "       [924, 206],\n",
+      "       [925, 206],\n",
+      "       ...,\n",
+      "       [953, 256],\n",
+      "       [954, 256],\n",
+      "       [950, 257]], dtype=uint32), array([[974, 139],\n",
+      "       [974, 140],\n",
+      "       [975, 140],\n",
+      "       ...,\n",
+      "       [991, 238],\n",
+      "       [992, 238],\n",
+      "       [990, 239]], dtype=uint32), array([[771, 698],\n",
+      "       [772, 698],\n",
+      "       [773, 698],\n",
+      "       ...,\n",
+      "       [757, 750],\n",
+      "       [758, 750],\n",
+      "       [759, 750]], dtype=uint32), array([[719, 236],\n",
+      "       [720, 236],\n",
+      "       [721, 236],\n",
+      "       ...,\n",
+      "       [747, 320],\n",
+      "       [748, 320],\n",
+      "       [747, 321]], dtype=uint32), array([[430, 263],\n",
+      "       [431, 263],\n",
+      "       [432, 263],\n",
+      "       ...,\n",
+      "       [422, 322],\n",
+      "       [423, 322],\n",
+      "       [420, 323]], dtype=uint32), array([[224, 731],\n",
+      "       [225, 731],\n",
+      "       [226, 731],\n",
+      "       ...,\n",
+      "       [207, 790],\n",
+      "       [208, 790],\n",
+      "       [209, 790]], dtype=uint32), array([[946,  71],\n",
+      "       [945,  72],\n",
+      "       [946,  72],\n",
+      "       ...,\n",
+      "       [950, 110],\n",
+      "       [951, 110],\n",
+      "       [952, 110]], dtype=uint32), array([[155, 712],\n",
+      "       [156, 712],\n",
+      "       [157, 712],\n",
+      "       ...,\n",
+      "       [181, 757],\n",
+      "       [182, 757],\n",
+      "       [183, 757]], dtype=uint32), array([[148, 573],\n",
+      "       [149, 573],\n",
+      "       [150, 573],\n",
+      "       ...,\n",
+      "       [162, 622],\n",
+      "       [163, 622],\n",
+      "       [164, 622]], dtype=uint32), array([[138, 621],\n",
+      "       [139, 621],\n",
+      "       [140, 621],\n",
+      "       ...,\n",
+      "       [147, 671],\n",
+      "       [142, 672],\n",
+      "       [143, 672]], dtype=uint32), array([[468, 347],\n",
+      "       [469, 347],\n",
+      "       [467, 348],\n",
+      "       ...,\n",
+      "       [488, 405],\n",
+      "       [488, 406],\n",
+      "       [489, 406]], dtype=uint32), array([[545, 105],\n",
+      "       [546, 105],\n",
+      "       [547, 105],\n",
+      "       ...,\n",
+      "       [576, 155],\n",
+      "       [574, 156],\n",
+      "       [575, 156]], dtype=uint32), array([[191,  80],\n",
+      "       [190,  81],\n",
+      "       [191,  81],\n",
+      "       ...,\n",
+      "       [163, 148],\n",
+      "       [164, 148],\n",
+      "       [165, 148]], dtype=uint32), array([[594,   0],\n",
+      "       [595,   0],\n",
+      "       [596,   0],\n",
+      "       ...,\n",
+      "       [599,  70],\n",
+      "       [600,  70],\n",
+      "       [601,  70]], dtype=uint32), array([[570,  39],\n",
+      "       [570,  40],\n",
+      "       [571,  40],\n",
+      "       ...,\n",
+      "       [520, 128],\n",
+      "       [521, 128],\n",
+      "       [522, 128]], dtype=uint32), array([[146, 366],\n",
+      "       [147, 366],\n",
+      "       [145, 367],\n",
+      "       ...,\n",
+      "       [151, 414],\n",
+      "       [152, 414],\n",
+      "       [153, 414]], dtype=uint32), array([[890, 115],\n",
+      "       [891, 115],\n",
+      "       [888, 116],\n",
+      "       ...,\n",
+      "       [885, 193],\n",
+      "       [886, 193],\n",
+      "       [885, 194]], dtype=uint32), array([[151, 327],\n",
+      "       [152, 327],\n",
+      "       [153, 327],\n",
+      "       ...,\n",
+      "       [135, 390],\n",
+      "       [136, 390],\n",
+      "       [132, 391]], dtype=uint32), array([[999,  44],\n",
+      "       [997,  45],\n",
+      "       [998,  45],\n",
+      "       ...,\n",
+      "       [997, 108],\n",
+      "       [998, 108],\n",
+      "       [999, 108]], dtype=uint32), array([[405, 590],\n",
+      "       [406, 590],\n",
+      "       [407, 590],\n",
+      "       ...,\n",
+      "       [412, 664],\n",
+      "       [413, 664],\n",
+      "       [414, 664]], dtype=uint32), array([[827, 173],\n",
+      "       [826, 174],\n",
+      "       [827, 174],\n",
+      "       ...,\n",
+      "       [807, 235],\n",
+      "       [808, 235],\n",
+      "       [809, 235]], dtype=uint32), array([[771, 222],\n",
+      "       [772, 222],\n",
+      "       [773, 222],\n",
+      "       ...,\n",
+      "       [814, 277],\n",
+      "       [815, 277],\n",
+      "       [816, 277]], dtype=uint32), array([[867, 183],\n",
+      "       [871, 183],\n",
+      "       [872, 183],\n",
+      "       ...,\n",
+      "       [873, 242],\n",
+      "       [874, 242],\n",
+      "       [875, 242]], dtype=uint32), array([[277, 498],\n",
+      "       [277, 499],\n",
+      "       [278, 499],\n",
+      "       ...,\n",
+      "       [291, 581],\n",
+      "       [292, 581],\n",
+      "       [293, 581]], dtype=uint32), array([[324, 537],\n",
+      "       [325, 537],\n",
+      "       [326, 537],\n",
+      "       ...,\n",
+      "       [301, 613],\n",
+      "       [299, 614],\n",
+      "       [300, 614]], dtype=uint32), array([[654, 271],\n",
+      "       [655, 271],\n",
+      "       [659, 271],\n",
+      "       ...,\n",
+      "       [607, 359],\n",
+      "       [604, 360],\n",
+      "       [605, 360]], dtype=uint32), array([[184, 349],\n",
+      "       [185, 349],\n",
+      "       [183, 350],\n",
+      "       ...,\n",
+      "       [205, 390],\n",
+      "       [206, 390],\n",
+      "       [205, 391]], dtype=uint32), array([[609, 168],\n",
+      "       [610, 168],\n",
+      "       [611, 168],\n",
+      "       ...,\n",
+      "       [575, 214],\n",
+      "       [576, 214],\n",
+      "       [577, 214]], dtype=uint32), array([[282,   0],\n",
+      "       [283,   0],\n",
+      "       [284,   0],\n",
+      "       ...,\n",
+      "       [289,  34],\n",
+      "       [290,  34],\n",
+      "       [291,  34]], dtype=uint32), array([[360, 501],\n",
+      "       [361, 501],\n",
+      "       [356, 502],\n",
+      "       ...,\n",
+      "       [358, 558],\n",
+      "       [359, 558],\n",
+      "       [377, 558]], dtype=uint32), array([[597, 139],\n",
+      "       [595, 140],\n",
+      "       [596, 140],\n",
+      "       ...,\n",
+      "       [566, 184],\n",
+      "       [567, 184],\n",
+      "       [568, 184]], dtype=uint32), array([[531, 125],\n",
+      "       [528, 126],\n",
+      "       [529, 126],\n",
+      "       ...,\n",
+      "       [534, 172],\n",
+      "       [535, 172],\n",
+      "       [536, 172]], dtype=uint32), array([[279, 639],\n",
+      "       [280, 639],\n",
+      "       [281, 639],\n",
+      "       ...,\n",
+      "       [276, 680],\n",
+      "       [277, 680],\n",
+      "       [277, 681]], dtype=uint32), array([[617,  59],\n",
+      "       [617,  60],\n",
+      "       [616,  61],\n",
+      "       ...,\n",
+      "       [616, 172],\n",
+      "       [617, 172],\n",
+      "       [616, 173]], dtype=uint32), array([[463, 212],\n",
+      "       [460, 213],\n",
+      "       [461, 213],\n",
+      "       ...,\n",
+      "       [467, 249],\n",
+      "       [468, 249],\n",
+      "       [469, 249]], dtype=uint32), array([[500, 145],\n",
+      "       [501, 145],\n",
+      "       [502, 145],\n",
+      "       ...,\n",
+      "       [503, 196],\n",
+      "       [504, 196],\n",
+      "       [500, 197]], dtype=uint32), array([[524, 245],\n",
+      "       [525, 245],\n",
+      "       [522, 246],\n",
+      "       ...,\n",
+      "       [533, 278],\n",
+      "       [534, 278],\n",
+      "       [533, 279]], dtype=uint32), array([[501, 197],\n",
+      "       [502, 197],\n",
+      "       [503, 197],\n",
+      "       ...,\n",
+      "       [506, 255],\n",
+      "       [507, 255],\n",
+      "       [506, 256]], dtype=uint32), array([[237, 563],\n",
+      "       [238, 563],\n",
+      "       [239, 563],\n",
+      "       ...,\n",
+      "       [242, 610],\n",
+      "       [243, 610],\n",
+      "       [242, 611]], dtype=uint32), array([[742, 922],\n",
+      "       [743, 922],\n",
+      "       [744, 922],\n",
+      "       ...,\n",
+      "       [755, 999],\n",
+      "       [756, 999],\n",
+      "       [757, 999]], dtype=uint32), array([[507, 912],\n",
+      "       [508, 912],\n",
+      "       [506, 913],\n",
+      "       ...,\n",
+      "       [491, 937],\n",
+      "       [492, 937],\n",
+      "       [493, 937]], dtype=uint32), array([[174, 127],\n",
+      "       [175, 127],\n",
+      "       [176, 127],\n",
+      "       ...,\n",
+      "       [179, 151],\n",
+      "       [180, 151],\n",
+      "       [176, 152]], dtype=uint32), array([[301, 785],\n",
+      "       [302, 785],\n",
+      "       [303, 785],\n",
+      "       ...,\n",
+      "       [318, 820],\n",
+      "       [317, 821],\n",
+      "       [318, 821]], dtype=uint32)]\n"
+     ]
+    },
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "dilating shapes:   0%|          | 0/209 [00:00<?, ?it/s]\n"
+     ]
+    },
+    {
+     "ename": "ValueError",
+     "evalue": "zero-size array to reduction operation minimum which has no identity",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[3], line 22\u001b[0m\n\u001b[1;32m     17\u001b[0m loader_config \u001b[38;5;241m=\u001b[39m {\n\u001b[1;32m     18\u001b[0m     \u001b[38;5;124m'\u001b[39m\u001b[38;5;124morientation_transform\u001b[39m\u001b[38;5;124m'\u001b[39m: np\u001b[38;5;241m.\u001b[39marray([[\u001b[38;5;241m0\u001b[39m, \u001b[38;5;241m-\u001b[39m\u001b[38;5;241m1\u001b[39m],[\u001b[38;5;241m1\u001b[39m, \u001b[38;5;241m0\u001b[39m]])\n\u001b[1;32m     19\u001b[0m }\n\u001b[1;32m     21\u001b[0m sl \u001b[38;5;241m=\u001b[39m SegmentationLoader(config \u001b[38;5;241m=\u001b[39m loader_config)\n\u001b[0;32m---> 22\u001b[0m shape_collection \u001b[38;5;241m=\u001b[39m \u001b[43msl\u001b[49m\u001b[43m(\u001b[49m\u001b[43msegmentation\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m     23\u001b[0m \u001b[43m                    \u001b[49m\u001b[43mcell_sets\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m     24\u001b[0m \u001b[43m                    \u001b[49m\u001b[43mcalibration_points\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/Documents/git/py-lmd/src/lmd/lib.py:666\u001b[0m, in \u001b[0;36mSegmentationLoader.__call__\u001b[0;34m(self, input_segmentation, cell_sets, calibration_points, coords_lookup)\u001b[0m\n\u001b[1;32m    664\u001b[0m     collections \u001b[38;5;241m=\u001b[39m []\n\u001b[1;32m    665\u001b[0m     \u001b[38;5;28;01mfor\u001b[39;00m i, cell_set \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28menumerate\u001b[39m(cell_sets):\n\u001b[0;32m--> 666\u001b[0m         collections\u001b[38;5;241m.\u001b[39mappend(\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mgenerate_cutting_data\u001b[49m\u001b[43m(\u001b[49m\u001b[43mi\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcell_set\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[1;32m    668\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m reduce(\u001b[38;5;28;01mlambda\u001b[39;00m a, b: a\u001b[38;5;241m.\u001b[39mjoin(b), collections)\n",
+      "File \u001b[0;32m~/Documents/git/py-lmd/src/lmd/lib.py:707\u001b[0m, in \u001b[0;36mSegmentationLoader.generate_cutting_data\u001b[0;34m(self, i, cell_set)\u001b[0m\n\u001b[1;32m    705\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mlength\u001b[39m\u001b[38;5;124m'\u001b[39m, length)\n\u001b[1;32m    706\u001b[0m     \u001b[38;5;28mprint\u001b[39m(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mcoords\u001b[39m\u001b[38;5;124m'\u001b[39m, coords)\n\u001b[0;32m--> 707\u001b[0m     center, length, coords \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmerge_dilated_shapes\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcenter\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mlength\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcoords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\n\u001b[1;32m    708\u001b[0m \u001b[43m                                                       \u001b[49m\u001b[43mdilation\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mshape_dilation\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m    709\u001b[0m \u001b[43m                                                       \u001b[49m\u001b[43merosion\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconfig\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mshape_erosion\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m    711\u001b[0m \u001b[38;5;66;03m# Calculate dilation and erosion based on if merging was activated\u001b[39;00m\n\u001b[1;32m    712\u001b[0m dilation \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbinary_smoothing\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mjoin_intersecting\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;28;01melse\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mbinary_smoothing\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m+\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mshape_dilation\u001b[39m\u001b[38;5;124m'\u001b[39m]\n",
+      "File \u001b[0;32m~/Documents/git/py-lmd/src/lmd/lib.py:840\u001b[0m, in \u001b[0;36mSegmentationLoader.merge_dilated_shapes\u001b[0;34m(self, input_center, input_length, input_coords, dilation, erosion)\u001b[0m\n\u001b[1;32m    838\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mthreads\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m1\u001b[39m:\n\u001b[1;32m    839\u001b[0m     \u001b[38;5;28;01mfor\u001b[39;00m coord \u001b[38;5;129;01min\u001b[39;00m tqdm(input_coords, desc \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdilating shapes\u001b[39m\u001b[38;5;124m\"\u001b[39m):\n\u001b[0;32m--> 840\u001b[0m         dilated_coords\u001b[38;5;241m.\u001b[39mappend(\u001b[43mtranform_to_map\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcoord\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdilation\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m \u001b[49m\u001b[43mdilation\u001b[49m\u001b[43m)\u001b[49m)\n\u001b[1;32m    842\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m    843\u001b[0m     \u001b[38;5;28;01mwith\u001b[39;00m mp\u001b[38;5;241m.\u001b[39mget_context(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcontext)\u001b[38;5;241m.\u001b[39mPool(processes\u001b[38;5;241m=\u001b[39m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mconfig[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mprocesses\u001b[39m\u001b[38;5;124m'\u001b[39m]) \u001b[38;5;28;01mas\u001b[39;00m pool:           \n",
+      "File \u001b[0;32m~/Documents/git/py-lmd/src/lmd/lib.py:1004\u001b[0m, in \u001b[0;36mtranform_to_map\u001b[0;34m(coords, dilation, erosion, coord_format, debug)\u001b[0m\n\u001b[1;32m   1000\u001b[0m coords \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray(coords)\u001b[38;5;241m.\u001b[39mastype(\u001b[38;5;28mint\u001b[39m)\n\u001b[1;32m   1003\u001b[0m \u001b[38;5;66;03m# top left offset used for creating the offset map\u001b[39;00m\n\u001b[0;32m-> 1004\u001b[0m offset \u001b[38;5;241m=\u001b[39m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmin\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcoords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;241;43m0\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;241m-\u001b[39m safety_offset \u001b[38;5;241m-\u001b[39m dilation_offset\n\u001b[1;32m   1005\u001b[0m mat \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray([offset, [\u001b[38;5;241m0\u001b[39m,\u001b[38;5;241m0\u001b[39m]])\n\u001b[1;32m   1006\u001b[0m offset \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mmax(mat, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;241m0\u001b[39m)\n",
+      "File \u001b[0;32m~/miniconda3/envs/pylmd/lib/python3.9/site-packages/numpy/_core/fromnumeric.py:3042\u001b[0m, in \u001b[0;36mmin\u001b[0;34m(a, axis, out, keepdims, initial, where)\u001b[0m\n\u001b[1;32m   2925\u001b[0m \u001b[38;5;129m@array_function_dispatch\u001b[39m(_min_dispatcher)\n\u001b[1;32m   2926\u001b[0m \u001b[38;5;28;01mdef\u001b[39;00m \u001b[38;5;21mmin\u001b[39m(a, axis\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, out\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mNone\u001b[39;00m, keepdims\u001b[38;5;241m=\u001b[39mnp\u001b[38;5;241m.\u001b[39m_NoValue, initial\u001b[38;5;241m=\u001b[39mnp\u001b[38;5;241m.\u001b[39m_NoValue,\n\u001b[1;32m   2927\u001b[0m         where\u001b[38;5;241m=\u001b[39mnp\u001b[38;5;241m.\u001b[39m_NoValue):\n\u001b[1;32m   2928\u001b[0m \u001b[38;5;250m    \u001b[39m\u001b[38;5;124;03m\"\"\"\u001b[39;00m\n\u001b[1;32m   2929\u001b[0m \u001b[38;5;124;03m    Return the minimum of an array or minimum along an axis.\u001b[39;00m\n\u001b[1;32m   2930\u001b[0m \n\u001b[0;32m   (...)\u001b[0m\n\u001b[1;32m   3040\u001b[0m \u001b[38;5;124;03m    6\u001b[39;00m\n\u001b[1;32m   3041\u001b[0m \u001b[38;5;124;03m    \"\"\"\u001b[39;00m\n\u001b[0;32m-> 3042\u001b[0m     \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_wrapreduction\u001b[49m\u001b[43m(\u001b[49m\u001b[43ma\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mminimum\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mmin\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m   3043\u001b[0m \u001b[43m                          \u001b[49m\u001b[43mkeepdims\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkeepdims\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43minitial\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43minitial\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mwhere\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mwhere\u001b[49m\u001b[43m)\u001b[49m\n",
+      "File \u001b[0;32m~/miniconda3/envs/pylmd/lib/python3.9/site-packages/numpy/_core/fromnumeric.py:86\u001b[0m, in \u001b[0;36m_wrapreduction\u001b[0;34m(obj, ufunc, method, axis, dtype, out, **kwargs)\u001b[0m\n\u001b[1;32m     83\u001b[0m         \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m     84\u001b[0m             \u001b[38;5;28;01mreturn\u001b[39;00m reduction(axis\u001b[38;5;241m=\u001b[39maxis, out\u001b[38;5;241m=\u001b[39mout, \u001b[38;5;241m*\u001b[39m\u001b[38;5;241m*\u001b[39mpasskwargs)\n\u001b[0;32m---> 86\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43mufunc\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mreduce\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobj\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdtype\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mout\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mpasskwargs\u001b[49m\u001b[43m)\u001b[49m\n",
+      "\u001b[0;31mValueError\u001b[0m: zero-size array to reduction operation minimum which has no identity"
+     ]
+    }
+   ],
    "source": [
+    "%reload_ext autoreload\n",
+    "%autoreload 2\n",
+    "\n",
     "import numpy as np\n",
     "from PIL import Image\n",
     "from lmd.lib import SegmentationLoader\n",
@@ -26,16 +1346,45 @@
     "sl = SegmentationLoader(config = loader_config)\n",
     "shape_collection = sl(segmentation, \n",
     "                    cell_sets, \n",
-    "                    calibration_points)\n",
-    "                    \n",
-    "shape_collection.plot(fig_size = (10, 10))\n"
+    "                    calibration_points)\n"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": null,
+   "execution_count": 6,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "100%|██████████| 208/208 [00:00<00:00, 210.22it/s]\n"
+     ]
+    }
+   ],
+   "source": [
+    "\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": 2,
+   "metadata": {},
+   "outputs": [
+    {
+     "ename": "FileNotFoundError",
+     "evalue": "[Errno 2] No such file or directory: 'channels.npy'",
+     "output_type": "error",
+     "traceback": [
+      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+      "\u001b[0;31mFileNotFoundError\u001b[0m                         Traceback (most recent call last)",
+      "Cell \u001b[0;32mIn[2], line 9\u001b[0m\n\u001b[1;32m      6\u001b[0m im \u001b[38;5;241m=\u001b[39m Image\u001b[38;5;241m.\u001b[39mopen(\u001b[38;5;124m'\u001b[39m\u001b[38;5;124msegmentation_cytosol.tiff\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m      7\u001b[0m segmentation \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39marray(im)\n\u001b[0;32m----> 9\u001b[0m im \u001b[38;5;241m=\u001b[39m \u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mchannels.npy\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m     10\u001b[0m dapi \u001b[38;5;241m=\u001b[39m im[\u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m     12\u001b[0m all_classes \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39munique(segmentation)\n",
+      "File \u001b[0;32m~/miniconda3/envs/pylmd/lib/python3.9/site-packages/numpy/lib/_npyio_impl.py:455\u001b[0m, in \u001b[0;36mload\u001b[0;34m(file, mmap_mode, allow_pickle, fix_imports, encoding, max_header_size)\u001b[0m\n\u001b[1;32m    453\u001b[0m     own_fid \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[1;32m    454\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[0;32m--> 455\u001b[0m     fid \u001b[38;5;241m=\u001b[39m stack\u001b[38;5;241m.\u001b[39menter_context(\u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mos\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfspath\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfile\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mrb\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m)\n\u001b[1;32m    456\u001b[0m     own_fid \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mTrue\u001b[39;00m\n\u001b[1;32m    458\u001b[0m \u001b[38;5;66;03m# Code to distinguish from NumPy binary files and pickles.\u001b[39;00m\n",
+      "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'channels.npy'"
+     ]
+    }
+   ],
    "source": [
     "import numpy as np\n",
     "from PIL import Image\n",
@@ -546,7 +1895,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.10.2"
+   "version": "3.9.19"
   },
   "orig_nbformat": 4
  },
diff --git a/docs_source/pages/notebooks/generate_cutting_mask_svg.ipynb b/docs_source/pages/notebooks/generate_cutting_mask_svg.ipynb
index 0dfa9ec..c83a8d6 100644
--- a/docs_source/pages/notebooks/generate_cutting_mask_svg.ipynb
+++ b/docs_source/pages/notebooks/generate_cutting_mask_svg.ipynb
@@ -10,12 +10,11 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 7,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [],
    "source": [
     "from lmd.lib import Collection, Shape\n",
-    "from sparcscore.processing.utils import flatten\n",
     "import numpy as np"
    ]
   },
@@ -29,17 +28,9 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 3,
    "metadata": {},
-   "outputs": [
-    {
-     "name": "stdout",
-     "output_type": "stream",
-     "text": [
-      "[[Path(Move(end=Point(139.39,124.75)), CubicBezier(start=Point(139.39,124.75), control1=Point(139.39,141.5), control2=Point(151.39,150.25), end=Point(167.64,150)), CubicBezier(start=Point(167.64,150), control1=Point(177.39,149.75), control2=Point(188.39,144.25), end=Point(194.39,140.25)), Line(start=Point(194.39,140.25), end=Point(194.39,51)), Line(start=Point(194.39,51), end=Point(212.64,51)), Line(start=Point(212.64,51), end=Point(212.64,150.25)), CubicBezier(start=Point(212.64,150.25), control1=Point(212.64,163), control2=Point(211.89,182.25), end=Point(206.64,192.25)), CubicBezier(start=Point(206.64,192.25), control1=Point(197.39,209.75), control2=Point(171.39,216.75), end=Point(152.89,217.25)), Line(start=Point(152.89,217.25), end=Point(149.89,205.75)), CubicBezier(start=Point(149.89,205.75), control1=Point(163.89,203.75), control2=Point(183.89,201.75), end=Point(191.39,187.5)), CubicBezier(start=Point(191.39,187.5), control1=Point(195.14,180.5), control2=Point(195.39,166.75), end=Point(195.39,158.75)), CubicBezier(start=Point(195.39,158.75), control1=Point(195.39,156), control2=Point(195.64,156.75), end=Point(195.39,154)), CubicBezier(start=Point(195.39,154), control1=Point(189.89,156.5), control2=Point(177.64,162.5), end=Point(156.14,162.5)), CubicBezier(start=Point(156.14,162.5), control1=Point(139.64,162.5), control2=Point(120.89,150.75), end=Point(120.89,130.5)), Line(start=Point(120.89,130.5), end=Point(120.89,54.5)), Line(start=Point(120.89,54.5), end=Point(139.39,48.25)), Line(start=Point(139.39,48.25), end=Point(139.39,125)), Line(start=Point(139.39,125), end=Point(139.39,124.75)), Close(start=Point(139.39,124.75), end=Point(139.39,124.75)), fill='#231f20'), Path(Move(end=Point(319.64,160.5)), Line(start=Point(319.64,160.5), end=Point(243.14,160.5)), Line(start=Point(243.14,160.5), end=Point(243.14,6)), Line(start=Point(243.14,6), end=Point(261.39,0)), Line(start=Point(261.39,0), end=Point(261.39,147.5)), Line(start=Point(261.39,147.5), end=Point(312.89,147.5)), Line(start=Point(312.89,147.5), end=Point(319.64,160.5)), Close(start=Point(319.64,160.5), end=Point(319.64,160.5)), fill='#231f20'), Path(Move(end=Point(477.39,160.5)), Line(start=Point(477.39,160.5), end=Point(477.39,30.5)), Line(start=Point(477.39,30.5), end=Point(427.64,157.25)), Line(start=Point(427.64,157.25), end=Point(412.14,162.75)), Line(start=Point(412.14,162.75), end=Point(360.64,35)), Line(start=Point(360.64,35), end=Point(360.64,160.5)), Line(start=Point(360.64,160.5), end=Point(347.89,160.5)), Line(start=Point(347.89,160.5), end=Point(347.89,6)), Line(start=Point(347.89,6), end=Point(366.14,0)), Line(start=Point(366.14,0), end=Point(422.64,134.5)), Line(start=Point(422.64,134.5), end=Point(474.39,3)), Line(start=Point(474.39,3), end=Point(495.64,3)), Line(start=Point(495.64,3), end=Point(495.64,160.5)), Line(start=Point(495.64,160.5), end=Point(477.39,160.5)), Close(start=Point(477.39,160.5), end=Point(477.39,160.5)), fill='#231f20'), Path(Move(end=Point(44.18,149.62)), CubicBezier(start=Point(44.18,149.62), control1=Point(33.79,149.27), control2=Point(23.25,143.53), end=Point(17.75,140.09)), Line(start=Point(17.75,140.09), end=Point(17.75,68.84)), CubicBezier(start=Point(17.75,68.84), control1=Point(20.03,66.56), control2=Point(30.6,60.35), end=Point(44.18,60.01)), Line(start=Point(44.18,60.01), end=Point(44.18,48.17)), CubicBezier(start=Point(44.18,48.17), control1=Point(12.43,50.75), control2=Point(0.02,67.09), end=Point(0.25,67.09)), Line(start=Point(0.25,67.09), end=Point(0,210.84)), Line(start=Point(0,210.84), end=Point(18,217.34)), Line(start=Point(18,217.34), end=Point(18,152.59)), CubicBezier(start=Point(18,152.59), control1=Point(26.3,157.65), control2=Point(34.76,161.07), end=Point(44.18,162.19)), Line(start=Point(44.18,162.19), end=Point(44.18,149.62)), Close(start=Point(44.18,149.62), end=Point(44.18,149.62)), fill='#231f20'), Path(Move(end=Point(51.5,48.09)), Line(start=Point(51.5,48.09), end=Point(51.25,47.84)), CubicBezier(start=Point(51.25,47.84), control1=Point(50.1,47.86), control2=Point(48.98,47.89), end=Point(47.88,47.94)), Line(start=Point(47.88,47.94), end=Point(47.88,60.07)), CubicBezier(start=Point(47.88,60.07), control1=Point(83,59.13), control2=Point(84.45,149.82), end=Point(47.88,149.51)), Line(start=Point(47.88,149.51), end=Point(47.88,162.5)), CubicBezier(start=Point(47.88,162.5), control1=Point(110.98,166.83), control2=Point(109.55,46.33), end=Point(51.5,48.09)), Close(start=Point(51.5,48.09), end=Point(51.5,48.09)), fill='#231f20'), Path(Move(end=Point(576.18,149.3)), CubicBezier(start=Point(576.18,149.3), control1=Point(574.94,149.42), control2=Point(573.68,149.5), end=Point(572.39,149.5)), CubicBezier(start=Point(572.39,149.5), control1=Point(561.89,149.5), control2=Point(550.89,144), end=Point(544.89,138.5)), Line(start=Point(544.89,138.5), end=Point(544.89,15.5)), Line(start=Point(544.89,15.5), end=Point(564.64,15.5)), CubicBezier(start=Point(564.64,15.5), control1=Point(568.79,15.59), control2=Point(572.63,16), end=Point(576.18,16.67)), Line(start=Point(576.18,16.67), end=Point(576.18,3)), Line(start=Point(576.18,3), end=Point(526.39,2.75)), Line(start=Point(526.39,2.75), end=Point(526.39,142.75)), CubicBezier(start=Point(526.39,142.75), control1=Point(537.14,151.5), control2=Point(556.14,162.25), end=Point(576.14,162.25)), CubicBezier(start=Point(576.14,162.25), control1=Point(576.15,162.25), control2=Point(576.17,162.25), end=Point(576.18,162.25)), Line(start=Point(576.18,162.25), end=Point(576.18,149.3)), Close(start=Point(576.18,149.3), end=Point(576.18,149.3)), fill='#231f20'), Path(Move(end=Point(579.37,3.05)), Line(start=Point(579.37,3.05), end=Point(579.37,17.38)), CubicBezier(start=Point(579.37,17.38), control1=Point(610.83,25.23), control2=Point(618.14,56.22), end=Point(618.14,86.25)), CubicBezier(start=Point(618.14,86.25), control1=Point(618.14,112.75), control2=Point(605.6,144.1), end=Point(579.37,148.86)), Line(start=Point(579.37,148.86), end=Point(579.37,162.15)), CubicBezier(start=Point(579.37,162.15), control1=Point(615.76,160.01), control2=Point(638.89,121.9), end=Point(638.89,84.25)), CubicBezier(start=Point(638.89,84.25), control1=Point(638.89,46.6), control2=Point(620.86,4.64), end=Point(579.37,3.05)), Close(start=Point(579.37,3.05), end=Point(579.37,3.05)), fill='#231f20')], Path(Move(end=Point(139.39,124.75)), CubicBezier(start=Point(139.39,124.75), control1=Point(139.39,141.5), control2=Point(151.39,150.25), end=Point(167.64,150)), CubicBezier(start=Point(167.64,150), control1=Point(177.39,149.75), control2=Point(188.39,144.25), end=Point(194.39,140.25)), Line(start=Point(194.39,140.25), end=Point(194.39,51)), Line(start=Point(194.39,51), end=Point(212.64,51)), Line(start=Point(212.64,51), end=Point(212.64,150.25)), CubicBezier(start=Point(212.64,150.25), control1=Point(212.64,163), control2=Point(211.89,182.25), end=Point(206.64,192.25)), CubicBezier(start=Point(206.64,192.25), control1=Point(197.39,209.75), control2=Point(171.39,216.75), end=Point(152.89,217.25)), Line(start=Point(152.89,217.25), end=Point(149.89,205.75)), CubicBezier(start=Point(149.89,205.75), control1=Point(163.89,203.75), control2=Point(183.89,201.75), end=Point(191.39,187.5)), CubicBezier(start=Point(191.39,187.5), control1=Point(195.14,180.5), control2=Point(195.39,166.75), end=Point(195.39,158.75)), CubicBezier(start=Point(195.39,158.75), control1=Point(195.39,156), control2=Point(195.64,156.75), end=Point(195.39,154)), CubicBezier(start=Point(195.39,154), control1=Point(189.89,156.5), control2=Point(177.64,162.5), end=Point(156.14,162.5)), CubicBezier(start=Point(156.14,162.5), control1=Point(139.64,162.5), control2=Point(120.89,150.75), end=Point(120.89,130.5)), Line(start=Point(120.89,130.5), end=Point(120.89,54.5)), Line(start=Point(120.89,54.5), end=Point(139.39,48.25)), Line(start=Point(139.39,48.25), end=Point(139.39,125)), Line(start=Point(139.39,125), end=Point(139.39,124.75)), Close(start=Point(139.39,124.75), end=Point(139.39,124.75)), fill='#231f20'), Path(Move(end=Point(319.64,160.5)), Line(start=Point(319.64,160.5), end=Point(243.14,160.5)), Line(start=Point(243.14,160.5), end=Point(243.14,6)), Line(start=Point(243.14,6), end=Point(261.39,0)), Line(start=Point(261.39,0), end=Point(261.39,147.5)), Line(start=Point(261.39,147.5), end=Point(312.89,147.5)), Line(start=Point(312.89,147.5), end=Point(319.64,160.5)), Close(start=Point(319.64,160.5), end=Point(319.64,160.5)), fill='#231f20'), Path(Move(end=Point(477.39,160.5)), Line(start=Point(477.39,160.5), end=Point(477.39,30.5)), Line(start=Point(477.39,30.5), end=Point(427.64,157.25)), Line(start=Point(427.64,157.25), end=Point(412.14,162.75)), Line(start=Point(412.14,162.75), end=Point(360.64,35)), Line(start=Point(360.64,35), end=Point(360.64,160.5)), Line(start=Point(360.64,160.5), end=Point(347.89,160.5)), Line(start=Point(347.89,160.5), end=Point(347.89,6)), Line(start=Point(347.89,6), end=Point(366.14,0)), Line(start=Point(366.14,0), end=Point(422.64,134.5)), Line(start=Point(422.64,134.5), end=Point(474.39,3)), Line(start=Point(474.39,3), end=Point(495.64,3)), Line(start=Point(495.64,3), end=Point(495.64,160.5)), Line(start=Point(495.64,160.5), end=Point(477.39,160.5)), Close(start=Point(477.39,160.5), end=Point(477.39,160.5)), fill='#231f20'), Path(Move(end=Point(44.18,149.62)), CubicBezier(start=Point(44.18,149.62), control1=Point(33.79,149.27), control2=Point(23.25,143.53), end=Point(17.75,140.09)), Line(start=Point(17.75,140.09), end=Point(17.75,68.84)), CubicBezier(start=Point(17.75,68.84), control1=Point(20.03,66.56), control2=Point(30.6,60.35), end=Point(44.18,60.01)), Line(start=Point(44.18,60.01), end=Point(44.18,48.17)), CubicBezier(start=Point(44.18,48.17), control1=Point(12.43,50.75), control2=Point(0.02,67.09), end=Point(0.25,67.09)), Line(start=Point(0.25,67.09), end=Point(0,210.84)), Line(start=Point(0,210.84), end=Point(18,217.34)), Line(start=Point(18,217.34), end=Point(18,152.59)), CubicBezier(start=Point(18,152.59), control1=Point(26.3,157.65), control2=Point(34.76,161.07), end=Point(44.18,162.19)), Line(start=Point(44.18,162.19), end=Point(44.18,149.62)), Close(start=Point(44.18,149.62), end=Point(44.18,149.62)), fill='#231f20'), Path(Move(end=Point(51.5,48.09)), Line(start=Point(51.5,48.09), end=Point(51.25,47.84)), CubicBezier(start=Point(51.25,47.84), control1=Point(50.1,47.86), control2=Point(48.98,47.89), end=Point(47.88,47.94)), Line(start=Point(47.88,47.94), end=Point(47.88,60.07)), CubicBezier(start=Point(47.88,60.07), control1=Point(83,59.13), control2=Point(84.45,149.82), end=Point(47.88,149.51)), Line(start=Point(47.88,149.51), end=Point(47.88,162.5)), CubicBezier(start=Point(47.88,162.5), control1=Point(110.98,166.83), control2=Point(109.55,46.33), end=Point(51.5,48.09)), Close(start=Point(51.5,48.09), end=Point(51.5,48.09)), fill='#231f20'), Path(Move(end=Point(576.18,149.3)), CubicBezier(start=Point(576.18,149.3), control1=Point(574.94,149.42), control2=Point(573.68,149.5), end=Point(572.39,149.5)), CubicBezier(start=Point(572.39,149.5), control1=Point(561.89,149.5), control2=Point(550.89,144), end=Point(544.89,138.5)), Line(start=Point(544.89,138.5), end=Point(544.89,15.5)), Line(start=Point(544.89,15.5), end=Point(564.64,15.5)), CubicBezier(start=Point(564.64,15.5), control1=Point(568.79,15.59), control2=Point(572.63,16), end=Point(576.18,16.67)), Line(start=Point(576.18,16.67), end=Point(576.18,3)), Line(start=Point(576.18,3), end=Point(526.39,2.75)), Line(start=Point(526.39,2.75), end=Point(526.39,142.75)), CubicBezier(start=Point(526.39,142.75), control1=Point(537.14,151.5), control2=Point(556.14,162.25), end=Point(576.14,162.25)), CubicBezier(start=Point(576.14,162.25), control1=Point(576.15,162.25), control2=Point(576.17,162.25), end=Point(576.18,162.25)), Line(start=Point(576.18,162.25), end=Point(576.18,149.3)), Close(start=Point(576.18,149.3), end=Point(576.18,149.3)), fill='#231f20'), Path(Move(end=Point(579.37,3.05)), Line(start=Point(579.37,3.05), end=Point(579.37,17.38)), CubicBezier(start=Point(579.37,17.38), control1=Point(610.83,25.23), control2=Point(618.14,56.22), end=Point(618.14,86.25)), CubicBezier(start=Point(618.14,86.25), control1=Point(618.14,112.75), control2=Point(605.6,144.1), end=Point(579.37,148.86)), Line(start=Point(579.37,148.86), end=Point(579.37,162.15)), CubicBezier(start=Point(579.37,162.15), control1=Point(615.76,160.01), control2=Point(638.89,121.9), end=Point(638.89,84.25)), CubicBezier(start=Point(638.89,84.25), control1=Point(638.89,46.6), control2=Point(620.86,4.64), end=Point(579.37,3.05)), Close(start=Point(579.37,3.05), end=Point(579.37,3.05)), fill='#231f20')]\n"
-     ]
-    }
-   ],
+   "outputs": [],
    "source": [
     "#define file path to simple SVG we want to excise\n",
     "file_path = \"../../_static/pyLMD_text.svg\"\n",
@@ -62,12 +53,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [
     {
      "data": {
-      "image/png": "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bNmCwWCodAemCtu3b2fEiBEEBQXh5+fH0KFD2bVrl335pk2bMBgM/PTTT/bHFixYQEhIiP2Wi79vQn/33Xfp1KkT7u7uhIaGcscddzTyngrR8kkBF0LUWnBwMB999BHPP/88O3bsID8/n3vuuYcZM2YwfPjwKtfJz89nypQp/Pzzz2zdupVOnToxZswY8vPzgd+K8z333ENeXh67d+/m73//Ox988AGhoaGVtrdjxw7+/Oc/M3fuXI4cOcLatWsZMmSIS/dbiJZImtCFEHX26KOPsn79egYMGMC+ffvYvn07RqOxVutarVb8/f357LPPuOmmmwAoLS0lNjaWzp07s3//fq677jref/99+zrDhg2jT58+vP7663z99dfcd999nD17Vq6Ji6uanIELIers5ZdfpqysjGXLlrF48WKMRiOpqal4e3vbfyqa2TMzM3nwwQfp1KkTfn5++Pr6UlBQQGpqqn17BoOBxYsX89VXX1FSUsJrr71W7XOPGDGCtm3b0r59e+655x4WL15MUVGRy/dZiJbGrbkTEEKoz/Hjx0lPT8dqtXLq1Cl69uxJREQEKSkp9pjAwEAApkyZwsWLF3njjTdo27YtRqORuLg4SktLHba5ZcsWwNbjPDs7Gy8vryqf28fHh127drFp0ybWrVvHnDlzeP7559m+fTv+/v4u2V8hWiJpQhdC1ElpaSnXXnstffr0oUuXLrz++uvs27ePkJCQKuN9fHx49913ueeeewA4c+YMUVFRvPbaa/aOacePH6dPnz68+eabLF26lNLSUtavX49Wa2skvLwJ/fcKCwvx9/dn6dKl3H777S7ZZyFaIjkDF0LUyd/+9jfy8vJ488038fb2ZvXq1dx///2sXLmyyvhOnTrxv//9jwEDBmAymXjyySfx8PCwLy8vL+cPf/gDCQkJ3HfffYwaNYqePXvyyiuv8OSTT1ba3sqVKzlx4gRDhgwhICCA1atXY7Va6dKli8v2WYiWSK6BCyFqbdOmTbz++uv873//w9fXF61Wy//+9z9++ukn/vOf/1S5zocffkhOTg79+vXjnnvu4c9//rPD2fo///lPTp8+zXvvvQdAeHg477//Ps8++yx79uyptD1/f3++/vprbrzxRrp27crChQv5/PPP6d69u2t2WogWSprQhRBCCBWSM3AhhBBChaSACyGEECokBVwIIYRQISngQgghhApJARdCCCFUSAq4EEIIoUJSwIUQQggVkgIuhBBCqJAUcCGEEEKFpIALIYQQKiQFXAghhFAhKeBCCCGECv0/4oiPgkGfZjUAAAAASUVORK5CYII=",
+      "image/png": "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bNmCwWCodAemCtu3b2fEiBEEBQXh5+fH0KFD2bVrl335pk2bMBgM/PTTT/bHFixYQEhIiP2Wi79vQn/33Xfp1KkT7u7uhIaGcscddzTyngrR8kkBF0LUWnBwMB999BHPP/88O3bsID8/n3vuuYcZM2YwfPjwKtfJz89nypQp/Pzzz2zdupVOnToxZswY8vPzgd+K8z333ENeXh67d+/m73//Ox988AGhoaGVtrdjxw7+/Oc/M3fuXI4cOcLatWsZMmSIS/dbiJZImtCFEHX26KOPsn79egYMGMC+ffvYvn07RqOxVutarVb8/f357LPPuOmmmwAoLS0lNjaWzp07s3//fq677jref/99+zrDhg2jT58+vP7663z99dfcd999nD17Vq6Ji6uanIELIers5ZdfpqysjGXLlrF48WKMRiOpqal4e3vbfyqa2TMzM3nwwQfp1KkTfn5++Pr6UlBQQGpqqn17BoOBxYsX89VXX1FSUsJrr71W7XOPGDGCtm3b0r59e+655x4WL15MUVGRy/dZiJbGrbkTEEKoz/Hjx0lPT8dqtXLq1Cl69uxJREQEKSkp9pjAwEAApkyZwsWLF3njjTdo27YtRqORuLg4SktLHba5ZcsWwNbjPDs7Gy8vryqf28fHh127drFp0ybWrVvHnDlzeP7559m+fTv+/v4u2V8hWiJpQhdC1ElpaSnXXnstffr0oUuXLrz++uvs27ePkJCQKuN9fHx49913ueeeewA4c+YMUVFRvPbaa/aOacePH6dPnz68+eabLF26lNLSUtavX49Wa2skvLwJ/fcKCwvx9/dn6dKl3H777S7ZZyFaIjkDF0LUyd/+9jfy8vJ488038fb2ZvXq1dx///2sXLmyyvhOnTrxv//9jwEDBmAymXjyySfx8PCwLy8vL+cPf/gDCQkJ3HfffYwaNYqePXvyyiuv8OSTT1ba3sqVKzlx4gRDhgwhICCA1atXY7Va6dKli8v2WYiWSK6BCyFqbdOmTbz++uv873//w9fXF61Wy//+9z9++ukn/vOf/1S5zocffkhOTg79+vXjnnvu4c9//rPD2fo///lPTp8+zXvvvQdAeHg477//Ps8++yx79uyptD1/f3++/vprbrzxRrp27crChQv5/PPP6d69u2t2WogWSprQhRBCCBWSM3AhhBBChaSACyGEECokBVwIIYRQISngQgghhApJARdCCCFUSAq4EEIIoUJSwIUQQggVkgIuhBBCqJAUcCGEEEKFpIALIYQQKiQFXAghhFAhKeBCCCGECv0/4oiPgkGfZjUAAAAASUVORK5CYII=",
       "text/plain": [
        "<Figure size 500x500 with 1 Axes>"
       ]
@@ -90,7 +81,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 27,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [
     {
@@ -125,7 +116,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.9.16"
+   "version": "3.9.19"
   },
   "orig_nbformat": 4
  },
diff --git a/requirements.txt b/requirements.txt
index bab6600..03a1b4c 100755
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
-numpy
+numpy<2.0.0
 matplotlib
 lxml
 networkx >= 3.1
@@ -7,4 +7,4 @@ svgelements
 setuptools
 numba
 tqdm
-hilbertcurve
+hilbertcurve
\ No newline at end of file
diff --git a/src/lmd/lib.py b/src/lmd/lib.py
index cb03924..7ed7aa8 100755
--- a/src/lmd/lib.py
+++ b/src/lmd/lib.py
@@ -1,7 +1,7 @@
 from __future__ import annotations
 from typing import Optional
 from functools import partial, reduce
-import multiprocessing
+import multiprocessing as mp
 import numpy as np
 import matplotlib.pyplot as plt
 from lxml import etree as ET
@@ -9,8 +9,10 @@
 from skimage import data, color
 import matplotlib.ticker as ticker
 from svgelements import SVG
-from lmd.segmentation import get_coordinate_form, tsp_greedy_solve, tsp_hilbert_solve, calc_len
+from lmd.segmentation import get_coordinate_form, tsp_greedy_solve, tsp_hilbert_solve, calc_len, _create_coord_index, _filter_coord_index
 from tqdm import tqdm
+# import warnings
+import warnings
 
 from skimage.morphology import dilation as binary_dilation
 from skimage.morphology import binary_erosion, disk
@@ -28,6 +30,40 @@
 from scipy.signal import convolve2d
 
 import gc
+import sys
+import platform
+
+from concurrent.futures import ProcessPoolExecutor, as_completed
+from typing import Callable
+from tqdm.auto import tqdm
+
+def execute_indexed_parallel(func: Callable, *, args: list, tqdm_args: dict = None, n_threads: int = 10) -> list:
+    """parallelization of function call with indexed arguments using ThreadPoolExecutor. Returns a list of results in the order of the input arguments.
+
+    Args:
+        func (Callable): _description_
+        args (list): _description_
+        tqdm_args (dict, optional): _description_. Defaults to None.
+        n_threads (int, optional): _description_. Defaults to 10.
+
+    Returns:
+        list: containing the results of the function calls in the same order as the input arguments
+    """
+    if tqdm_args is None:
+        tqdm_args = {"total":len(args)}
+    elif "total" not in tqdm_args:
+        tqdm_args["total"] = len(args)
+
+    results = [None for _ in range(len(args))]
+    with ProcessPoolExecutor(n_threads) as executor:
+        with tqdm(**tqdm_args) as pbar:
+            futures = {executor.submit(func, *arg): i for i, arg in enumerate(args)}
+            for future in as_completed(futures):
+                index = futures[future]
+                results[index] = future.result()
+                pbar.update(1)
+
+    return results
 
 class Collection:
     """Class which is used for creating shape collections for the Leica LMD6 & 7. Contains a coordinate system defined by calibration points and a collection of various shapes.
@@ -46,7 +82,7 @@ class Collection:
     def __init__(self, calibration_points: Optional[np.ndarray] = None):
         
         
-        self.shapes: List[Shape] = []
+        self.shapes: list[Shape] = []
         
         self.calibration_points: Optional[np.ndarray] = calibration_points
             
@@ -465,7 +501,6 @@ def to_xml(self,
         return shape
 
     
-
 class SegmentationLoader():
     """Select single cells from a segmentation and generate cutting data
         
@@ -555,9 +590,10 @@ class SegmentationLoader():
     VALID_PATH_OPTIMIZERS = ["none", "hilbert", "greedy"]
     
     
-    def __init__(self, config = {}, verbose = False):
+    def __init__(self, config = {}, verbose = False, processes = 1):
         self.config = config
         self.verbose = verbose
+        self._get_context() #setup context for multiprocessing function calls to work with different operating systems
 
         self.register_parameter('shape_dilation', 0)
         self.register_parameter('shape_erosion', 0)
@@ -572,12 +608,22 @@ def __init__(self, config = {}, verbose = False):
         self.register_parameter('processes', 10)
         self.register_parameter('join_intersecting', True)
         self.register_parameter('orientation_transform', np.eye(2))
-
-    def __call__(self, input_segmentation, cell_sets, calibration_points):
-
-        self.input_segmentation = input_segmentation
+        self.register_parameter('threads', 1)
+
+        self.coords_lookup = None
+        self.processes = processes
+
+    def _get_context(self):
+        if platform.system() == 'Windows':
+            self.context = "spawn"
+        elif platform.system() == 'Darwin':
+            self.context = "spawn"
+        elif platform.system() == 'Linux':
+            self.context = "fork"
+    
+    def __call__(self, input_segmentation, cell_sets, calibration_points, coords_lookup = None):
+        
         self.calibration_points = calibration_points
-
         sets = []
 
         # iterate over all defined sets, perform sanity checks and load external data
@@ -588,19 +634,51 @@ def __call__(self, input_segmentation, cell_sets, calibration_points):
             sets.append(cell_set)
             self.log(f"cell set {i} passed sanity check")
         
-        collections = []
-        for i, cell_set in enumerate(cell_sets):
-            collections.append(self.generate_cutting_data(cell_set))
+        self.input_segmentation = input_segmentation
+        
+        if coords_lookup is None:
+            self.log("Calculating coordinate locations of all cells.")
+            self.coords_lookup = _create_coord_index(self.input_segmentation)
+        else:
+            self.log("Loading coordinates from external source")
+            self.coords_lookup = coords_lookup
+
+        #try multithreading
+        if self.processes > 1:
+            self.log("Processing cell sets in parallel")
+            args = []
+            for i, cell_set in enumerate(cell_sets):
+                args.append((i, cell_set))
+
+            collections = execute_indexed_parallel(
+                self.generate_cutting_data,
+                args=args,
+                tqdm_args=dict(
+                    file=sys.stdout,
+                    disable=not self.verbose,
+                    desc="                  collecting cell sets",
+                ),
+                n_threads = self.processes
+            )
+        else:
+            print("Processing cell sets in serial")
+            print(cell_set)
+            collections = []
+            for i, cell_set in enumerate(cell_sets):
+                collections.append(self.generate_cutting_data(i, cell_set))
 
         return reduce(lambda a, b: a.join(b), collections)
 
-    def generate_cutting_data(self, cell_set):
-        
+    def generate_cutting_data(self, i, cell_set):
+
+        if 0 in cell_set["classes_loaded"]:
+            cell_set["classes_loaded"] = cell_set["classes_loaded"][cell_set["classes_loaded"] != 0]
+            warnings.warn("Class 0 is not a valid class and was removed from the cell set")
+
         self.log("Convert label format into coordinate format")
-        
-        center, length, coords = get_coordinate_form(self.input_segmentation, cell_set["classes_loaded"])
-        
-        self.log("Conversion finished, sanity check")
+        center, length, coords = get_coordinate_form(self.input_segmentation, cell_set["classes_loaded"], self.coords_lookup)
+    
+        self.log("Conversion finished, performing sanity check.")
         
         # Sanity check 1
         if len(center) == len(cell_set["classes_loaded"]):
@@ -627,36 +705,48 @@ def generate_cutting_data(self, cell_set):
         else:
             self.log("Check failed, returned coordinates contain empty elements. Please check if all classes specified are present in your segmentation")
 
-
         if self.config['join_intersecting']:
+            print("Merging intersecting shapes")
             center, length, coords = self.merge_dilated_shapes(center, length, coords, 
-                                                                dilation = self.config['shape_dilation'],
-                                                                erosion = self.config['shape_erosion'])
+                                                               dilation = self.config['shape_dilation'],
+                                                               erosion = self.config['shape_erosion'])
 
         # Calculate dilation and erosion based on if merging was activated
         dilation = self.config['binary_smoothing'] if self.config['join_intersecting'] else self.config['binary_smoothing'] + self.config['shape_dilation']
         erosion = self.config['binary_smoothing'] if self.config['join_intersecting'] else self.config['binary_smoothing'] + self.config['shape_erosion']
 
         self.log("Create shapes for merged cells")
-        with multiprocessing.Pool(processes=self.config['processes']) as pool:           
-            shapes = list(tqdm(pool.imap(partial(tranform_to_map, 
-                                                 erosion = erosion,
-                                                 dilation = dilation,
-                                                 coord_format = False),
-                                                 coords), total=len(center), disable = not self.verbose))
-            
+        
+        if self.config["threads"] == 1:  
+            shapes = []
+            for coord in tqdm(coords, desc = "creating shapes"):
+                shapes.append(tranform_to_map(coord, dilation = dilation, erosion = erosion, coord_format = False))
+        else:
+            with mp.get_context(self.context).Pool(processes=self.config['threads']) as pool:           
+                shapes = list(tqdm(pool.imap(partial(tranform_to_map, 
+                                                    erosion = erosion,
+                                                    dilation = dilation,
+                                                    coord_format = False),
+                                                    coords), total=len(center), disable = not self.verbose, desc = "creating shapes"))
+                
             
         self.log("Calculating polygons")
-        with multiprocessing.Pool(processes=self.config['processes']) as pool:      
-            shapes = list(tqdm(pool.imap(partial(create_poly, 
-                                                 smoothing_filter_size = self.config['convolution_smoothing'],
-                                                 poly_compression_factor = self.config['poly_compression_factor']
-                                                ),
-                                                 shapes), total=len(center), disable = not self.verbose))
-         
+        if self.config["threads"] == 1:  
+            polygons = []
+            for shape in tqdm(shapes, desc = "calculating polygons"):
+                polygons.append(create_poly(shape, 
+                                          smoothing_filter_size = self.config['convolution_smoothing'],
+                                          poly_compression_factor = self.config['poly_compression_factor']))
+        else:
+            with mp.get_context(self.context).Pool(processes=self.config['threads']) as pool:      
+                polygons = list(tqdm(pool.imap(partial(create_poly, 
+                                                    smoothing_filter_size = self.config['convolution_smoothing'],
+                                                    poly_compression_factor = self.config['poly_compression_factor']
+                                                    ),
+                                                    shapes), total=len(center), disable = not self.verbose, desc = "calculating polygons" ))
+            
         
         self.log("Polygon calculation finished")
-
         
         center = np.array(center)
         unoptimized_length = calc_len(center)
@@ -664,8 +754,7 @@ def generate_cutting_data(self, cell_set):
 
         # check if optimizer key has been set
         if 'path_optimization' in self.config:
-            
-
+        
             optimization_method = self.config['path_optimization']
             self.log(f"Path optimizer defined in config: {optimization_method}")
 
@@ -700,9 +789,7 @@ def generate_cutting_data(self, cell_set):
         self.log(f"Optimization factor: {optimization_factor:,.1f}x")
         
         # order list of shapes by the optimized index array
-        shapes = [x for _, x in sorted(zip(optimized_idx, shapes))]
-
-        
+        polygons = [x for _, x in sorted(zip(optimized_idx, polygons))]
 
         # Plot coordinates if in debug mode
         if self.verbose:
@@ -717,7 +804,7 @@ def generate_cutting_data(self, cell_set):
 
             ax.scatter(center[:,1],center[:,0], s=1)
 
-            for shape in shapes:
+            for shape in polygons:
                 ax.plot(shape[:,1],shape[:,0], color="red",linewidth=1)
     
 
@@ -732,7 +819,7 @@ def generate_cutting_data(self, cell_set):
         ds = Collection(calibration_points = self.calibration_points)
         ds.orientation_transform = self.config['orientation_transform']
 
-        for shape in shapes:
+        for shape in polygons:
             # Check if well key is set in cell set definition
             if "well" in cell_set:
                 ds.new_shape(shape, well=cell_set["well"])
@@ -751,10 +838,15 @@ def merge_dilated_shapes(self,
         # coordinates are created as complex numbers to facilitate comparison with np.isin
         dilated_coords = []
         
-        with multiprocessing.Pool(processes=self.config['processes']) as pool:           
-            dilated_coords = list(tqdm(pool.imap(partial(tranform_to_map, 
-                                                 dilation = dilation),
-                                                 input_coords), total=len(input_center)))
+        if self.config["threads"] == 1:
+            for coord in tqdm(input_coords, desc = "dilating shapes"):
+                dilated_coords.append(tranform_to_map(coord, dilation = dilation))
+        
+        else:
+            with mp.get_context(self.context).Pool(processes=self.config['processes']) as pool:           
+                dilated_coords = list(tqdm(pool.imap(partial(tranform_to_map, 
+                                                    dilation = dilation),
+                                                    input_coords), total=len(input_center)))
             
         dilated_coords = [np.apply_along_axis(lambda args: [complex(*args)], 1, d).flatten() for d in dilated_coords]
 
@@ -894,7 +986,7 @@ def register_parameter(self, key, value):
             else:
                 raise TypeError('Key musst be of string or a list of strings')
             
-            if not key in config_handle:
+            if key not in config_handle:
                 self.log(f'No configuration for {key} found, parameter will be set to {value}')
                 config_handle[key] = value
             
diff --git a/src/lmd/segmentation.py b/src/lmd/segmentation.py
index ffbe6b4..e20a62f 100644
--- a/src/lmd/segmentation.py
+++ b/src/lmd/segmentation.py
@@ -6,59 +6,64 @@
 
 from hilbertcurve.hilbertcurve import HilbertCurve
 
+import numba as nb
+
 @njit
-def _selected_coords_fast(mask, classes, debug=False, background=0):
-    
+def _create_coord_index(mask, background=0):
+
     num_classes = np.max(mask)+1
-    
-    coords = []
-    
-    for i in prange(num_classes):
-        coords.append([np.array([0.,0.], dtype="uint32")])
-    
-    rows, cols = mask.shape
-    
-    for row in range(rows):
-        if row % 10000 == 0 and debug:
-            print(row)
-        for col in range(cols):
-            return_id = mask[row, col]
-            if return_id != background:
-                coords[return_id].append(np.array([row, col], dtype="uint32")) # coords[translated_id].append(np.array([x,y]))
-    
-    
-    # use arange explicitely to create uint32 array for comparison with uint32 classes
-    all_classes = np.arange(0, len(coords), dtype=types.uint32)
 
-    for i in all_classes:
-        if i not in classes:
-            coords[i] = [np.array([0.,0.], dtype="uint32")]
-                
-        #return
-    return coords
-             
+    # each class will have a list of coordinates
+    # each coordinate is a 2D array with row and column
+    # initial size is 32, whenever it exceeds the size, it will be doubled
+    initial_size = 32
+
+    index_list = []
+    stop_list = np.zeros(num_classes, dtype=np.uint32)
+    for i in range(num_classes):
+        index_list.append(np.zeros((initial_size, 2), dtype=np.uint32))
+
+    # create index list
+    for col in range(mask.shape[1]):
+        for row in range(mask.shape[0]):
+            class_id = mask[row, col]
+            if class_id != background:
+                if stop_list[class_id] >= index_list[class_id].shape[0]:
+                    new_size = index_list[class_id].shape[0] * 2
+                    new_array = np.zeros((new_size, 2), dtype=np.uint32)
+                    new_array[:stop_list[class_id]] = index_list[class_id]
+                    index_list[class_id] = new_array
+                index_list[class_id][stop_list[class_id]][0] = row
+                index_list[class_id][stop_list[class_id]][1] = col
+                stop_list[class_id] += 1
+
+    # resize index list
+    for i in range(num_classes):
+        index_list[i] = index_list[i][:stop_list[i]]
+
+    return index_list
 
-def get_coordinate_form(inarr, classes, debug=False):
+@njit
+def _filter_coord_index(index_list, classes, background=0):
+
+    filtered_index_list = []
+    for idx, class_id in enumerate(classes):
+        if class_id != background:
+            filtered_index_list.append(index_list[class_id])
+    return filtered_index_list
+             
+def get_coordinate_form(inarr, classes, coords_lookup, debug=False):
     # return with empty lists if no classes are provided
     if len(classes) == 0:
         return [],[],[]
     
-    # calculate all coords in list
-    # due to typing issues in numba, every list and sublist contains np.array([0.,0.], dtype="int32") as first element
-    coords = _selected_coords_fast(inarr.astype("uint32"), nb.typed.List(classes), debug = debug)
-    if debug:
-        print("start removal of zero vectors")
-    # removal of np.array([0.,0.], dtype="int32")
-    coords = [np.array(el[1:]) for el in coords[1:]]
-    if debug:
-        print("start removal of out of class cells")
-    # remove empty elements, not in class list
-    coords_filtered = [np.array(el) for i, el in enumerate(coords) if i+1 in classes]
-    if debug:
-        print("start center calculation")
+    coords_filtered = _filter_coord_index(coords_lookup, nb.typed.List(classes))
+    
     center = [np.mean(el, axis=0) for el in coords_filtered]
+    
     if debug:
         print("start length calculation")
+    
     length = [len(el) for el in coords_filtered]
     
     return center, length, coords_filtered
@@ -72,24 +77,15 @@ def tsp_hilbert_solve(data , p=3):
     hilbert_points = hilbert_curve.points_from_distances(distances)
     hilbert_points = np.array(hilbert_points)
 
-
-
-
     data_min = np.min(data, axis=0)
     data_max = np.max(data, axis=0)
 
-
     hilbert_min = np.min(hilbert_points, axis=0)
     hilbert_max = np.max(hilbert_points, axis=0)
 
-
-
     data_scaled = data - data_min
     data_scaled = data_scaled / (data_max-data_min) * (hilbert_max - hilbert_min)
 
-
-
-
     data_rounded = np.round(data_scaled).astype(int)
 
     order = assign_vertices(hilbert_points, data_rounded)


Test patch:
diff --git a/src/lmd/conftest.py b/src/lmd/conftest.py
new file mode 100644
index 0000000..3280ac7
--- /dev/null
+++ b/src/lmd/conftest.py
@@ -0,0 +1,5 @@
+import matplotlib
+import matplotlib.pyplot
+
+matplotlib.use("Agg")
+matplotlib.pyplot.ioff()
\ No newline at end of file
diff --git a/src/lmd/lmd_test.py b/src/lmd/lmd_test.py
index ef0948b..affba80 100644
--- a/src/lmd/lmd_test.py
+++ b/src/lmd/lmd_test.py
@@ -82,11 +82,11 @@ def test_text():
     my_first_collection.join(identifier_3)                 
 
 def test_segmentation_loader():
-    
-    _dir = pathlib.Path(__file__).parent.resolve().absolute()
-    _dir = str(_dir).replace("src/lmd/", "docs_source/pages/notebooks")
-    
-    im = Image.open(os.path.join(_dir, 'Image_Segmentation', 'segmentation_cytosol.tiff'))
+
+    package_base_path = pathlib.Path(__file__).parent.parent.parent.resolve().absolute()
+    test_segmentation_path = os.path.join(package_base_path, 'docs_source/pages/notebooks/Image_Segmentation/segmentation_cytosol.tiff')
+
+    im = Image.open(test_segmentation_path)
     segmentation = np.array(im).astype(np.uint32)
 
     all_classes = np.unique(segmentation)