{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Mesh between touching neighbors\n", "\n", "In this notebook we visualize which cells in a tissue are neighbord by drawing a mesh. Furthermore, we can change the intensity of the mesh so that it corresponds to the distance between the centroids of the cells." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pyclesperanto_prototype as cle\n", "import numpy as np\n", "from skimage.io import imshow\n", "import matplotlib" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Test data\n", "Let's generate some tissue-like structure consisting of cells which typicall have 6 neighbors" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. 100. 200. 300. 400. 50. 150. 250. 350. 0. 100. 200. 300. 400.\n", " 50. 150. 250. 350. 0. 100. 200. 300. 400.]\n", " [ 0. 0. 0. 0. 0. 40. 40. 40. 40. 80. 80. 80. 80. 80.\n", " 120. 120. 120. 120. 160. 160. 160. 160. 160.]]\n" ] } ], "source": [ "# define centroids of cells\n", "pointlist = cle.push_zyx(np.asarray(\n", "[\n", " [0, 100, 200, 300, 400, 50, 150, 250, 350, 0, 100, 200, 300, 400, 50, 150, 250, 350, 0, 100, 200, 300, 400],\n", " [0, 0, 0, 0, 0, 40, 40, 40, 40, 80, 80, 80, 80, 80, 120, 120, 120, 120, 160, 160, 160, 160, 160]\n", "]))\n", "print(pointlist)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYAAAACpCAYAAAAiE+r1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAANEklEQVR4nO3da4xc5X3H8e+/NpcKKIbguBYmBSKX1BRqW4sDLYq4lARIVVMJIaNWsVoiVy1IraKImlA18AKJRqJJozZcChRDai6lJVgRTUIAiRctDnaDjSFgtsQOdo1NSOwkVIJg/n0xz8Kw7GbNXPbMzvP9SKM555kzMz89Y/HjnDOzJzITSVJ9fqnpAJKkZlgAklQpC0CSKmUBSFKlLABJqpQFIEmV6lsBRMT5EfF8RIxGxOp+vY8kqTPRj98BRMQsYCtwHrADeBK4NDOf7fmbSZI60q89gGXAaGa+mJlvAPcAy/v0XpKkDszu0+seC7zUtr4D+OhkGx986K/kqb+2oE9R6rL11Td4/efbOeVXFzYdZSjs2LGXBQvmNB1jKPz4f3/G4ftnc9BxhzYdZSi8su8H/GD3az/MzLmdvka/CmBKEbEKWAXwoXnzWX/z2qaiSNKMNPvsJdu7eX6/DgHtBI5rW19Qxt6Wmbdk5khmjsw9ck6fYkiSJtOvAngSWBgRJ0TEwcAKYF2f3kuS1IG+HALKzDcj4grgm8As4PbMfKYf7yVJ6kzfzgFk5kPAQ/16fUlSd/wlsCRVygKQpEpZAJJUKQtAkiplAUhSpSwASaqUBSBJlbIAJKlSFoAkVcoCkKRKWQCSVCkLQJIqZQFIUqUsAEmqlAUgSZWyACSpUhaAJFXKApCkSlkAklQpC0CSKmUBSFKlLABJqpQFIEmVsgAkqVIWgCRVygKQpEpZAJJUKQvgAJ309Gtc99k9TccYGp+78mvcefKjTccYCpfu/l1uW3NF0zGGxm1rruCCu7Y3HWNaWAAHaOkHl/MbRzzXdIyhcdhbv83KVx9oOsZQuOCcz3HNQeuajjE0nlt8I1t3fbrpGNMiMrPpDIyctCjX37y26RiSNKPMPnvJxswc6fT57gFIUqUsAEmqlAUgSZWa3c2TI2Ib8FNgP/BmZo5ExNHAvcDxwDbgksz8cXcxJUm91os9gLMzc3HbiYjVwCOZuRB4pKxLkgZMPw4BLQfWlOU1wEV9eA9JUpe6LYAEvhURGyNiVRmbl5m7yvLLwLwu30OS1AddnQMAzszMnRHxQeDhiHjXL6UyMyNiwh8alMJYBfChefO7jCFJer+62gPIzJ3lfg/wALAM2B0R8wHK/YR/PyEzb8nMkcwcmXvknG5iSJI60HEBRMRhEXHE2DLwcWALsA5YWTZbCTzYbUhJUu91cwhoHvBARIy9ztrM/EZEPAncFxGXAduBS7qPKUnqtY4LIDNfBH5rgvFXgXO7CSVJ6j9/CSxJlbIAJKlSFoAkVcoCkKRKWQCSVCkLQJIqZQFIUqUsAEmqlAUgSZWyACSpUhaAJFXKApCkSlkAklQpC0CSKmUBSFKlLABJqpQFIEmVsgAkqVIWgCRVaiAKYNOb+5uOMDQ+8qWN3HD9aU3HGBqzP/FHTUcYGmdsW8/VJ1/bdIyhsewn27t+jcjMHkTpzshJi3L9zWubjiFJM8rss5dszMyRTp8/EHsAkqTpZwFIUqUsAEmqlAUgSZWyACSpUhaAJFXKApCkSlkAklQpC0CSKmUBSFKlLABJqpQFIEmVmrIAIuL2iNgTEVvaxo6OiIcj4oVyf1QZj4j4ckSMRsTmiFjaz/CSpM4dyB7AHcD548ZWA49k5kLgkbIOcAGwsNxWATf2JqYkqdemLIDMfBz40bjh5cCasrwGuKht/M5seQKYExHze5RVktRDnZ4DmJeZu8ryy8C8snws8FLbdjvK2HtExKqI2BARG17Zt7fDGJKkTnV9EjhbV5R531eVycxbMnMkM0fmHjmn2xiSpPep0wLYPXZop9zvKeM7gePatltQxiRJA6bTAlgHrCzLK4EH28Y/Vb4NdDqwr+1QkSRpgMyeaoOIuBs4CzgmInYAnweuB+6LiMuA7cAlZfOHgAuBUeD/gD/uQ2ZJUg9MWQCZeekkD507wbYJXN5tKElS//lLYEmqlAUgSZWyACSpUhaAJFXKApCkSlkAklQpC0CSKmUBSFKlLABJqpQFIEmVsgAO0LVPbOKG609rOsbQOGPbej78hfOajjEUTj330zx063v+Mos6dNO+z7D9T3Y3HWNaWAAH6JRv7uP+Ff/QdIyhcc4nv8Gvz7+16RhD4faP3sV1Zy5pOsbQWH3MV/jPWVum3nAIROvvtzVr5KRFuf7mtU3HkKQZZfbZSzZm5kinz3cPQJIqZQFIUqUsAEmqlAUgSZWyACSpUhaAJFXKApCkSlkAklQpC0CSKmUBSFKlLABJqpQFIEmVsgAkqVIWgCRVygKQpEpZAJJUKQtAkiplAUhSpSwASarUlAUQEbdHxJ6I2NI2dk1E7IyIp8rtwrbHroqI0Yh4PiI+0a/gkqTuHMgewB3A+ROMfzEzF5fbQwARsQhYAZxcnvOViJjVq7CSpN6ZsgAy83HgRwf4esuBezLz9cz8PjAKLOsinySpT7o5B3BFRGwuh4iOKmPHAi+1bbOjjEmSBkynBXAj8GFgMbALuOH9vkBErIqIDRGx4ZV9ezuMIUnqVEcFkJm7M3N/Zr4F/BPvHObZCRzXtumCMjbRa9ySmSOZOTL3yDmdxJAkdaGjAoiI+W2rfwCMfUNoHbAiIg6JiBOAhcB3uosoSeqH2VNtEBF3A2cBx0TEDuDzwFkRsRhIYBvwpwCZ+UxE3Ac8C7wJXJ6Z+/uSXJLUlSkLIDMvnWD4tl+w/XXAdd2EkiT1n78ElqRKWQCSVCkLQJIqNRAFsHX/1qYjDI0rN29n3rf/uukYQ+OEr21qOsLQ2HvrRrY//l9NxxgaXz3l8q5fIzKzB1G6DBHxCvAa8MOms0zhGAY/I5iz12ZCzpmQEczZaydl5hGdPnnKbwFNh8ycGxEbMnOk6Sy/yEzICObstZmQcyZkBHP2WkRs6Ob5A3EISJI0/SwASarUIBXALU0HOAAzISOYs9dmQs6ZkBHM2Wtd5RyIk8CSpOk3SHsAkqRp1HgBRMT55frBoxGxuuk87SJiW0Q8Xa57vKGMHR0RD0fEC+X+qKlepw+5JrpO84S5ouXLZX43R8TSBjMO3LWkI+K4iHgsIp6NiGci4i/K+KDN52Q5B2ZOI+LQiPhORGwqGa8t4ydExPqS5d6IOLiMH1LWR8vjx/c74xQ574iI77fN5eIy3shn3pZ3VkR8NyK+XtZ7N5+Z2dgNmAX8D3AicDCwCVjUZKZx+bYBx4wb+wKwuiyvBv62gVwfA5YCW6bKBVwI/AcQwOnA+gYzXgN8doJtF5XP/hDghPJvYtY05ZwPLC3LRwBbS55Bm8/Jcg7MnJY5ObwsHwSsL3N0H7CijN8E/FlZ/nPgprK8Arh3muZyspx3ABdPsH0jn3nb+38GWAt8vaz3bD6b3gNYBoxm5ouZ+QZwD63rCg+y5cCasrwGuGi6A+TE12meLNdy4M5seQKYE+++nsN0ZpxMY9eSzsxdmfnfZfmnwPdoXcZ00OZzspyTmfY5LXPys7J6ULklcA5wfxkfP5djc3w/cG5ERD8zTpFzMo185gARsQD4JHBrWQ96OJ9NF8CgX0M4gW9FxMaIWFXG5mXmrrL8MjCvmWjvMVmuQZvjgb2WdNllXkLr/wgHdj7H5YQBmtNyuOIpYA/wMK09j72Z+eYEOd7OWB7fB3yg3xknypmZY3N5XZnLL0bEIeNzFtP5mX8JuBJ4q6x/gB7OZ9MFMOjOzMylwAXA5RHxsfYHs7WvNXBfoxrUXPTgWtL9EhGHA/8G/GVm/qT9sUGazwlyDtScZutSsYtpXQ52GfCRJvNMZnzOiPhN4CpaeU8Djgb+qrmEEBG/B+zJzI39eo+mC+CAryHchMzcWe73AA/Q+ge9e2z3r9zvaS7hu0yWa2DmOHtwLel+iIiDaP1H9V8y89/L8MDN50Q5B3VOM3Mv8BhwBq1DJmN/dqY9x9sZy+NHAq9OV8ZxOc8vh9kyM18H/pnm5/J3gN+PiG20Do+fA/w9PZzPpgvgSWBhOat9MK0TF+sazgRARBwWEUeMLQMfp3Xt43XAyrLZSuDBZhK+x2S51gGfKt9kOB3Y13ZoY1rFAF5LuhwjvQ34Xmb+XdtDAzWfk+UcpDmNiLkRMacs/zJwHq1zFY8BF5fNxs/l2BxfDDxa9rb6apKcz7UVftA6rt4+l9P+mWfmVZm5IDOPp/Xfxkcz8w/p5Xz2+wz2VDdaZ9i30jpWeHXTedpynUjrWxSbgGfGstE6pvYI8ALwbeDoBrLdTWt3/+e0jgFeNlkuWt9c+Mcyv08DIw1mvKtk2Fz+sc5v2/7qkvF54IJpnMszaR3e2Qw8VW4XDuB8TpZzYOYUOBX4bsmyBfibMn4irfIZBf4VOKSMH1rWR8vjJ07TXE6W89Eyl1uAr/LON4Ua+czHZT6Ld74F1LP59JfAklSppg8BSZIaYgFIUqUsAEmqlAUgSZWyACSpUhaAJFXKApCkSlkAklSp/wcvINzoh6kdgAAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# generate an image where the centroid are labelled (labelled spots image)\n", "labelled_spots = cle.pointlist_to_labelled_spots(pointlist)\n", "cle.imshow(labelled_spots, labels=True)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# extend the spots to make some artificial tissue image (label image)\n", "cells = cle.extend_labeling_via_voronoi(labelled_spots)\n", "\n", "cle.imshow(cells, labels=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Draw a mesh between touching neighbors" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 13.554028 100. 200. 300. 386.44598 50.000004\n", " 150. 250.00002 350.00003 13.576469 100.00001 200.00002\n", " 300. 386.4235 50. 150. 249.99998 350.\n", " 13.845719 100. 200. 300. 386.15427 ]\n", " [ 15.785855 15.711423 15.711423 15.711423 15.785855 39.460003\n", " 39.460003 39.460003 39.460003 79.46078 79.46001 79.46001\n", " 79.46001 79.46078 119.65165 119.65165 119.65165 119.65165\n", " 143.8476 143.92326 143.92326 143.92326 143.8476 ]]\n" ] } ], "source": [ "pointlist = cle.label_centroids_to_pointlist(cells)\n", "print(pointlist)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "touch_matrix = cle.generate_touch_matrix(cells)\n", "cle.imshow(touch_matrix)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "scrolled": true }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mesh = cle.touch_matrix_to_mesh(pointlist, touch_matrix)\n", "cle.imshow(mesh)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Analyse and visualize number of touching neighbors" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0. 2. 3. 3. 3. 2. 5. 5. 5. 5. 4. 6. 6. 6. 4. 5. 5. 5. 5. 2. 3. 3. 3. 2.]]\n" ] } ], "source": [ "number_of_touching_neighbors_vector = cle.count_touching_neighbors(touch_matrix)\n", "print(number_of_touching_neighbors_vector)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# visualize in a parametric image\n", "parametric_image = cle.replace_intensities(cells, number_of_touching_neighbors_vector)\n", "cle.imshow(parametric_image)" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Alternatively, in very short:\n", "parametric_image = cle.touching_neighbor_count_map(cells)\n", "cle.imshow(parametric_image)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.6" } }, "nbformat": 4, "nbformat_minor": 4 }