{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Install dependencies for this example\n", "# Note: This does not include itkwidgets, itself\n", "import sys\n", "!{sys.executable} -m pip install -U itk scikit-image" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from urllib.request import urlretrieve\n", "import os\n", "\n", "import itk\n", "import numpy as np\n", "import skimage.io, skimage.filters, skimage.measure\n", "\n", "from itkwidgets import view\n", "import itkwidgets" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Download data\n", "# Source: https://data.broadinstitute.org/bbbc/BBBC024/\n", "file_name = 'HL50_cell_line_c00_03_extraction.tif'\n", "if not os.path.exists(file_name):\n", " url = 'https://data.kitware.com/api/v1/file/5b61f16c8d777f06857c1949/download'\n", " urlretrieve(url, file_name)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "scrolled": false }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "c89c62fa6daf420facc383c1bcc33964", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Viewer(annotations=False, cmap=['BrBG'], geometries=[], gradient_opacity=0.22, point_sets=[], rendered_image=<…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "image = itk.imread(file_name)\n", "\n", "view(image, cmap=itkwidgets.cm.BrBG, annotations=False, vmax=800, ui_collapsed=True)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Segment the cells\n", "smoothed = itk.smoothing_recursive_gaussian_image_filter(image)\n", "\n", "thresholded = itk.moments_threshold_image_filter(smoothed,\n", " inside_value=0,\n", " outside_value=1)\n", "\n", "connected_components = itk.connected_component_image_filter(thresholded)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "271741b0dd0948b781a9367dd7b51c3e", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Viewer(geometries=[], gradient_opacity=0.22, interpolation=False, point_sets=[], rendered_label_image= threshold\n", "\n", "connected_components = skimage.measure.label(thresholded)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "60c53fe0dc9f44329ae4047c7d7281e6", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Viewer(geometries=[], gradient_opacity=0.22, interpolation=False, point_sets=[], rendered_label_image=