|
9 | 9 | "# Install dependencies for this example\n",
|
10 | 10 | "# Note: This does not include itkwidgets, itself\n",
|
11 | 11 | "import sys\n",
|
12 |
| - "!{sys.executable} -m pip install -U itk itk-totalvariation" |
| 12 | + "!{sys.executable} -m pip install -U itk itk-totalvariation scikit-image" |
13 | 13 | ]
|
14 | 14 | },
|
15 | 15 | {
|
16 | 16 | "cell_type": "code",
|
17 |
| - "execution_count": 5, |
| 17 | + "execution_count": 1, |
18 | 18 | "metadata": {},
|
19 | 19 | "outputs": [],
|
20 | 20 | "source": [
|
|
23 | 23 | "\n",
|
24 | 24 | "import itk\n",
|
25 | 25 | "import numpy as np\n",
|
| 26 | + "import skimage.io, skimage.filters, skimage.measure\n", |
26 | 27 | "\n",
|
27 | 28 | "from itkwidgets import view\n",
|
28 | 29 | "import itkwidgets"
|
29 | 30 | ]
|
30 | 31 | },
|
31 | 32 | {
|
32 | 33 | "cell_type": "code",
|
33 |
| - "execution_count": 6, |
| 34 | + "execution_count": 2, |
34 | 35 | "metadata": {},
|
35 | 36 | "outputs": [],
|
36 | 37 | "source": [
|
|
44 | 45 | },
|
45 | 46 | {
|
46 | 47 | "cell_type": "code",
|
47 |
| - "execution_count": 7, |
| 48 | + "execution_count": 3, |
48 | 49 | "metadata": {},
|
49 | 50 | "outputs": [
|
50 | 51 | {
|
51 | 52 | "data": {
|
52 | 53 | "application/vnd.jupyter.widget-view+json": {
|
53 |
| - "model_id": "530d6f97e04e4dab86bbb00ddcc799bb", |
| 54 | + "model_id": "436f06a0454f4e0abee8cbf15573015e", |
54 | 55 | "version_major": 2,
|
55 | 56 | "version_minor": 0
|
56 | 57 | },
|
|
70 | 71 | },
|
71 | 72 | {
|
72 | 73 | "cell_type": "code",
|
73 |
| - "execution_count": 17, |
| 74 | + "execution_count": null, |
74 | 75 | "metadata": {},
|
75 | 76 | "outputs": [],
|
76 | 77 | "source": [
|
|
197 | 198 | "cell_type": "markdown",
|
198 | 199 | "metadata": {},
|
199 | 200 | "source": [
|
200 |
| - "We can also combine the intensity images, weighted and blended with the label maps, with iso-surface geometry." |
| 201 | + "The images and labels can, of course, also come from *scikit-image*." |
201 | 202 | ]
|
202 | 203 | },
|
203 | 204 | {
|
204 | 205 | "cell_type": "code",
|
205 |
| - "execution_count": null, |
| 206 | + "execution_count": 3, |
| 207 | + "metadata": {}, |
| 208 | + "outputs": [ |
| 209 | + { |
| 210 | + "data": { |
| 211 | + "application/vnd.jupyter.widget-view+json": { |
| 212 | + "model_id": "8327687db5c64422a16af110bb597b76", |
| 213 | + "version_major": 2, |
| 214 | + "version_minor": 0 |
| 215 | + }, |
| 216 | + "text/plain": [ |
| 217 | + "Viewer(annotations=False, cmap=['BrBG'], geometries=[], gradient_opacity=0.22, point_sets=[], rendered_image=<…" |
| 218 | + ] |
| 219 | + }, |
| 220 | + "metadata": {}, |
| 221 | + "output_type": "display_data" |
| 222 | + } |
| 223 | + ], |
| 224 | + "source": [ |
| 225 | + "image = skimage.io.imread(file_name)\n", |
| 226 | + "\n", |
| 227 | + "view(image, cmap=itkwidgets.cm.BrBG, annotations=False, vmax=800, ui_collapsed=True)" |
| 228 | + ] |
| 229 | + }, |
| 230 | + { |
| 231 | + "cell_type": "code", |
| 232 | + "execution_count": 4, |
206 | 233 | "metadata": {},
|
207 | 234 | "outputs": [],
|
208 |
| - "source": [] |
| 235 | + "source": [ |
| 236 | + "# Segment the cells\n", |
| 237 | + "smoothed = skimage.filters.gaussian(image)\n", |
| 238 | + "\n", |
| 239 | + "threshold = skimage.filters.threshold_isodata(smoothed)\n", |
| 240 | + "thresholded = smoothed > threshold\n", |
| 241 | + "\n", |
| 242 | + "connected_components = skimage.measure.label(thresholded)" |
| 243 | + ] |
| 244 | + }, |
| 245 | + { |
| 246 | + "cell_type": "code", |
| 247 | + "execution_count": 5, |
| 248 | + "metadata": {}, |
| 249 | + "outputs": [ |
| 250 | + { |
| 251 | + "data": { |
| 252 | + "application/vnd.jupyter.widget-view+json": { |
| 253 | + "model_id": "cdc8480801bc4792b2053812febdf00f", |
| 254 | + "version_major": 2, |
| 255 | + "version_minor": 0 |
| 256 | + }, |
| 257 | + "text/plain": [ |
| 258 | + "Viewer(geometries=[], gradient_opacity=0.22, interpolation=False, point_sets=[], rendered_label_image=<itk.itk…" |
| 259 | + ] |
| 260 | + }, |
| 261 | + "metadata": {}, |
| 262 | + "output_type": "display_data" |
| 263 | + } |
| 264 | + ], |
| 265 | + "source": [ |
| 266 | + "view(label_image=connected_components)" |
| 267 | + ] |
209 | 268 | }
|
210 | 269 | ],
|
211 | 270 | "metadata": {
|
|
0 commit comments