Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
if poly.GetNumberOfPolys() or poly.GetNumberOfStrips() or poly.GetNumberOfLines():
geometries.insert(0, poly)
geometry_colors.insert(0, prop.GetColor())
geometry_opacities.insert(0, prop.GetOpacity())
else:
point_sets.insert(0, poly)
point_set_colors.insert(0, prop.GetColor())
point_set_opacities.insert(0, prop.GetOpacity())
elif isinstance(a, vtk.vtkVolume):
images.append(a.GetMapper().GetInput())
if image is None and len(images): # only one image is rendered
image = images[0]
viewer = Viewer(image=image,
cmap=cmap,
select_roi=select_roi,
interpolation=interpolation,
gradient_opacity=gradient_opacity, slicing_planes=slicing_planes,
shadow=shadow, blend=blend,
point_sets=point_sets,
point_set_colors=point_set_colors,
point_set_opacities=point_set_opacities,
point_set_representations=point_set_representations,
geometries=geometries, geometry_colors=geometry_colors, geometry_opacities=geometry_opacities,
rotate=rotate, ui_collapsed=ui_collapsed, annotations=annotations, mode=mode,
**kwargs)
return viewer
input2, input1)
if invert:
checkerboard_filter_inverse.Update()
checkerboard = checkerboard_filter_inverse.GetOutput()
else:
checkerboard_filter.Update()
checkerboard = checkerboard_filter.GetOutput()
if 'annotations' not in viewer_kwargs:
viewer_kwargs['annotations'] = False
if 'interpolation' not in viewer_kwargs:
viewer_kwargs['interpolation'] = False
if 'ui_collapsed' not in viewer_kwargs:
viewer_kwargs['ui_collapsed'] = True
viewer = Viewer(image=checkerboard, **viewer_kwargs)
# Heuristic to specify the max pattern size
max_size1 = int(min(itk.size(itk_image1)) / 8)
max_size1 = max(max_size1, pattern * 2)
max_size2 = int(min(itk.size(itk_image2)) / 8)
max_size2 = max(max_size2, pattern * 2)
max_size = max(max_size1, max_size2)
pattern_slider = widgets.IntSlider(value=pattern, min=2, max=max_size,
step=1, description='Pattern size:')
invert_checkbox = widgets.Checkbox(value=invert, description='Invert')
def update_checkerboard(change):
checker_pattern = [pattern_slider.value] * dimension
checkerboard_filter.SetCheckerPattern(checker_pattern)
checkerboard_filter_inverse.SetCheckerPattern(checker_pattern)
import numpy as np
import scipy.ndimage
import ipywidgets as widgets
from .widget_viewer import Viewer
from ipydatawidgets import NDArray, array_serialization, shape_constraints
from traitlets import CBool
import matplotlib.pyplot as plt
import matplotlib
import IPython
import itk
from ._transform_types import to_itk_image
@widgets.register
class LineProfiler(Viewer):
"""LineProfiler widget class."""
_view_name = Unicode('LineProfilerView').tag(sync=True)
_model_name = Unicode('LineProfilerModel').tag(sync=True)
_view_module = Unicode('itkwidgets').tag(sync=True)
_model_module = Unicode('itkwidgets').tag(sync=True)
_view_module_version = Unicode('^0.25.0').tag(sync=True)
_model_module_version = Unicode('^0.25.0').tag(sync=True)
point1 = NDArray(dtype=np.float64, default_value=np.zeros((3,), dtype=np.float64),
help="First point in physical space that defines the line profile")\
.tag(sync=True, **array_serialization)\
.valid(shape_constraints(3,))
point2 = NDArray(dtype=np.float64, default_value=np.ones((3,), dtype=np.float64),
help="First point in physical space that defines the line profile")\
.tag(sync=True, **array_serialization)\
.valid(shape_constraints(3,))
_select_initial_points = CBool(
proposal = {'value': kwargs['point_set_representations']}
representations_list = self._validate_point_set_representations(
proposal)
kwargs['point_set_representations'] = representations_list
self.observe(self._on_point_sets_changed, ['point_sets'])
if 'geometry_colors' in kwargs:
proposal = {'value': kwargs['geometry_colors']}
color_array = self._validate_geometry_colors(proposal)
kwargs['geometry_colors'] = color_array
if 'geometry_opacities' in kwargs:
proposal = {'value': kwargs['geometry_opacities']}
opacities_array = self._validate_geometry_opacities(proposal)
kwargs['geometry_opacities'] = opacities_array
self.observe(self._on_geometries_changed, ['geometries'])
super(Viewer, self).__init__(**kwargs)
if not self.image:
return
dimension = self.image.GetImageDimension()
largest_region = self.image.GetLargestPossibleRegion()
size = largest_region.GetSize()
# Cache this so we do not need to recompute on it when resetting the
# roi
self._largest_roi_rendered_image = None
self._largest_roi = np.zeros((2, 3), dtype=np.float64)
if not np.any(self.roi):
largest_index = largest_region.GetIndex()
self.roi[0][:dimension] = np.array(
self.image.TransformIndexToPhysicalPoint(largest_index))
largest_index_upper = largest_index + size