Skip to content

Commit 38464b4

Browse files
committed
STYLE: Rename label_map to label_image
More consistent with ITK naming conventions.
1 parent 1e6331c commit 38464b4

File tree

4 files changed

+121
-121
lines changed

4 files changed

+121
-121
lines changed

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ Data types:
109109

110110
- `Binder: 2D ITK Images <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itkwidgets/master?urlpath=lab/tree/examples%2F2DImage.ipynb>`_
111111
- `Binder: 3D ITK Images <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itkwidgets/master?urlpath=lab/tree/examples%2F3DImage.ipynb>`_
112-
- `Binder: 3D Label Maps <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itkwidgets/master?urlpath=lab/tree/examples%2FLabelMaps.ipynb>`_
112+
- `Binder: 3D Label Maps <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itkwidgets/master?urlpath=lab/tree/examples%2FLabelImages.ipynb>`_
113113
- `Binder: Dask Array images <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itkwidgets/master?urlpath=lab/tree/examples/DaskArray.ipynb>`_
114114
- `Binder: Large volumes <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itkwidgets/master?urlpath=lab/tree/examples/LargeVolumes.ipynb>`_
115115
- `Binder: NumPy array images (processed with SciPy) <https://mybinder.org/v2/gh/InsightSoftwareConsortium/itkwidgets/master?urlpath=lab/tree/examples/NumPyArrayImage.ipynb>`_
@@ -264,7 +264,7 @@ After installation, try the following examples that demonstrate how to visualize
264264

265265
- `2D ITK Images <https://github.com/InsightSoftwareConsortium/itkwidgets/blob/master/examples/2DImage.ipynb>`_
266266
- `3D ITK Images <https://github.com/InsightSoftwareConsortium/itkwidgets/blob/master/examples/3DImage.ipynb>`_
267-
- `3D Label maps <https://github.com/InsightSoftwareConsortium/itkwidgets/blob/master/examples/LabelMaps.ipynb>`_
267+
- `3D Label maps <https://github.com/InsightSoftwareConsortium/itkwidgets/blob/master/examples/LabelImages.ipynb>`_
268268
- `Dask Array images <https://github.com/InsightSoftwareConsortium/itkwidgets/blob/master/examples/DaskArray.ipynb>`_
269269
- `Large volumes <https://github.com/InsightSoftwareConsortium/itkwidgets/blob/master/examples/LargeVolumes.ipynb>`_
270270
- `ImageJ ImgLib2 images <https://github.com/InsightSoftwareConsortium/itkwidgets/blob/master/examples/ImageJImgLib2.ipynb>`_ (requires `conda <https://conda.io/>`_ and a local `Fiji <https://fiji.sc/>`_ installation)

