Skip to content

Commit f3a2606

Browse files
committed
BUG: Remove extra cell from LabelImages example
1 parent b040507 commit f3a2606

File tree

1 file changed

+72
-38
lines changed

1 file changed

+72
-38
lines changed

examples/LabelImages.ipynb

Lines changed: 72 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
},
3232
{
3333
"cell_type": "code",
34-
"execution_count": 2,
34+
"execution_count": 3,
3535
"metadata": {},
3636
"outputs": [],
3737
"source": [
@@ -45,15 +45,15 @@
4545
},
4646
{
4747
"cell_type": "code",
48-
"execution_count": 3,
48+
"execution_count": 4,
4949
"metadata": {
50-
"scrolled": true
50+
"scrolled": false
5151
},
5252
"outputs": [
5353
{
5454
"data": {
5555
"application/vnd.jupyter.widget-view+json": {
56-
"model_id": "65c6b074eac64e7e9a26d65104a9d6ba",
56+
"model_id": "c46a472354864866871a66c73d09b99f",
5757
"version_major": 2,
5858
"version_minor": 0
5959
},
@@ -73,17 +73,7 @@
7373
},
7474
{
7575
"cell_type": "code",
76-
"execution_count": 10,
77-
"metadata": {},
78-
"outputs": [],
79-
"source": [
80-
"LabelImageType = itk.Image[itk.UL, 3]\n",
81-
"connected_components = itk.connected_component_image_filter(thresholded, ttype=(type(thresholded), LabelImageType))"
82-
]
83-
},
84-
{
85-
"cell_type": "code",
86-
"execution_count": 8,
76+
"execution_count": 7,
8777
"metadata": {},
8878
"outputs": [],
8979
"source": [
@@ -99,23 +89,22 @@
9989
},
10090
{
10191
"cell_type": "code",
102-
"execution_count": 11,
92+
"execution_count": 8,
10393
"metadata": {},
10494
"outputs": [
10595
{
106-
"ename": "TemplateTypeError",
107-
"evalue": "itk.ExtractImageFilter is not wrapped for input type `None`.\n\nTo limit the size of the package, only a limited number of\ntypes are available in ITK Python. To print the supported\ntypes, run the following command in your python environment:\n\n itk.ExtractImageFilter.GetTypes()\n\nPossible solutions:\n* If you are an application user:\n** Convert your input image into a supported format (see below).\n** Contact developer to report the issue.\n* If you are an application developer, force input images to be\nloaded in a supported pixel type.\n\n e.g.: instance = itk.ExtractImageFilter[itk.Image[itk.RGBPixel[itk.UC],2], itk.Image[itk.RGBPixel[itk.UC],2]].New(my_input)\n\n* (Advanced) If you are an application developer, build ITK Python yourself and\nturned to `ON` the corresponding CMake option to wrap the pixel type or image\ndimension you need. When configuring ITK with CMake, you can set\n`ITK_WRAP_${type}` (replace ${type} with appropriate pixel type such as\n`double`). If you need to support images with 4 or 5 dimensions, you can add\nthese dimensions to the list of dimensions in the CMake variable\n`ITK_WRAP_IMAGE_DIMS`.\n\nSupported input types:\n\nitk.Image[itk.RGBPixel[itk.UC],2]\nitk.Image[itk.RGBPixel[itk.UC],3]\nitk.Image[itk.RGBAPixel[itk.UC],2]\nitk.Image[itk.RGBAPixel[itk.UC],3]\nitk.Image[itk.Vector[itk.F,2],2]\nitk.Image[itk.Vector[itk.F,2],3]\nitk.Image[itk.Vector[itk.F,3],2]\nitk.Image[itk.Vector[itk.F,3],3]\nitk.Image[itk.Vector[itk.F,4],2]\nitk.Image[itk.Vector[itk.F,4],3]\nitk.Image[itk.CovariantVector[itk.F,2],2]\nitk.Image[itk.CovariantVector[itk.F,2],3]\nitk.Image[itk.CovariantVector[itk.F,3],2]\nitk.Image[itk.CovariantVector[itk.F,3],3]\nitk.Image[itk.CovariantVector[itk.F,4],2]\nitk.Image[itk.CovariantVector[itk.F,4],3]\nitk.Image[itk.SS,2]\nitk.Image[itk.SS,3]\nitk.Image[itk.UC,2]\nitk.Image[itk.UC,3]\nitk.Image[itk.US,2]\nitk.Image[itk.US,3]\nitk.Image[itk.F,2]\nitk.Image[itk.F,3]\nitk.Image[itk.D,2]\nitk.Image[itk.D,3]\nitk.Image[itk.complex[itk.F],2]\nitk.Image[itk.complex[itk.F],3]\nitk.Image[itk.SS,3]\nitk.Image[itk.UC,3]\nitk.Image[itk.US,3]\nitk.Image[itk.F,3]\nitk.Image[itk.D,3]\nitk.Image[itk.RGBPixel[itk.UC],3]\nitk.Image[itk.complex[itk.F],3]\n",
108-
"output_type": "error",
109-
"traceback": [
110-
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
111-
"\u001b[0;31mTemplateTypeError\u001b[0m Traceback (most recent call last)",
112-
"\u001b[0;32m<ipython-input-11-6e811847302e>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mview\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlabel_image\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mconnected_components\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
113-
"\u001b[0;32m~/src/itkwidgets/itkwidgets/widget_viewer.py\u001b[0m in \u001b[0;36mview\u001b[0;34m(image, label_image, label_image_names, label_image_weights, label_image_blend, cmap, lut, select_roi, interpolation, gradient_opacity, opacity_gaussians, channels, slicing_planes, shadow, blend_mode, point_sets, point_set_colors, point_set_opacities, point_set_representations, point_set_sizes, geometries, geometry_colors, geometry_opacities, ui_collapsed, rotate, annotations, mode, **kwargs)\u001b[0m\n\u001b[1;32m 1076\u001b[0m \u001b[0mgeometries\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mgeometries\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgeometry_colors\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mgeometry_colors\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mgeometry_opacities\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mgeometry_opacities\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1077\u001b[0m \u001b[0mrotate\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mrotate\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mui_collapsed\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mui_collapsed\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mannotations\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mannotations\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmode\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmode\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1078\u001b[0;31m **kwargs)\n\u001b[0m\u001b[1;32m 1079\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mviewer\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
114-
"\u001b[0;32m~/src/itkwidgets/itkwidgets/widget_viewer.py\u001b[0m in \u001b[0;36m__init__\u001b[0;34m(self, **kwargs)\u001b[0m\n\u001b[1;32m 404\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0msize\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0msize_limit_3d\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mdim\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 405\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_downsampling\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;32mTrue\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 406\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_update_rendered_image\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 407\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_downsampling\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 408\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mobserve\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_on_roi_changed\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m[\u001b[0m\u001b[0;34m'roi'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
115-
"\u001b[0;32m~/src/itkwidgets/itkwidgets/widget_viewer.py\u001b[0m in \u001b[0;36m_update_rendered_image\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 487\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mshrinker\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSetShrinkFactors\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mscale_factors\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mdimension\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 488\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlabel_image\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 489\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlabel_image_extractor\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mitk\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mExtractImageFilter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mNew\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlabel_image\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 490\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlabel_image_shrinker\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mitk\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mShrinkImageFilter\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mNew\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlabel_image_extractor\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 491\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlabel_image_shrinker\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mSetShrinkFactors\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mscale_factors\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0mdimension\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
116-
"\u001b[0;32m~/bin/miniconda3/envs/itkwidgets/lib/python3.7/site-packages/itkTemplate.py\u001b[0m in \u001b[0;36mNew\u001b[0;34m(self, *args, **kwargs)\u001b[0m\n\u001b[1;32m 522\u001b[0m or via one of the following keyword arguments: %s\"\"\" % \", \".join(primary_input_methods))\n\u001b[1;32m 523\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 524\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mTemplateTypeError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minput_type\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 525\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mlist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkeys\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mNew\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m*\u001b[0m\u001b[0margs\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0;34m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 526\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n",
117-
"\u001b[0;31mTemplateTypeError\u001b[0m: itk.ExtractImageFilter is not wrapped for input type `None`.\n\nTo limit the size of the package, only a limited number of\ntypes are available in ITK Python. To print the supported\ntypes, run the following command in your python environment:\n\n itk.ExtractImageFilter.GetTypes()\n\nPossible solutions:\n* If you are an application user:\n** Convert your input image into a supported format (see below).\n** Contact developer to report the issue.\n* If you are an application developer, force input images to be\nloaded in a supported pixel type.\n\n e.g.: instance = itk.ExtractImageFilter[itk.Image[itk.RGBPixel[itk.UC],2], itk.Image[itk.RGBPixel[itk.UC],2]].New(my_input)\n\n* (Advanced) If you are an application developer, build ITK Python yourself and\nturned to `ON` the corresponding CMake option to wrap the pixel type or image\ndimension you need. When configuring ITK with CMake, you can set\n`ITK_WRAP_${type}` (replace ${type} with appropriate pixel type such as\n`double`). If you need to support images with 4 or 5 dimensions, you can add\nthese dimensions to the list of dimensions in the CMake variable\n`ITK_WRAP_IMAGE_DIMS`.\n\nSupported input types:\n\nitk.Image[itk.RGBPixel[itk.UC],2]\nitk.Image[itk.RGBPixel[itk.UC],3]\nitk.Image[itk.RGBAPixel[itk.UC],2]\nitk.Image[itk.RGBAPixel[itk.UC],3]\nitk.Image[itk.Vector[itk.F,2],2]\nitk.Image[itk.Vector[itk.F,2],3]\nitk.Image[itk.Vector[itk.F,3],2]\nitk.Image[itk.Vector[itk.F,3],3]\nitk.Image[itk.Vector[itk.F,4],2]\nitk.Image[itk.Vector[itk.F,4],3]\nitk.Image[itk.CovariantVector[itk.F,2],2]\nitk.Image[itk.CovariantVector[itk.F,2],3]\nitk.Image[itk.CovariantVector[itk.F,3],2]\nitk.Image[itk.CovariantVector[itk.F,3],3]\nitk.Image[itk.CovariantVector[itk.F,4],2]\nitk.Image[itk.CovariantVector[itk.F,4],3]\nitk.Image[itk.SS,2]\nitk.Image[itk.SS,3]\nitk.Image[itk.UC,2]\nitk.Image[itk.UC,3]\nitk.Image[itk.US,2]\nitk.Image[itk.US,3]\nitk.Image[itk.F,2]\nitk.Image[itk.F,3]\nitk.Image[itk.D,2]\nitk.Image[itk.D,3]\nitk.Image[itk.complex[itk.F],2]\nitk.Image[itk.complex[itk.F],3]\nitk.Image[itk.SS,3]\nitk.Image[itk.UC,3]\nitk.Image[itk.US,3]\nitk.Image[itk.F,3]\nitk.Image[itk.D,3]\nitk.Image[itk.RGBPixel[itk.UC],3]\nitk.Image[itk.complex[itk.F],3]\n"
118-
]
96+
"data": {
97+
"application/vnd.jupyter.widget-view+json": {
98+
"model_id": "4960333a0feb4b25825d9b62ad0ea607",
99+
"version_major": 2,
100+
"version_minor": 0
101+
},
102+
"text/plain": [
103+
"Viewer(geometries=[], gradient_opacity=0.22, interpolation=False, point_sets=[], rendered_label_image=<itk.itk…"
104+
]
105+
},
106+
"metadata": {},
107+
"output_type": "display_data"
119108
}
120109
],
121110
"source": [
@@ -124,11 +113,26 @@
124113
},
125114
{
126115
"cell_type": "code",
127-
"execution_count": null,
116+
"execution_count": 9,
128117
"metadata": {
129-
"scrolled": true
118+
"scrolled": false
130119
},
131-
"outputs": [],
120+
"outputs": [
121+
{
122+
"data": {
123+
"application/vnd.jupyter.widget-view+json": {
124+
"model_id": "e8ab46d59acd41438530b6ce34b42cdd",
125+
"version_major": 2,
126+
"version_minor": 0
127+
},
128+
"text/plain": [
129+
"Viewer(geometries=[], gradient_opacity=0.5, interpolation=False, label_image_blend=0.8, label_image_names=[(0,…"
130+
]
131+
},
132+
"metadata": {},
133+
"output_type": "display_data"
134+
}
135+
],
132136
"source": [
133137
"# We can combine the label map with the intensity image, add names for the labels, etc.\n",
134138
"names = [(0, 'Background'), (1, 'First cell'), (2, 'Second cell')]\n",
@@ -152,7 +156,7 @@
152156
},
153157
{
154158
"cell_type": "code",
155-
"execution_count": null,
159+
"execution_count": 10,
156160
"metadata": {},
157161
"outputs": [],
158162
"source": [
@@ -172,9 +176,24 @@
172176
},
173177
{
174178
"cell_type": "code",
175-
"execution_count": null,
179+
"execution_count": 11,
176180
"metadata": {},
177-
"outputs": [],
181+
"outputs": [
182+
{
183+
"data": {
184+
"application/vnd.jupyter.widget-view+json": {
185+
"model_id": "505009ada82e40249b35243fbe7d2bb5",
186+
"version_major": 2,
187+
"version_minor": 0
188+
},
189+
"text/plain": [
190+
"Viewer(annotations=False, cmap=['BrBG'], geometries=[], gradient_opacity=0.22, point_sets=[], rendered_image=<…"
191+
]
192+
},
193+
"metadata": {},
194+
"output_type": "display_data"
195+
}
196+
],
178197
"source": [
179198
"image = skimage.io.imread(file_name)\n",
180199
"\n",
@@ -183,7 +202,7 @@
183202
},
184203
{
185204
"cell_type": "code",
186-
"execution_count": null,
205+
"execution_count": 12,
187206
"metadata": {},
188207
"outputs": [],
189208
"source": [
@@ -198,9 +217,24 @@
198217
},
199218
{
200219
"cell_type": "code",
201-
"execution_count": null,
220+
"execution_count": 13,
202221
"metadata": {},
203-
"outputs": [],
222+
"outputs": [
223+
{
224+
"data": {
225+
"application/vnd.jupyter.widget-view+json": {
226+
"model_id": "58576171783c44ceae961c0a6682201b",
227+
"version_major": 2,
228+
"version_minor": 0
229+
},
230+
"text/plain": [
231+
"Viewer(geometries=[], gradient_opacity=0.22, interpolation=False, point_sets=[], rendered_label_image=<itk.itk…"
232+
]
233+
},
234+
"metadata": {},
235+
"output_type": "display_data"
236+
}
237+
],
204238
"source": [
205239
"view(label_image=connected_components)"
206240
]

0 commit comments

Comments
 (0)