|
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