{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "92c1ad07-a05c-42a8-b869-c30ebc24e064", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "import pyclesperanto_prototype as cle\n", "from pyclesperanto_prototype import Image, plugin_function\n", "\n", "cle.select_device(\"RTX\")" ] }, { "cell_type": "code", "execution_count": 2, "id": "f0cd28ec-ffd5-4945-98c8-dc7ef9a945e9", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(60, 70)
dtypeuint32
size16.4 kB
min0.0
max4.0
\n", "\n", "
" ], "text/plain": [ "cl.OCLArray([[0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " ...,\n", " [0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0],\n", " [0, 0, 0, ..., 0, 0, 0]], dtype=uint32)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "labels = cle.asarray([\n", " [0, 0, 0, 0, 0, 0, 0],\n", " [0, 1, 1, 0, 2, 2, 0],\n", " [0, 1, 1, 1, 2, 2, 0],\n", " [0, 0, 3, 3, 3, 3, 0],\n", " [0, 0, 4, 4, 4, 0, 0],\n", " [0, 0, 0, 0, 0, 0, 0],\n", "])\n", "labels = cle.scale(labels, factor_x=10, factor_y=10, auto_size=True).astype(np.uint32)\n", "labels" ] }, { "cell_type": "code", "execution_count": 3, "id": "e9296321-f147-4e29-88f7-593560599442", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0 70 50 30 50]\n", " [70 0 10 20 0]\n", " [50 10 0 20 0]\n", " [30 20 20 0 30]\n", " [50 0 0 30 0]]\n" ] } ], "source": [ "touch_count_matrix = cle.generate_touch_count_matrix(labels)\n", "print(touch_count_matrix)" ] }, { "cell_type": "code", "execution_count": 4, "id": "1ca2d825-7fbc-4a77-a567-7815cdefbf00", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0. 0.7 0.625 0.29999998 0.625 ]\n", " [0.35 0. 0.125 0.19999999 0. ]\n", " [0.25 0.09999999 0. 0.19999999 0. ]\n", " [0.14999999 0.19999999 0.25 0. 0.375 ]\n", " [0.25 0. 0. 0.29999998 0. ]]\n" ] } ], "source": [ "touch_portion_matrix = cle.generate_touch_portion_matrix(labels)\n", "print(touch_portion_matrix)" ] }, { "cell_type": "code", "execution_count": null, "id": "26866c5d-b484-4c38-a22b-f806c2161b27", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 5, "id": "868a2ebd-c051-4d64-864c-0c10ed37509f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "True" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cle.is_matrix_symmetric(touch_count_matrix)" ] }, { "cell_type": "code", "execution_count": 6, "id": "10ed3895-7f77-4e31-83fa-8e5f6c70bcb5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "False" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cle.is_matrix_symmetric(touch_portion_matrix)" ] }, { "cell_type": "code", "execution_count": null, "id": "27d431fe-eecf-411e-858c-7d629bbf53d2", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 7, "id": "f225f609-c57b-4e4f-8090-400b5bfb09ae", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
cle.array([[0. 0. 0. 0. 0.]\n",
       " [0. 0. 0. 0. 0.]\n",
       " [0. 0. 0. 0. 0.]\n",
       " [0. 1. 1. 0. 0.]\n",
       " [0. 0. 0. 1. 0.]], dtype=float32)
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 1., 1., 0., 0.],\n", " [0., 0., 0., 1., 0.]], dtype=float32)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cle.generate_n_most_touching_neighbors_matrix(touch_count_matrix, n=1)" ] }, { "cell_type": "code", "execution_count": 8, "id": "3c7e54b6-cee4-47ef-8866-59f9e174bf8e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
cle.array([[0. 0. 0. 0. 0.]\n",
       " [0. 0. 0. 0. 0.]\n",
       " [0. 0. 0. 0. 0.]\n",
       " [0. 1. 1. 0. 0.]\n",
       " [0. 0. 0. 1. 0.]], dtype=float32)
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 1., 1., 0., 0.],\n", " [0., 0., 0., 1., 0.]], dtype=float32)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cle.generate_n_most_touching_neighbors_matrix(touch_portion_matrix, n=1)" ] }, { "cell_type": "code", "execution_count": 9, "id": "f090d070-3357-4e74-bcb5-0e67f447a98f", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
cle.array([[0. 0. 0. 0. 0.]\n",
       " [0. 0. 0. 0. 0.]\n",
       " [0. 1. 0. 0. 0.]\n",
       " [0. 1. 1. 0. 0.]\n",
       " [0. 0. 0. 1. 0.]], dtype=float32)
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 1., 0., 0., 0.],\n", " [0., 1., 1., 0., 0.],\n", " [0., 0., 0., 1., 0.]], dtype=float32)" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cle.generate_n_most_touching_neighbors_matrix(touch_portion_matrix, n=2)" ] }, { "cell_type": "code", "execution_count": null, "id": "ab6ca7f6-52c2-4da2-ac07-489b6a24f902", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 10, "id": "fe34db0c-fec7-4543-97ac-a9f76e5d5b4e", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mesh = cle.draw_mesh_between_n_most_touching_labels(labels, n=1)\n", "\n", "cle.imshow(labels, labels=True, continue_drawing=True)\n", "cle.imshow(mesh, alpha=0.5)" ] }, { "cell_type": "code", "execution_count": 11, "id": "960c3f96-182d-4149-a1ec-7bc04a8bcc00", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "mesh = cle.draw_mesh_between_n_most_touching_labels(labels, n=2)\n", "\n", "cle.imshow(labels, labels=True, continue_drawing=True)\n", "cle.imshow(mesh, alpha=0.5)" ] }, { "cell_type": "code", "execution_count": null, "id": "bf74501c-4e80-440d-a3b0-7b9fc1d9156a", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 12, "id": "9a878cf1-7d76-473c-941c-7b6847f23c89", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(60, 70)
dtypefloat32
size16.4 kB
min0.0
max0.8451543
\n", "\n", "
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sd_map = cle.standard_deviation_of_n_most_touching_neighbors_map(labels, labels, n=2)\n", "\n", "sd_map" ] }, { "cell_type": "code", "execution_count": null, "id": "8cc2fd96-43a2-454a-8f39-69063974e7c4", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 13, "id": "342ca106-5faa-47e2-b487-841401b10d16", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(60, 70)
dtypefloat32
size16.4 kB
min0.0
max3.0
\n", "\n", "
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "min_map = cle.minimum_of_n_most_touching_neighbors_map(labels, labels, n=2)\n", "\n", "min_map" ] }, { "cell_type": "code", "execution_count": null, "id": "c6fb070b-d342-4794-9ac5-f9c127608ccc", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 14, "id": "d5a003be-f3bd-4e94-a774-b301b488e1d3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(60, 70)
dtypefloat32
size16.4 kB
min0.0
max4.0
\n", "\n", "
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "max_map = cle.maximum_of_n_most_touching_neighbors_map(labels, labels, n=1)\n", "\n", "max_map" ] }, { "cell_type": "code", "execution_count": null, "id": "d490e551-02f8-4e72-8fac-3221e6365ee2", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 15, "id": "9957c6a9-6696-421e-b906-518c806e0e4c", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(60, 70)
dtypefloat32
size16.4 kB
min0.0
max3.5
\n", "\n", "
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mean_map = cle.mean_of_n_most_touching_neighbors_map(labels, labels, n=1)\n", "\n", "mean_map" ] }, { "cell_type": "code", "execution_count": null, "id": "27d10ddd-377f-4422-87a4-516cb914933f", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 16, "id": "a01f946b-6b09-422a-bf79-085fa68ca5be", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(60, 70)
dtypefloat32
size16.4 kB
min0.0
max3.0
\n", "\n", "
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mode_map = cle.mode_of_n_most_touching_neighbors_map(labels, labels, n=1)\n", "mode_map" ] }, { "cell_type": "code", "execution_count": 17, "id": "ddc88aec-739b-48d5-84fc-562bce1f4c88", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
cle.array([[0. 0. 0. 0. 0.]\n",
       " [0. 0. 0. 0. 0.]\n",
       " [0. 1. 0. 0. 0.]\n",
       " [0. 1. 1. 0. 0.]\n",
       " [0. 0. 0. 1. 0.]], dtype=float32)
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 1., 0., 0., 0.],\n", " [0., 1., 1., 0., 0.],\n", " [0., 0., 0., 1., 0.]], dtype=float32)" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cle.generate_n_most_touching_neighbors_matrix(touch_count_matrix, n=2)" ] }, { "cell_type": "code", "execution_count": 18, "id": "4a0c665d-8456-491a-9100-6c8770f242ae", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(60, 70)
dtypefloat32
size16.4 kB
min0.0
max1.0
\n", "\n", "
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cle.draw_mesh_between_n_most_touching_labels(labels, n=2)" ] }, { "cell_type": "code", "execution_count": 19, "id": "d68c063d-0865-4904-a5e8-458be964c55d", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
cle.array([[0. 0. 0. 0. 0.]\n",
       " [0. 0. 0. 0. 0.]\n",
       " [0. 1. 0. 0. 0.]\n",
       " [0. 1. 1. 0. 0.]\n",
       " [0. 0. 0. 1. 0.]], dtype=float32)
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 1., 0., 0., 0.],\n", " [0., 1., 1., 0., 0.],\n", " [0., 0., 0., 1., 0.]], dtype=float32)" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cle.generate_n_most_touching_neighbors_matrix(touch_count_matrix, n=2)" ] }, { "cell_type": "code", "execution_count": 20, "id": "4a008a94-b9c2-4035-929e-8e4a781fa5f1", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(60, 70)
dtypefloat32
size16.4 kB
min0.0
max1.0
\n", "\n", "
" ], "text/plain": [ "cl.OCLArray([[0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " ...,\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.],\n", " [0., 0., 0., ..., 0., 0., 0.]], dtype=float32)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cle.draw_mesh_between_n_most_touching_labels(labels, n=3)" ] }, { "cell_type": "code", "execution_count": null, "id": "c7063ad8-2017-47ed-ac42-affce6d22d9f", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.9.13" } }, "nbformat": 4, "nbformat_minor": 5 }