diff --git a/requirements.txt b/requirements.txt index 5295b37b..ff6515cd 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,11 +3,12 @@ matplotlib~=3.7.0 nibabel~=5.0.1 notebook~=6.5.1 numpy~=1.24.1 -pandas~=1.5.1 +pandas~=2.0.2 pathos~=0.3.0 -renalsegmentor~=1.3.6 -scikit-image~=0.19.1 -scipy~=1.10.0 +renalsegmentor~=1.3.7 +scikit-image~=0.20.0 +scipy~=1.9.1 scikit-learn~=1.2.1 tabulate~=0.9.0 tqdm~=4.64.1 +trimesh~=3.22.0 diff --git a/tutorials/segmentation.ipynb b/tutorials/segmentation.ipynb index ba40d64f..753273fc 100644 --- a/tutorials/segmentation.ipynb +++ b/tutorials/segmentation.ipynb @@ -17,7 +17,7 @@ "cell_type": "code", "source": [ "import os\n", - "import numpy as np\n", + "\n", "import matplotlib.pyplot as plt\n", "\n", "from ukat.data import fetch\n", @@ -35,6 +35,10 @@ "collapsed": false, "pycharm": { "name": "#%%\n" + }, + "ExecuteTime": { + "end_time": "2023-06-29T15:26:25.006295800Z", + "start_time": "2023-06-29T15:24:59.886272Z" } }, "execution_count": 1, @@ -60,6 +64,13 @@ "cell_type": "code", "execution_count": 2, "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2/2 [==============================] - 3s 827ms/step\n" + ] + }, { "data": { "text/plain": "(-0.5, 255.5, -0.5, 255.5)" @@ -70,12 +81,10 @@ }, { "data": { - "text/plain": "
", - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgMAAAEJCAYAAAAJqCSsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAC+3UlEQVR4nO39eZhlWVkljK87nzvHlENlZg1UFSCFJVWAAg3VgBSCIGULSDnQgAjYFNgign7fZ1tY0CAITggK0mArk6AiiPQPZCgQ7GRqZahiKoqsOYeYbtx5Pr8/oteOdd44NzIiK7MiInOv54knbpx7zj5773Niv++73mEnwjAM4eHh4eHh4XHOIrndHfDw8PDw8PDYXnhlwMPDw8PD4xyHVwY8PDw8PDzOcXhlwMPDw8PD4xyHVwY8PDw8PDzOcXhlwMPDw8PD4xyHVwY8PDw8PDzOcXhlwMPDw8PD4xyHVwY8PDw8PDzOcXhl4F7if/7P/4lEIoGvfvWr290Vh9e97nX48Ic/vOnzE4mE+0mlUpiensZDHvIQ/Mqv/Aq++MUv3qd98fA4GzBpXVhYWMDDH/5wlEolfPKTnwQA/O7v/i4SicSm2r3ooovwvOc973R397SB404kEvjsZz+77vswDHHppZcikUjgcY973Bnpw2233YZEIoE3velNZ6T9sxVeGTgLcSoC+JnPfCYOHz6ML3zhC/ibv/kbPOc5z8EXv/hFPOpRj8Kv/dqv3ad98fA4G3HXXXfhqquuwg9+8AN86lOfwhOf+EQAwAte8AIcPnx4m3t3elEul/HOd75z3fHPfe5zuPXWW1Eul7ehVx4bIb3dHfDYGdi3bx8e+chHur+f9KQn4WUvexle9KIX4c1vfjN+6Id+CC9+8Yu3sYceHrsXt9xyC66++moMBgN87nOfw+WXX+6+O3ToEA4dOrSNvTv9uPbaa/He974Xb33rW1GpVNzxd77znXjUox6Fer2+jb3ziINnBs4Anve856FUKuH73/8+nvKUp6BUKuH888/Hb/zGb6DX67nzSGf9/u//Pl772tfiggsuQBAEePjDH45Pf/rT69q86KKL1t3LUoyJRAKtVgt/9Vd/5ei6U6XjUqkU3vKWt2Bubg5vfOMb3fFut4vf+I3fwBVXXIFqtYqZmRk86lGPwkc+8pHI9Rv1ZX5+Htdddx0uu+wylEol7N27Fz/+4z+Oz3/+86fUVw+PnYqvfe1reMxjHoN0Oo0vfOELEUUAiHcTDAYD/OZv/ib279+PQqGAxzzmMfjyl7+8rm3S8jfeeCNe/OIXY25uDrOzs3j605+Oe+65Z935H/jAB/CoRz0KxWIRpVIJT3rSk/Dv//7v7vt3v/vdSCQSsUzFq1/9amQymdh2LX7+538eAPD+97/fHVtZWcHf//3f4/nPf37sNTfccAMe8YhHYGZmBpVKBQ996EPxzne+E3Yvvc985jN43OMeh9nZWeTzeVxwwQV4xjOegXa7PbE/g8EAz33uc1EqlfBP//RPJ+3/uQivDJwhDAYDXHPNNXjCE56Aj3zkI3j+85+PP/qjP8Ib3vCGdee+5S1vwcc//nH88R//Md7znvcgmUziJ3/yJ0+JOjx8+DDy+Tye8pSn4PDhwzh8+DD+7M/+7JTHkc/ncfXVV+PIkSO46667AAC9Xg9LS0t4xStegQ9/+MN4//vfj8c85jF4+tOfjr/+67/eVF+WlpYAAK961avwsY99DH/5l3+Jiy++GI973ONifY0eHrsRX/jCF/C4xz0Oe/fuxRe+8AVcfPHFm7ruhS98Id70pjfhOc95Dj7ykY/gGc94Bp7+9KdjeXk59vwXvOAFyGQyeN/73off//3fx2c/+1k8+9nPjpzzute9Dj//8z+Pyy67DB/84Afx7ne/G41GA1dddRW+9a1vAVi16Pfv34+3vvWtkWuHwyHe/va342d+5mdw4MCBk/a/Uqngmc98Jt71rne5Y+9///uRTCZx7bXXxl5z22234Vd+5VfwwQ9+EB/60Ifw9Kc/Hb/6q7+K17zmNZFznvrUpyKbzeJd73oXPv7xj+P1r389isUi+v1+bLu1Wg1PetKT8M///M/43Oc+h5/6qZ86af/PSYQe9wp/+Zd/GQIIv/KVr7hjz33uc0MA4Qc/+MHIuU95ylPCBz7wge7vI0eOhADCAwcOhJ1Oxx2v1+vhzMxMePXVV0favPDCC9fd/1WvelVoH2OxWAyf+9znbnoMAMKXvOQlE7//rd/6rRBA+KUvfSn2++FwGA4Gg/CXf/mXwyuvvPKU+sI2nvCEJ4Q/8zM/s+m+e3jsRHBdABBWq9XwxIkTE8+1/8Pf/va3QwDhr//6r0fOe+973xsCiPw/8T7XXXdd5Nzf//3fDwGER48eDcMwDO+4444wnU6Hv/qrvxo5r9FohPv37w+f9axnRfqTzWbD48ePu2Mf+MAHQgDh5z73uU2N+ytf+Up44403hgDCm266KQzDMPzRH/3R8HnPe14YhmH44Ac/OHzsYx87sZ3RaBQOBoPw1a9+dTg7OxuOx+MwDMPw7/7u70IA4de+9rWJ13JdfeMb3xgeOXIkvOyyy8LLLrssvO222zbs+7kOzwycISQSCTztaU+LHPuRH/kR3H777evOffrTn44gCNzf5XIZT3va0/Av//IvGI1GZ7yvJ0NoaDoA+Nu//Vs8+tGPRqlUQjqdRiaTwTvf+U58+9vf3nS7b3vb2/DQhz4UQRC4Nj796U9vqQ0Pj52Ma665BisrK3jZy1626f/lG2+8EQDwi7/4i5Hjz3rWs5BOx4d5XXPNNZG/f+RHfgQA3HrziU98AsPhEM95znMwHA7dTxAEeOxjHxth4xgb9I53vMMde8tb3oLLL78c//E//sdNjQEAHvvYx+KSSy7Bu971Lnzzm9/EV77ylYkuAmCV/r/66qtRrVaRSqWQyWRw/fXXY3FxESdOnAAAXHHFFchms3jRi16Ev/qrv8IPfvCDie3927/9Gx75yEdi3759+Nd//VdceOGFm+77uQivDJwhFAqFiIAHgFwuh263u+7c/fv3xx7r9/toNptnrI+bBRcU0oMf+tCH8KxnPQsHDx7Ee97zHhw+fNj9o8eNLw5/+Id/iBe/+MV4xCMegb//+7/HF7/4RXzlK1/Bk5/8ZHQ6nTM2Fg+P+xK/8zu/g+uvvx7ve9/78OxnP3tTCsHi4iKA9etCOp3G7Oxs7DX2eC6XAwD3v3T8+HEAwI/+6I8ik8lEfj7wgQ9gYWHBXbtv3z5ce+21ePvb347RaIRvfOMb+PznP4+XvvSlmxz1KhKJBH7pl34J73nPe/C2t70ND3jAA3DVVVfFnvvlL38ZP/ETPwFgVQn513/9V3zlK1/Bb//2b0fGcckll+BTn/oU9u7di5e85CW45JJLcMkll+BP/uRP1rX5yU9+EsePH8cLXvACTE1Nbanv5yJ8NsEOwLFjx2KPZbNZlEolAEAQBJHgQ0L/ic8EOp0OPvWpT+GSSy5xEc/vec97cL/73Q8f+MAHIoFPcf2bhPe85z143OMehz//8z+PHG80Gqen4x4eOwQ33HADEokEbrjhBozHY7z3ve+daOEDa4L92LFjOHjwoDs+HA6dorBVzM3NAQD+7u/+blMW8q/92q/h3e9+Nz7ykY/g4x//OKamptYxFZvB8573PFx//fV429vehte+9rUTz/ubv/kbZDIZ/NM//VPEiIpLS77qqqtw1VVXYTQa4atf/Sr+9E//FC972cuwb98+/NzP/Zw775WvfCVuvfVWx4Y85znP2XL/zyV4ZWAH4EMf+hDe+MY3un+CRqOBj370o7jqqquQSqUArBYbOXHiBI4fP459+/YBAPr9Pj7xiU+say+Xy50W63o0GuGlL30pFhcX8Xu/93vueCKRQDabjSgCx44dW5dNsFFfEomEs16Ib3zjGzh8+DDOP//8e913D4+dhN/93d9FMpnEq171KoRhiPe9730TFQJm3Lz3ve/Fwx72MHf8gx/8IIbD4Snd/0lPehLS6TRuvfVWPOMZzzjp+Q972MPwH/7Df8Ab3vAG3HTTTXjRi16EYrG45fsePHgQr3zlK/Gd73wHz33ucyeel0gkkE6n3XoHrBoi7373uydek0ql8IhHPAI/9EM/hPe+9734t3/7t4gykEwm8fa3vx2lUgnPe97z0Gq1fHr0BvDKwA5AKpXCE5/4RLz85S/HeDzGG97wBtTrddxwww3unGuvvRbXX389fu7nfg6vfOUr0e128eY3vzmWdrz88svx2c9+Fh/96Edx3nnnoVwu44EPfOCGfTh+/Di++MUvIgxDNBoN3HTTTfjrv/5rfP3rX8ev//qv44UvfKE796d+6qfwoQ99CNdddx2e+cxn4s4778RrXvManHfeebjllls21Zef+qmfwmte8xq86lWvwmMf+1h897vfxatf/Wrc7373O+UFz8NjJ+P6669HMpnE7/zO7yAMQ7z//e+PVQge9KAH4dnPfjb++I//GJlMBldffTVuuukmvOlNb4rk7G8FF110EV796lfjt3/7t/GDH/wAT37ykzE9PY3jx4/jy1/+MorFYmS9AVbZgWuvvRaJRALXXXfdKd0XAF7/+tef9JynPvWp+MM//EP8wi/8Al70ohdhcXERb3rTm9YZDG9729vwmc98Bk996lNxwQUXoNvtuoyFq6++OrbtP/iDP0C5XMZ1112HZrOJV77ylac8lrMa2xu/uPsxKZugWCyuO9dGDTPq9Q1veEN4ww03hIcOHQqz2Wx45ZVXhp/4xCfWXf+//tf/Cq+4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" }, + "metadata": {}, "output_type": "display_data" } ], @@ -105,6 +114,10 @@ "collapsed": false, "pycharm": { "name": "#%%\n" + }, + "ExecuteTime": { + "end_time": "2023-06-29T15:26:33.154156600Z", + "start_time": "2023-06-29T15:26:25.010295100Z" } } }, @@ -122,7 +135,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 3, "outputs": [ { "name": "stdout", @@ -137,18 +150,16 @@ "data": { "text/plain": "(-0.5, 255.5, -0.5, 255.5)" }, - "execution_count": 4, + "execution_count": 3, "metadata": {}, "output_type": "execute_result" }, { "data": { - "text/plain": "
", - "image/png": "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\n" - }, - "metadata": { - "needs_background": "light" + "text/plain": "
", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABHwAAAFcCAYAAAC6HKm+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsN0lEQVR4nO3deZiVdd0/8M+ZlVXABVkUUZAlwwV3nwowt0wFVFwrFdTHtEzzV9pjpeXSo1ZaLrkyaKllaqm5ZIhaKiiouOCSyKYoioogIMvMuX9/+DA5rAOc4cx85/W6rrku576/574/9zVyvufzPveSy7IsCwAAAACSUVLsAgAAAAAoLIEPAAAAQGIEPgAAAACJEfgAAAAAJEbgAwAAAJAYgQ8AAABAYgQ+AAAAAIkR+AAAAAAkRuADAAAAkBiBTxOSy+Xq9fPYY4/FtGnTIpfLxS9/+cs626ipqYnhw4dHLpeLiy66KM4888zI5XLx2muvrXK/5557buRyuXjuueca+hAjIuLuu++Oo48+Onr27BktW7aM7t27x7HHHhtvvPHGal/36aefRq9evVZ63BERS5cujZ/97GfRvXv3qKysjD59+sSVV17ZUIdRx7K/x6hRozbI/gDW1ahRoyKXy8WECRNWOaYpzzFvv/12nHHGGTFgwIBo3779at+b//a3v8W3vvWt6NevX5SXl0cul1vldidPnhzf/OY3o1u3btGyZcvo0aNHfP/7348PP/ywgY7kP8wxQFOxbI5Z9lNWVhadO3eOo446aqWf9QcOHBhf/OIXV1j+wAMPRKtWrWLPPfeMxx9/PHK5XJxzzjmr3O8bb7wRuVwuTj/99IIez+pcccUVceihh8bWW28duVwuBg4cuNJx9e195s2bFxdddFEMHDgwOnXqFG3atIl+/frFJZdcEosWLdoAR/TZ32NVx0HjJPBpQsaOHVvn58ADD4yWLVuusLx///4rff2SJUviiCOOiJtvvjmuueaaOPfcc2PEiBERETFy5MiVviafz8ctt9wSO+644yq3W2iXXHJJLFy4MM4999x46KGH4sILL4znn38++vfvH5MmTVrl637yk5/EggULVrn+1FNPjV/84hdx2mmnxd///vcYOnRofO9734uLL764IQ4DoFlpKnPM5MmT49Zbb42Kioo48MADVzv2L3/5S4wbNy6+8IUvxA477LDKcbNnz4499tgjnnzyybjgggvigQceiNNOOy1uuOGG2GeffSKfzxf6MACatKqqqhg7dmyMHj06vvOd78S9994bX/rSl2LOnDlrfO3tt98eQ4YMif/6r/+K0aNHx4ABA2LnnXeOW265JWpqala5v4ionZc2hGuvvTamT58ee++9d2y22WarHFff3mfGjBlxxRVXRP/+/eP666+Pe++9Nw4//PA4//zz46CDDoosyzbEYdHUZDRZxx13XNa6deuVrps6dWoWEdlll12WZVmWzZ8/P9tnn32y8vLy7Pbbb68zdrfddss6deqULV26dIXtPPjgg1lEZFdeeWXhD2AV3nvvvRWWzZw5MysvL89GjBix0tc8/fTTWUVFRfbnP/+5znEv8/LLL2e5XC67+OKL6yw/6aSTspYtW2Yffvhh4Q5gJZb9Paqqqhp0PwDrq6qqKouIbPz48asc05TnmJqamtr/Hj9+/Grfmz8/9rTTTstW9bHphhtuyCIiGz16dJ3lF198cRYR2XPPPbf+ha+GOQZoKlY1x/zsZz/LIiIbOXJkneUDBgzItttuu9rfr7nmmqykpCQ79NBDs8WLF9dZHhHZfffdt8I+q6urs65du2Y777xzgY9m9T4/h2y33XbZgAEDVjquvr3P/Pnzs/nz568w9rLLLssiIvvXv/61/kWvwYABA1Z5HDROzvBpBubMmRP77LNPPPnkk/HXv/41jjrqqDrrR4wYEbNmzYoHH3xwhddWVVVFZWVlHHvssRuq3OjYseMKy7p06RJbbLFFvPXWWyusW7JkSQwfPjxOO+202GWXXVa6zb/+9a+RZVmccMIJdZafcMIJ8emnn8ZDDz202prOP//8yOVy8eKLL8awYcOiXbt2sfHGG8f3v//9qK6ujtdffz0OOOCAaNu2bXTv3j0uvfTStThigKarqc0xJSX1/+hT37Hl5eUREdGuXbs6y9u3bx8RES1atFjt680xQHO37DP8e++9t8oxF198cZx66qlx/PHHxx133BEVFRW164455pho2bJl7Zk8n/fwww/HzJkzY/jw4YUvfDXqO4fUt/dp3bp1tG7deoWxu+22W0TESvukz1t2+e9ll10Wl1xySXTv3j1atmwZAwcOjH//+9+xdOnSOOecc6JLly7Rrl27GDp0aLz//vv1OgYaL4FP4t599934yle+Eq+++mo8/PDDKz19/eijj45WrVqtcMr9nDlz4p577omhQ4dGhw4dVruffD4f1dXVa/xZ1WmWazJlypSYPn16bLfddius+/nPfx4LFiyICy64YJWvf/nll2OzzTaLTp061Vm+/fbb166vjyOOOCJ22GGHuOuuu+Kkk06Kyy+/PM4888wYMmRIfP3rX4+//OUvsffee8fZZ58dd99991ocIUDTk8ocs76GDBkS3bp1i7POOismTZoU8+fPj3/+85/xv//7v3HwwQdH375967UdcwzQXE2dOjUiInr16rXS9T/4wQ/i3HPPjbPOOituuummKC0trbO+Xbt2cdhhh8V9990Xs2fPrrOuqqoqWrRoEcccc8wa66jPXFNdXd3gl0+trvdZ3pgxYyIi6jU2IuLqq6+OJ598Mq6++uq48cYb47XXXouDDz44RowYEbNnz46RI0fGpZdeGqNHj44TTzxxvY6DRqDYpxix7upzSdeyn4cffniN2yovL69zSuGVV16ZRUT2j3/8Y421nHfeeXX2t6qfrbbaaq2OMcuybOnSpdnAgQOzjTbaKJsxY0addc8//3xWXl6ePfTQQ3WOe/lLuvbdd9+sd+/eK91+RUVFdvLJJ9fr+H71q1/VWb7jjjtmEZHdfffdderdbLPNskMPPbR2mdPtgaZibS7paupzzJou6fq81V3SlWVZ9s4772R77rlnnXqGDRuWLVq0aI3bNscAzcWyOWbcuHHZ0qVLs08++SR76KGHsk6dOmVf+cpXVrj8d8CAAbXvqcccc8xqt/3oo49mEZH9+te/rl324YcfZpWVldmxxx67xtqWn9tW9/Poo4+u1XGv7pKu5a2u91neCy+8kLVs2TIbOnToGre77Ph22GGHOpebXXHFFVlEZIccckid8WeccUYWEdncuXNrl7mkq+kpK1x0RGO0//77x2OPPRbf//73Y8yYMau8YdiIESPi5ptvjt///vdx1llnRcRnafhWW20VX/3qV9e4n5NPPjkOOuigNY6rrKxcq/qzLIsRI0bEv/71r7jrrrtiyy23rF1XXV0dw4cPjyOPPDL233//NW5rdU9XWd26z1v+GPv27RsvvPBCfO1rX6tdVlZWFj179ozp06fXa5sATVVTn2MKZc6cOTF48OBYuHBh3HrrrbHlllvGyy+/HBdccEEccsghcf/990dZ2Zo/cpljgOZijz32qPN7375945577lnpe2W3bt2iQ4cOceedd8YRRxwRgwcPXuk2BwwYED169Iiqqqo488wzIyLi1ltvjcWLF9frcq4uXbrE+PHj61V/79696zVuba2u91netGnT4qCDDoott9wybrzxxnrv48ADD6xzudmys1C//vWv1xm3bPmMGTNW+qQ0mgaBT+L22Wef+N73vhdDhw6NQYMGxZgxY1Z6neiXv/zl6NWrV1RVVcVZZ50VL774Yjz33HO19xVYk06dOq10u8urb7AS8dkb3oknnhh/+MMf4uabb17hzf2KK66IKVOmxB133BEff/xxRHz2uMKIiEWLFsXHH38cbdu2jdLS0thkk01i4sSJK+xjwYIFsWTJkth4443rVdPy4yoqKqJVq1Yr3J+hoqKithaAVDXlOaaQLrnkkpg4cWJMnz49OnfuHBGfHXOfPn1i7733jltvvTWOO+64NW7HHAM0F7fcckv07ds3Pvnkk/jTn/4U1113XRx99NErvd9b27ZtY8yYMbHPPvvEsGHD4o477oghQ4asMC6Xy8Xw4cPj3HPPjQkTJsQuu+wSVVVVsfXWW8egQYPWWFNFRUXsuOOO9ap/+UvKCmFNvc/nTZ8+PQYNGhRlZWXxyCOP1LuXiVj5XLO65Rvqke80DPfwaQa+9rWvxT333BNvvvlmDBo0aJU3Qxs+fHhMmjQpnnnmmRg5cmSUlJTE8ccfX699/PznP4/y8vI1/vTo0aNe21v2hldVVRU33nhjfOMb31hhzMsvvxxz586NbbfdNjp06BAdOnSofWzuT37yk+jQoUO89NJLERHRr1+/mD17dsyaNavONpatl1oDrJumOMcU2sSJE6Nr1661Yc8yu+66a0TU/z5xAM1F3759Y5dddolBgwbFtddeGyeeeGI89NBDceedd650/MYbbxyjR4+Ofv36xRFHHLHK+5gdf/zxUVpaGiNHjowXXnghnn/++Rg+fHi9vhCYNm1aveaa8vLyePzxx9fr+JdXn95nmenTp8fAgQMjy7J49NFHY4sttihoLaTFGT7NxP777x/33HNPDB48uPZb2OVvYHzcccfFj3/847juuuvi3nvvja9+9aux1VZb1Wv7hTzdPsuyOOmkk6Kqqiquu+66FZ6stcw555yzQrMwa9asOProo+OUU06JI488Mnr27BkREYMHD44f//jHcfPNN8fZZ59d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jMAHAAAAIDECHwAAAIDECHwAAAAAEiPwAQAAAEiMwAcAAAAgMQIfAAAAgMQIfAAAAAASI/ABAAAASIzABwAAACAxAh8AAACAxAh8AAAAABIj8AEAAABIjMAHAAAAIDECHwAAAIDECHwAAAAAEiPwAQAAAEiMwAcAAAAgMQIfAAAAgMQIfAAAAAASI/ABAAAASIzABwAAACAxAh8AAACAxAh8AAAAABIj8AEAAABIjMAHAAAAIDECHwAAAIDECHwAAAAAEiPwAQAAAEiMwAcAAAAgMQIfAAAAgMQIfAAAAAASI/ABAAAASIzABwAAACAxAh8AAACAxAh8AAAAABIj8AEAAABIjMAHAAAAIDECHwAAAIDECHwAAAAAEiPwAQAAAEiMwAcAAAAgMQIfAAAAgMQIfAAAAAASI/ABAAAASIzABwAAACAxAh8AAACAxAh8AAAAABIj8AEAAABIjMAHAAAAIDECHwAAAIDECHwAAAAAEiPwAQAAAEiMwAcAAAAgMQIfAAAAgMQIfAAAAAASI/ABAAAASIzABwAAACAxAh8AAACAxAh8AAAAABIj8AEAAABIjMAHAAAAIDECHwAAAIDECHwAAAAAEiPwAQAAAEiMwAcAAAAgMQIfAAAAgMQIfAAAAAASI/ABAAAASIzABwAAACAxAh8AAACAxAh8AAAAABIj8AEAAABIjMAHAAAAIDECHwAAAIDECHwAAAAAEiPwAQAAAEiMwAcAAAAgMQIfAAAAgMTksizLil0EAAAAAIXjDB8AAACAxAh8AAAAABIj8AEAAABIjMAHAAAAIDECHwAAAIDECHwAAAAAEiPwAQAAAEiMwAcAAAAgMQIfAAAAgMT8f1MvzCKdF6YfAAAAAElFTkSuQmCC" }, + "metadata": {}, "output_type": "display_data" } ], @@ -182,6 +193,10 @@ "collapsed": false, "pycharm": { "name": "#%%\n" + }, + "ExecuteTime": { + "end_time": "2023-06-29T15:26:33.554929400Z", + "start_time": "2023-06-29T15:26:33.152158500Z" } } }, @@ -198,34 +213,118 @@ } } }, + { + "cell_type": "code", + "execution_count": 4, + "outputs": [], + "source": [ + "segmentation.to_nifti(output_directory=OUTPUT_DIR, base_file_name='Sub_01', maps=['mask', 'left', 'right', 'individual'])" + ], + "metadata": { + "collapsed": false, + "pycharm": { + "name": "#%%\n" + }, + "ExecuteTime": { + "end_time": "2023-06-29T15:26:33.644878800Z", + "start_time": "2023-06-29T15:26:33.555928800Z" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "## Shape Features\n", + "To further characterise the kidney, a number of shape features can be calculated. These can be calculated from a labeled\n", + "image i.e. each region/tissue is represented by a different integer such as the kidney variable above or from a binary mask\n", + "of 0s and 1s such as the mask variable above. If a binary mask is used, the labeled image is generated internally by\n", + "assuming each unconnected component is a different region/tissue. If the labeled image (be it supplied or internally\n", + "generated) has background plus two labels, it is assumed the first label is the left kidney and the second label is the\n", + "right kidney." + ], + "metadata": { + "collapsed": false + } + }, { "cell_type": "code", "execution_count": 5, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "ERROR! Session/line number was not unique in database. History logging moved to new session 203\n" - ] + "data": { + "text/plain": " volume surface_area volume_bbox volume_convex volume_filled n_vox \\\nL 118.193529 148.056898 360.854707 170.527361 118.193529 9551.0 \nR 121.807026 154.516434 263.735786 150.368503 121.807026 9843.0 \n\n long_axis short_axis compactness euler_number solidity \nL 11.79375 4.347013 0.078666 2.0 0.693106 \nR 12.317681 3.643008 0.076906 2.0 0.810057 ", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
volumesurface_areavolume_bboxvolume_convexvolume_filledn_voxlong_axisshort_axiscompactnesseuler_numbersolidity
L118.193529148.056898360.854707170.527361118.1935299551.011.793754.3470130.0786662.00.693106
R121.807026154.516434263.735786150.368503121.8070269843.012.3176813.6430080.0769062.00.810057
\n
" + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "segmentation.to_nifti(output_directory=OUTPUT_DIR, base_file_name='Sub_01', maps=['mask', 'left', 'right', 'individual'])\n" + "from ukat.segmentation.shape_features import ShapeFeatures\n", + "\n", + "shape_features = ShapeFeatures(kidneys, affine)\n", + "\n", + "# Save the shape features as a csv.\n", + "shape_features.save_features_csv(os.path.join(OUTPUT_DIR, 'shape_features.csv'))\n", + "\n", + "# Print shape features.\n", + "shape_features.get_features()" ], "metadata": { "collapsed": false, - "pycharm": { - "name": "#%%\n" + "ExecuteTime": { + "end_time": "2023-06-29T15:26:34.994777600Z", + "start_time": "2023-06-29T15:26:33.647876800Z" + } + } + }, + { + "cell_type": "markdown", + "source": [ + "By default, if there are two labels in the image, they are assumed to be the left and right kidney. This can be overridden\n", + "using the `region_labels` argument. This can also be used to update the row index if there are more than two labels e.g. the\n", + " kidneys, liver and spleen are all segmented." + ], + "metadata": { + "collapsed": false + } + }, + { + "cell_type": "code", + "execution_count": 6, + "outputs": [ + { + "data": { + "text/plain": " volume surface_area volume_bbox volume_convex volume_filled \\\nLeft 118.193529 148.056898 360.854707 170.527361 118.193529 \nRight 121.807026 154.516434 263.735786 150.368503 121.807026 \n\n n_vox long_axis short_axis compactness euler_number solidity \nLeft 9551.0 11.79375 4.347013 0.078666 2.0 0.693106 \nRight 9843.0 12.317681 3.643008 0.076906 2.0 0.810057 ", + "text/html": "
\n\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
volumesurface_areavolume_bboxvolume_convexvolume_filledn_voxlong_axisshort_axiscompactnesseuler_numbersolidity
Left118.193529148.056898360.854707170.527361118.1935299551.011.793754.3470130.0786662.00.693106
Right121.807026154.516434263.735786150.368503121.8070269843.012.3176813.6430080.0769062.00.810057
\n
" + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Add custom index labels, here we'll just expand L and R to Left and Right as that's what's in the data we're using, but\n", + "# these could be cortex and medulla.\n", + "shape_features = ShapeFeatures(kidneys, affine, region_labels=['Left', 'Right'])\n", + "\n", + "shape_features.get_features()" + ], + "metadata": { + "collapsed": false, + "ExecuteTime": { + "end_time": "2023-06-29T15:26:37.158651300Z", + "start_time": "2023-06-29T15:26:34.999775400Z" } } } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "name": "python3", "language": "python", - "name": "python3" + "display_name": "Python 3 (ipykernel)" }, "language_info": { "codemirror_mode": { @@ -242,4 +341,4 @@ }, "nbformat": 4, "nbformat_minor": 0 -} \ No newline at end of file +} diff --git a/ukat/segmentation/__init__.py b/ukat/segmentation/__init__.py index 708b618b..270bcfcc 100644 --- a/ukat/segmentation/__init__.py +++ b/ukat/segmentation/__init__.py @@ -1 +1 @@ -from . import whole_kidney +from . import shape_features, whole_kidney diff --git a/ukat/segmentation/shape_features.py b/ukat/segmentation/shape_features.py new file mode 100644 index 00000000..004d6161 --- /dev/null +++ b/ukat/segmentation/shape_features.py @@ -0,0 +1,161 @@ +import numpy as np +import pandas as pd +import trimesh + +from nibabel.affines import voxel_sizes +from skimage.measure import label, marching_cubes, regionprops +from trimesh import smoothing + + +class ShapeFeatures: + def __init__(self, pixel_array, affine=None, zoom=None, kidneys=True, + region_labels=None): + """ + Calculate shape features for a mask. + + Parameters + ---------- + pixel_array : np.ndarray(dtype=np.uint8) + An array containing the mask, this array can either be a binary + array of 0s and 1s where 0 represents background tissue or an + array of integers where each integer represents a different tissue. + If a binary mask is provided, the features of each isolated + region will be calculated. + affine : np.ndarray + A matrix giving the relationship between voxel coordinates and + world coordinates. + zoom : tuple of float, shape (ndim,) + A tuple of floats giving the voxel size in mm. + kidneys : bool, optional + Default True + If true, it will be assumed that the two regions in the mask are + the left and right kidneys. + region_labels : list, optional + A list of string labels corresponding to each integer label in + pixel_array + """ + if (affine is None) and (zoom is None): + raise ValueError('Affine or zoom must be specified') + + self.pixel_array = pixel_array + self.affine = affine + if zoom is None: + zoom = tuple(voxel_sizes(self.affine)) + self.zoom = zoom + self.n_labels = len(np.unique(pixel_array[pixel_array > 0])) + if self.n_labels == 1: + self.labels = label(self.pixel_array) + self.n_labels = len(np.unique(self.labels[self.labels > 0])) + else: + self.labels = self.pixel_array + + if kidneys: + if self.n_labels != 2: + raise ValueError('Expected two labels (L and R) if ' + 'kidney=True') + if region_labels is not None: + self.region_labels = region_labels + else: + self.region_labels = ['L', 'R'] + elif region_labels is not None: + if len(region_labels) != self.n_labels: + raise ValueError('The number of labels must match the number ' + 'of regions in the mask') + self.region_labels = region_labels + else: + self.region_labels = np.arange(1, self.n_labels + 1) + + self.features = self.get_features() + + def get_features(self): + """ + Calculate shape features for each region in the mask. + + Returns + ------- + props_df : pd.DataFrame + A dataframe containing the calculated shape features for each + region in the mask. + """ + properties = ['volume', 'surface_area', 'volume_bbox', 'volume_convex', + 'volume_filled', 'n_vox', 'long_axis', + 'short_axis', 'compactness', 'euler_number', 'solidity'] + props_df = pd.DataFrame(index=self.region_labels, columns=properties) + + for region, label in zip(self.region_labels, + np.unique(self.labels[self.labels > 0])): + props_df.loc[region] = self._get_region_props(self.labels == label) + return props_df + + def save_features_csv(self, path): + """ + Save the calculated shape features to a csv file. + + Parameters + ---------- + path : str + The path to save the csv file to. + """ + self.features.to_csv(path) + + def _get_region_props(self, region): + """ + Calculate shape features for a single region. + + Parameters + ---------- + region : np.ndarray(dtype=np.bool) + A binary array of 0s and 1s where 0 represents background tissue. + + Returns + ------- + props_dict : dict + A dictionary containing the calculated shape features for the + region. + """ + props = regionprops(region.astype(np.uint8), spacing=self.zoom)[0] + mesh = self._get_smoothed_mesh(region) + + props_dict = {} + props_dict.update({'volume': props['area'] / 1000}) # mm^3 to mL + props_dict.update({'surface_area': mesh.area / 100}) # mm^2 to cm^2 + props_dict.update( + {'volume_bbox': props['bbox_area'] / 1000}) # mm^3 to mL + props_dict.update( + {'volume_convex': props['convex_area'] / 1000}) # mm^3 to mL + props_dict.update( + {'volume_filled': props['filled_area'] / 1000}) # mm^3 to mL + props_dict.update({'n_vox': props['num_pixels']}) + props_dict.update( + {'long_axis': props['major_axis_length'] / 10}) # mm to cm + props_dict.update( + {'short_axis': props['minor_axis_length'] / 10}) # mm to cm + compactness = (props_dict['volume'] / props_dict['surface_area']) / \ + (props['equivalent_diameter_area'] / 6) + props_dict.update({'compactness': compactness}) + props_dict.update({'euler_number': props['euler_number']}) + props_dict.update({'solidity': props['solidity']}) + + return props_dict + + def _get_smoothed_mesh(self, region): + """ + Generate a smoothed mesh from a binary region. Parameters have been + optimised for kidneys. + + Parameters + ---------- + region : np.ndarray(dtype=np.bool) + A binary array of 0s and 1s where 0 represents background tissue. + + Returns + ------- + mesh : trimesh.Trimesh + A smoothed mesh representation of the region. + """ + verts, faces, _, _ = marching_cubes(region.astype(np.uint8), + spacing=self.zoom, level=0.5, + step_size=1.0) + mesh = trimesh.Trimesh(vertices=verts, faces=faces) + mesh = smoothing.filter_laplacian(mesh, lamb=1, iterations=20) + return mesh diff --git a/ukat/segmentation/tests/__init__.py b/ukat/segmentation/tests/__init__.py index f2476dae..808776df 100644 --- a/ukat/segmentation/tests/__init__.py +++ b/ukat/segmentation/tests/__init__.py @@ -1 +1 @@ -from . import test_whole_kidney +from . import test_shape_features, test_whole_kidney diff --git a/ukat/segmentation/tests/test_shape_features.py b/ukat/segmentation/tests/test_shape_features.py new file mode 100644 index 00000000..1718f687 --- /dev/null +++ b/ukat/segmentation/tests/test_shape_features.py @@ -0,0 +1,189 @@ +import csv +import os +import shutil + +import numpy as np +import numpy.testing as npt +import pandas as pd +import pytest + +from ukat.data import fetch +from ukat.segmentation.shape_features import ShapeFeatures +from ukat.segmentation.whole_kidney import Segmentation +from ukat.utils import arraystats + + +class TestShapeFeatures: + image, affine = fetch.t2w_volume_philips() + zoom = (1.5000001667213594, 1.5000000306853905, 5.49999480801915) + segmentation = Segmentation(image, affine) + mask = segmentation.get_mask() + kidneys = segmentation.get_kidneys() + + mask_two_body = np.zeros((50, 50, 10)) + mask_two_body[5:15, 5:45, :] = 1 + mask_two_body[20:30, 5:45, :] = 1 + + mask_three_body = np.zeros((50, 50, 10)) + mask_three_body[5:15, 5:45, :] = 1 + mask_three_body[20:30, 5:45, :] = 1 + mask_three_body[35:45, 5:45, :] = 1 + + simulated_affine = np.eye(4) + + def test_get_smoothed_mesh(self): + expected = [175.680058, 104.798285, 3.267293, 291.491921] + shape_features = ShapeFeatures(self.kidneys, self.affine) + mesh = shape_features._get_smoothed_mesh(self.kidneys == 1) + + assert mesh.is_watertight + vertex_stats = arraystats.ArrayStats(mesh.vertices).calculate() + npt.assert_allclose([vertex_stats["mean"], vertex_stats["std"], + vertex_stats["min"], vertex_stats["max"]], + expected, rtol=1e-6, atol=1e-4) + + def test_get_region_props(self): + shape_features = ShapeFeatures(self.kidneys, self.affine) + props_dict = shape_features._get_region_props(self.kidneys == 1) + assert props_dict == pytest.approx({'volume': 118.19352898042803, + 'surface_area': 148.05689835989392, + 'volume_bbox': 360.8547068442343, + 'volume_convex': 170.52736146479933, + 'volume_filled': 118.19352898042803, + 'n_vox': 9551, + 'long_axis': 11.793750181329315, + 'short_axis': 4.347012606736469, + 'compactness': 0.07866555492167773, + 'euler_number': 2, + 'solidity': 0.6931059506531204}, + rel=1e-20, abs=1e-4) + + def test_shape_features_labels_affine(self): + shape_features = ShapeFeatures(self.kidneys, self.affine) + features_df = shape_features.get_features() + gold_df = pd.DataFrame(index=['L', 'R'], + columns=['volume', 'surface_area', + 'volume_bbox', 'volume_convex', + 'volume_filled', 'n_vox', + 'long_axis', 'short_axis', + 'compactness', 'euler_number', + 'solidity'], + data=[[118.19352898042803, 148.05689835989392, + 360.8547068442343, + 170.52736146479933, 118.19352898042803, + 9551.0, + 11.793750181329315, 4.347012606736469, + 0.07866555492167773, 2.0, + 0.6931059506531204], + [121.80702604484902, 154.5164344861936, + 263.7357857429465, + 150.36850284171092, 121.80702604484902, + 9843.0, + 12.317681104489647, 3.6430077535636998, + 0.0769055483268716, 2.0, + 0.8100567854497571]]) + pd.testing.assert_frame_equal(features_df, gold_df, check_dtype=False) + + def test_shape_features_labels_zoom(self): + shape_features = ShapeFeatures(self.kidneys, zoom=self.zoom) + features_df = shape_features.get_features() + gold_df = pd.DataFrame(index=['L', 'R'], + columns=['volume', 'surface_area', + 'volume_bbox', 'volume_convex', + 'volume_filled', 'n_vox', + 'long_axis', 'short_axis', + 'compactness', 'euler_number', + 'solidity'], + data=[[118.19352898042803, 148.05689835989392, + 360.8547068442343, + 170.52736146479933, 118.19352898042803, + 9551.0, + 11.793750181329315, 4.347012606736469, + 0.07866555492167773, 2.0, + 0.6931059506531204], + [121.80702604484902, 154.5164344861936, + 263.7357857429465, + 150.36850284171092, 121.80702604484902, + 9843.0, + 12.317681104489647, 3.6430077535636998, + 0.0769055483268716, 2.0, + 0.8100567854497571]]) + pd.testing.assert_frame_equal(features_df, gold_df, check_dtype=False) + + def test_shape_features_mask(self): + shape_features = ShapeFeatures(self.mask_two_body, + self.simulated_affine) + features_df = shape_features.get_features() + gold_df = pd.DataFrame(index=['L', 'R'], + columns=['volume', 'surface_area', + 'volume_bbox', 'volume_convex', + 'volume_filled', 'n_vox', + 'long_axis', 'short_axis', + 'compactness', 'euler_number', + 'solidity'], + data=[[4.0, 6.354534260930347, 4.0, 4.0, 4.0, + 4000.0, 5.162363799656123, + 1.284523257866513, 0.1917669347647048, + 1.0, 1.0], + [4.0, 6.413147961900247, 4.0, 4.0, 4.0, + 4000.0, 5.162363799656123, + 1.284523257866513, 0.1900142588811934, + 1.0, 1.0]]) + pd.testing.assert_frame_equal(features_df, gold_df, check_dtype=False) + + def test_no_zoom_no_affine(self): + with pytest.raises(ValueError): + ShapeFeatures(self.kidneys) + + def test_region_labels_length_doesnt_match(self): + + with pytest.raises(ValueError): + ShapeFeatures(self.mask_three_body, self.simulated_affine, + region_labels=['L', 'R'], + kidneys=False) + + def test_custom_labels(self): + shape_features = ShapeFeatures(self.mask, self.affine, + region_labels=['L', 'R', 'O'], + kidneys=False) + assert np.all(shape_features.get_features().index == ['L', 'R', 'O']) + + def test_no_labels_not_kidneys(self): + shape_features = ShapeFeatures(self.mask_three_body, + self.simulated_affine, + kidneys=False) + assert np.all(shape_features.get_features().index == [1, 2, 3]) + + def test_three_regions_kidney(self): + with pytest.raises(ValueError): + ShapeFeatures(self.mask_three_body, self.simulated_affine, + kidneys=True) + + def test_save_csv(self): + shape_features = ShapeFeatures(self.kidneys, self.affine) + expected_cols = ['', 'volume', 'surface_area', 'volume_bbox', + 'volume_convex', 'volume_filled', 'n_vox', + 'long_axis', 'short_axis', 'compactness', + 'euler_number', 'solidity'] + + if os.path.exists('test_output'): + shutil.rmtree('test_output') + os.makedirs('test_output', exist_ok=True) + + shape_features.save_features_csv('test_output/features.csv') + output_files = os.listdir('test_output') + + assert 'features.csv' in output_files + + with open('test_output/features.csv', 'r') as csv_file: + reader = csv.reader(csv_file) + list_from_csv = [row for row in reader] + assert list_from_csv[0] == expected_cols + assert len(list_from_csv) == 3 + assert len(list_from_csv[1]) == 12 + assert list_from_csv[1][0] == 'L' + assert list_from_csv[2][0] == 'R' + + for f in os.listdir('test_output'): + os.remove(os.path.join('test_output', f)) + shutil.rmtree('test_output')