{ "cells": [ { "cell_type": "markdown", "id": "66346941-c0dd-4a3e-a311-18d42e8d0c1c", "metadata": {}, "source": [ "# Edges of labels\n", "When processing biological objects in image such as cells and nuclei, it may make sense to identify all pixels that lie on the surface of an object.\n", "This notebook demonstrates how to select pixels on the border of nuclei, just in case we would like to measure intensity in the nuclear envelope." ] }, { "cell_type": "code", "execution_count": 2, "id": "89eb8c62-b850-454e-9ab9-34efefea3dc3", "metadata": {}, "outputs": [], "source": [ "import pyclesperanto_prototype as cle\n", "import numpy as np\n", "from skimage.io import imread" ] }, { "cell_type": "code", "execution_count": 21, "id": "47ab799a-9380-434c-9404-e22d8b2bf5ac", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(40, 40)
dtypefloat32
size6.2 kB
min12.0
max255.0
\n", "\n", "
" ], "text/plain": [ "cl.OCLArray([[20., 17., 17., ..., 28., 23., 20.],\n", " [23., 26., 18., ..., 23., 30., 20.],\n", " [16., 22., 16., ..., 31., 22., 42.],\n", " ...,\n", " [36., 35., 36., ..., 49., 38., 46.],\n", " [38., 27., 38., ..., 43., 40., 49.],\n", " [38., 39., 40., ..., 44., 36., 44.]], dtype=float32)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "image = cle.asarray(imread(\"../../data/mitosis_mod.tif\")[0:40,25:65])\n", "image" ] }, { "cell_type": "markdown", "id": "772b513d-f373-4b56-999c-9afe3bf1fa28", "metadata": {}, "source": [ "We then segment the nuclei." ] }, { "cell_type": "code", "execution_count": 27, "id": "172ecb71-dce5-410c-adf4-cefafd12a2e3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(40, 40)
dtypeuint32
size6.2 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": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "label_image = cle.voronoi_otsu_labeling(image, spot_sigma=2, outline_sigma=1)\n", "label_image" ] }, { "cell_type": "markdown", "id": "467006cb-2580-4914-b552-4fa6a3f0c18e", "metadata": {}, "source": [ "From the nuclei label image we can extract another label image which contains all pixels that are on the edge of the labels." ] }, { "cell_type": "code", "execution_count": 28, "id": "944c5dd8-b60e-4a6b-9092-25ad308311b2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(40, 40)
dtypeuint32
size6.2 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": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "edge_label_image = cle.reduce_labels_to_label_edges(label_image)\n", "edge_label_image" ] }, { "cell_type": "markdown", "id": "bea89253-6b4a-4626-ab45-c3ca1d4ee7db", "metadata": {}, "source": [ "In case one wanted to measure in thicker areas along the borders, we could expand the borders." ] }, { "cell_type": "code", "execution_count": 31, "id": "59eb486d-3821-4b25-951d-ecab72dd9119", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "
\n", "\n", "\n", "cle._ image
\n", "\n", "\n", "\n", "\n", "\n", "
shape(40, 40)
dtypeuint32
size6.2 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": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "thicker_edges = cle.dilate_labels(edge_label_image, radius=1)\n", "thicker_edges" ] }, { "cell_type": "markdown", "id": "ee361b5d-92a3-41c1-a31a-6583736e1bab", "metadata": {}, "source": [ "For visualization purposes we can also view the original image with the label borders on top." ] }, { "cell_type": "code", "execution_count": 34, "id": "3c4eb43a-616d-402a-93c3-3c3f528fc2d6", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "cle.imshow(image, continue_drawing=True)\n", "cle.imshow(edge_label_image, alpha=0.6, labels=True)" ] }, { "cell_type": "code", "execution_count": null, "id": "c8a11fa9-0b27-4c5f-9107-b6c7e8ed7a9f", "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.15" } }, "nbformat": 4, "nbformat_minor": 5 }