examples/LabelMaps.ipynb renamed to examples/LabelImages.ipynb

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -100,15 +100,15 @@
100100
"version_minor": 0
101101
},
102102
"text/plain": [
103-
"Viewer(geometries=[], gradient_opacity=0.22, interpolation=False, point_sets=[], rendered_label_map=<itk.itkIm…"
103+
"Viewer(geometries=[], gradient_opacity=0.22, interpolation=False, point_sets=[], rendered_label_image=<itk.itkIm…"
104104
]
105105
},
106106
"metadata": {},
107107
"output_type": "display_data"
108108
}
109109
],
110110
"source": [
111-
"view(label_map=thresholded)"
111+
"view(label_image=thresholded)"
112112
]
113113
},
114114
{
@@ -124,7 +124,7 @@
124124
"version_minor": 0
125125
},
126126
"text/plain": [
127-
"Viewer(geometries=[], gradient_opacity=0.22, interpolation=False, point_sets=[], rendered_label_map=<itk.itkIm…"
127+
"Viewer(geometries=[], gradient_opacity=0.22, interpolation=False, point_sets=[], rendered_label_image=<itk.itkIm…"
128128
]
129129
},
130130
"metadata": {},
@@ -134,7 +134,7 @@
134134
"source": [
135135
"connected_components = itk.connected_component_image_filter(thresholded)\n",
136136
"\n",
137-
"view(label_map=connected_components)"
137+
"view(label_image=connected_components)"
138138
]
139139
},
140140
{
@@ -152,7 +152,7 @@
152152
"version_minor": 0
153153
},
154154
"text/plain": [
155-
"Viewer(geometries=[], gradient_opacity=0.5, interpolation=False, label_map_names=[(0, 'Background'), (1, 'Firs…"
155+
"Viewer(geometries=[], gradient_opacity=0.5, interpolation=False, label_image_names=[(0, 'Background'), (1, 'Firs…"
156156
]
157157
},
158158
"metadata": {},
@@ -163,9 +163,9 @@
163163
"# We can combine the label map with the intensity image, add names for the labels, etc.\n",
164164
"names = [(0, 'Background'), (1, 'First cell'), (2, 'Second cell')]\n",
165165
"viewer = view(smoothed,\n",
166-
" label_map=connected_components,\n",
167-
" label_map_names=names,\n",
168-
" label_map_blend=0.8,\n",
166+
" label_image=connected_components,\n",
167+
" label_image_names=names,\n",
168+
" label_image_blend=0.8,\n",
169169
" rotate=True,\n",
170170
" gradient_opacity=0.5,\n",
171171
" slicing_planes=True)\n",
@@ -190,7 +190,7 @@
190190
"label_weights = np.ones((label_count,), dtype=np.float32)\n",
191191
"label_weights[1] = 0.1\n",
192192
"label_weights[2] = 0.2\n",
193-
"viewer.label_map_weights = label_weights"
193+
"viewer.label_image_weights = label_weights"
194194
]
195195
},
196196
{

itkwidgets/widget_viewer.py

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -131,27 +131,27 @@ class Viewer(ViewerParent):
131131
_rendering_image = CBool(
132132
default_value=False,
133133
help="We are currently volume rendering the image.").tag(sync=True)
134-
label_map = ITKImage(
134+
label_image = ITKImage(
135135
default_value=None,
136136
allow_none=True,
137137
help="Label map for the image.").tag(
138138
sync=False,
139139
**itkimage_serialization)
140-
rendered_label_map = ITKImage(
140+
rendered_label_image = ITKImage(
141141
default_value=None,
142142
allow_none=True).tag(
143143
sync=True,
144144
**itkimage_serialization)
145-
label_map_names = List(
145+
label_image_names = List(
146146
trait=Tuple(),
147147
allow_none=True,
148148
default_value=None,
149149
help="Names for labels in the label map.").tag(
150150
sync=True)
151-
label_map_blend = CFloat(
151+
label_image_blend = CFloat(
152152
default_value=0.5,
153153
help="Blend of the label map with the intensity image.").tag(sync=True)
154-
label_map_weights = NDArray(dtype=np.float32, default_value=None, allow_none=True,
154+
label_image_weights = NDArray(dtype=np.float32, default_value=None, allow_none=True,
155155
help="Weights, from 0.0 to 1.0, for every label in the label map.")\
156156
.tag(sync=True, **array_serialization)\
157157
.valid(shape_constraints(None,))
@@ -369,27 +369,27 @@ def __init__(self, **kwargs): # noqa: C901
369369
vmax_list = self._validate_vmax(proposal)
370370
kwargs['vmax'] = vmax_list
371371
self.observe(self._on_geometries_changed, ['geometries'])
372-
have_label_map = 'label_map' in kwargs and kwargs['label_map'] is not None
373-
if have_label_map:
372+
have_label_image = 'label_image' in kwargs and kwargs['label_image'] is not None
373+
if have_label_image:
374374
# Interpolation is not currently supported with label maps
375375
kwargs['interpolation'] = False
376376

377377
super(Viewer, self).__init__(**kwargs)
378378

379-
if not self.image and not self.label_map:
379+
if not self.image and not self.label_image:
380380
return
381381
if self.image:
382382
image = self.image
383383
else:
384-
image = self.label_map
384+
image = self.label_image
385385
dimension = image.GetImageDimension()
386386
largest_region = image.GetLargestPossibleRegion()
387387
size = largest_region.GetSize()
388388

389389
# Cache this so we do not need to recompute on it when resetting the
390390
# roi
391391
self._largest_roi_rendered_image = None
392-
self._largest_roi_rendered_label_map = None
392+
self._largest_roi_rendered_label_image = None
393393
self._largest_roi = np.zeros((2, 3), dtype=np.float64)
394394
if not np.any(self.roi):
395395
largest_index = largest_region.GetIndex()
@@ -411,16 +411,16 @@ def __init__(self, **kwargs): # noqa: C901
411411
if self._downsampling and self.image:
412412
self.extractor = itk.ExtractImageFilter.New(self.image)
413413
self.shrinker = itk.BinShrinkImageFilter.New(self.extractor)
414-
if self._downsampling and self.label_map:
415-
self.label_map_extractor = itk.ExtractImageFilter.New(self.label_map)
416-
self.label_map_shrinker = itk.ShrinkImageFilter.New(self.label_map_extractor)
414+
if self._downsampling and self.label_image:
415+
self.label_image_extractor = itk.ExtractImageFilter.New(self.label_image)
416+
self.label_image_shrinker = itk.ShrinkImageFilter.New(self.label_image_extractor)
417417
self._update_rendered_image()
418418
if self._downsampling:
419419
self.observe(self._on_roi_changed, ['roi'])
420420

421421
self.observe(self._on_reset_crop_requested, ['_reset_crop_requested'])
422-
self.observe(self.update_rendered_image, ['image', 'label_map'])
423-
self.observe(self.update_rendered_image, ['image', 'label_map'])
422+
self.observe(self.update_rendered_image, ['image', 'label_image'])
423+
self.observe(self.update_rendered_image, ['image', 'label_image'])
424424

425425
def _on_roi_changed(self, change=None):
426426
if self._downsampling:
@@ -431,7 +431,7 @@ def _on_reset_crop_requested(self, change=None):
431431
if self.image:
432432
image = self.image
433433
else:
434-
image = self.label_map
434+
image = self.label_image
435435
dimension = image.GetImageDimension()
436436
largest_region = image.GetLargestPossibleRegion()
437437
size = largest_region.GetSize()
@@ -450,7 +450,7 @@ def _on_reset_crop_requested(self, change=None):
450450
@debounced(delay_seconds=0.2, method=True)
451451
def update_rendered_image(self, change=None):
452452
self._largest_roi_rendered_image = None
453-
self._largest_roi_rendered_label_map = None
453+
self._largest_roi_rendered_label_image = None
454454
self._largest_roi = np.zeros((2, 3), dtype=np.float64)
455455
self._update_rendered_image()
456456

@@ -463,7 +463,7 @@ def _find_scale_factors(limit, dimension, size):
463463
return scale_factors
464464

465465
def _update_rendered_image(self):
466-
if self.image is None and self.label_map is None:
466+
if self.image is None and self.label_image is None:
467467
return
468468
if self._rendering_image:
469469
@yield_for_change(self, '_rendering_image')
@@ -477,7 +477,7 @@ def f():
477477
if self.image:
478478
image = self.image
479479
else:
480-
image = self.label_map
480+
image = self.label_image
481481
dimension = image.GetImageDimension()
482482
index = image.TransformPhysicalPointToIndex(
483483
self.roi[0][:dimension])
@@ -494,8 +494,8 @@ def f():
494494
self._scale_factors = np.array(scale_factors, dtype=np.uint8)
495495
if self.image:
496496
self.shrinker.SetShrinkFactors(scale_factors[:dimension])
497-
if self.label_map:
498-
self.label_map_shrinker.SetShrinkFactors(scale_factors[:dimension])
497+
if self.label_image:
498+
self.label_image_shrinker.SetShrinkFactors(scale_factors[:dimension])
499499

500500
region = itk.ImageRegion[dimension]()
501501
region.SetIndex(index)
@@ -508,70 +508,70 @@ def f():
508508
if self.image:
509509
self.extractor.SetInput(self.image)
510510
self.extractor.SetExtractionRegion(region)
511-
if self.label_map:
512-
self.label_map_extractor.SetInput(self.label_map)
513-
self.label_map_extractor.SetExtractionRegion(region)
511+
if self.label_image:
512+
self.label_image_extractor.SetInput(self.label_image)
513+
self.label_image_extractor.SetExtractionRegion(region)
514514

515515
size = region.GetSize()
516516

517517
is_largest = False
518518
if np.any(self._largest_roi) and np.all(
519519
self._largest_roi == self.roi):
520520
is_largest = True
521-
if self._largest_roi_rendered_image is not None or self._largest_roi_rendered_label_map is not None:
521+
if self._largest_roi_rendered_image is not None or self._largest_roi_rendered_label_image is not None:
522522
if self.image:
523523
self.rendered_image = self._largest_roi_rendered_image
524-
if self.label_map:
525-
self.rendered_label_map = self._largest_roi_rendered_label_map
524+
if self.label_image:
525+
self.rendered_label_image = self._largest_roi_rendered_label_image
526526
return
527527

528528
if self.image:
529529
self.shrinker.UpdateLargestPossibleRegion()
530-
if self.label_map:
531-
self.label_map_shrinker.UpdateLargestPossibleRegion()
530+
if self.label_image:
531+
self.label_image_shrinker.UpdateLargestPossibleRegion()
532532
if is_largest:
533533
if self.image:
534534
self._largest_roi_rendered_image = self.shrinker.GetOutput()
535535
self._largest_roi_rendered_image.DisconnectPipeline()
536536
self._largest_roi_rendered_image.SetOrigin(
537537
self.roi[0][:dimension])
538538
self.rendered_image = self._largest_roi_rendered_image
539-
if self.label_map:
540-
self._largest_roi_rendered_label_map = self.label_map_shrinker.GetOutput()
541-
self._largest_roi_rendered_label_map.DisconnectPipeline()
542-
self._largest_roi_rendered_label_map.SetOrigin(
539+
if self.label_image:
540+
self._largest_roi_rendered_label_image = self.label_image_shrinker.GetOutput()
541+
self._largest_roi_rendered_label_image.DisconnectPipeline()
542+
self._largest_roi_rendered_label_image.SetOrigin(
543543
self.roi[0][:dimension])
544-
self.rendered_label_map = self._largest_roi_rendered_label_map
544+
self.rendered_label_image = self._largest_roi_rendered_label_image
545545
return
546546
if self.image:
547547
shrunk = self.shrinker.GetOutput()
548548
shrunk.DisconnectPipeline()
549549
shrunk.SetOrigin(self.roi[0][:dimension])
550550
self.rendered_image = shrunk
551-
if self.label_map:
552-
shrunk = self.label_map_shrinker.GetOutput()
551+
if self.label_image:
552+
shrunk = self.label_image_shrinker.GetOutput()
553553
shrunk.DisconnectPipeline()
554554
shrunk.SetOrigin(self.roi[0][:dimension])
555-
self.rendered_label_map = shrunk
555+
self.rendered_label_image = shrunk
556556
else:
557557
if self.image:
558558
self.rendered_image = self.image
559-
if self.label_map:
560-
self.rendered_label_map = self.label_map
559+
if self.label_image:
560+
self.rendered_label_image = self.label_image
561561

562-
@validate('label_map_weights')
563-
def _validate_label_map_weights(self, proposal):
562+
@validate('label_image_weights')
563+
def _validate_label_image_weights(self, proposal):
564564
"""Check the number of weights equals the number of labels."""
565565
value = proposal['value']
566566
value = np.array(value, dtype=np.float32)
567-
if self.rendered_label_map:
568-
labels = len(np.unique(itk.array_view_from_image(self.rendered_label_map)))
567+
if self.rendered_label_image:
568+
labels = len(np.unique(itk.array_view_from_image(self.rendered_label_image)))
569569
if labels != len(value):
570570
raise TraitError('Number of labels, {0}, does not equal number of label weights, {1}'.format(labels, len(value)))
571571
return value
572572

573-
@validate('label_map_blend')
574-
def _validate_label_map_blend(self, proposal):
573+
@validate('label_image_blend')
574+
def _validate_label_image_blend(self, proposal):
575575
"""Enforce 0 <= value <= 1.0."""
576576
value = proposal['value']
577577
if value < 0.0:
@@ -590,8 +590,8 @@ def _validate_gradient_opacity(self, proposal):
590590
return 1.0
591591
return value
592592

593-
@validate('label_map_blend')
594-
def _validate_label_map_blend(self, proposal):
593+
@validate('label_image_blend')
594+
def _validate_label_image_blend(self, proposal):
595595
"""Enforce 0 <= value <= 1.0."""
596596
value = proposal['value']
597597
if value < 0.0:
@@ -748,7 +748,7 @@ def roi_region(self):
748748
if self.image:
749749
image = self.image
750750
else:
751-
image = self.label_map
751+
image = self.label_image
752752
dimension = image.GetImageDimension()
753753
index = image.TransformPhysicalPointToIndex(
754754
tuple(self.roi[0][:dimension]))
@@ -768,7 +768,7 @@ def roi_slice(self):
768768
if self.image:
769769
image = self.image
770770
else:
771-
image = self.label_map
771+
image = self.label_image
772772
dimension = image.GetImageDimension()
773773
region = self.roi_region()
774774
index = region.GetIndex()
@@ -780,10 +780,10 @@ def roi_slice(self):
780780

781781

782782
def view(image=None, # noqa: C901
783-
label_map=None, # noqa: C901
784-
label_map_names=None, # noqa: C901
785-
label_map_weights=None, # noqa: C901
786-
label_map_blend=0.5,
783+
label_image=None, # noqa: C901
784+
label_image_names=None, # noqa: C901
785+
label_image_weights=None, # noqa: C901
786+
label_image_blend=0.5,
787787
cmap=None,
788788
lut='glasbey',
789789
select_roi=False,
@@ -856,17 +856,17 @@ def view(image=None, # noqa: C901
856856
image : array_like, itk.Image, or vtk.vtkImageData
857857
The 2D or 3D image to visualize.
858858
859-
label_map : array_like, itk.Image, or vtk.vtkImageData
859+
label_image : array_like, itk.Image, or vtk.vtkImageData
860860
The 2D or 3D label map to visualize. If an image is also provided, the
861861
label map must have the same size.
862862
863-
label_map_names : OrderedDict of (label_value, label_name)
863+
label_image_names : OrderedDict of (label_value, label_name)
864864
String names associated with the integer label values.
865865
866-
label_map_weights : 1D numpy float32 array, default: None
866+
label_image_weights : 1D numpy float32 array, default: None
867867
Rendering weights, from 0.0 to 1.0, associated labels in the label map.
868868
869-
label_map_blend : float, default: 0.5
869+
label_image_blend : float, default: 0.5
870870
Label map blend with intensity image, from 0.0 to 1.0.
871871
872872
vmin: list of floats, default: Minimum of the image pixel buffer
@@ -1063,9 +1063,9 @@ def view(image=None, # noqa: C901
10631063
image = images[0]
10641064

10651065
viewer = Viewer(image=image,
1066-
label_map=label_map,
1067-
label_map_names=label_map_names,
1068-
label_map_weights=label_map_weights,
1066+
label_image=label_image,
1067+
label_image_names=label_image_names,
1068+
label_image_weights=label_image_weights,
10691069
cmap=cmap,
10701070
lut=lut,
10711071
select_roi=select_roi,

0 commit comments

Comments
 (0)