def __init__(self, view, viewer_state, layer_state=None, layer=None): super().__init__(viewer_state, layer_state=layer_state, layer=layer) # Watch for changes in the viewer state which would require the # layers to be redrawn self._viewer_state.add_global_callback(self._update_profile) self.state.add_global_callback(self._update_profile) self.view = view self.line_mark = bqplot.Lines(scales=self.view.scales, x=[0, 1], y=[0, 1]) self.view.figure.marks = list( self.view.figure.marks) + [self.line_mark] dlink((self.state, 'color'), (self.line_mark, 'colors'), lambda x: [color2hex(x)]) dlink((self.state, 'alpha'), (self.line_mark, 'opacities'), lambda x: [x]) self.line_mark.colors = [color2hex(self.state.color)] self.line_mark.opacities = [self.state.alpha]
def on_success(result): fit_results, x, y = result report = "" normalize = {} for layer_artist in fit_results: report += ("<b><font color='{0}'>{1}</font>" "</b>".format(color2hex(layer_artist.state.color), layer_artist.layer.label)) report += "<pre>" + fitter.summarize(fit_results[layer_artist], x, y) + "</pre>" if self.viewer.state.normalize: normalize[layer_artist] = layer_artist.state.normalize_values self._report_fit(report) self._plot_fit(fitter, fit_results, x, y, normalize)
def _update_color(self, ignore=None): cmap = self.state.cmap if self.state.cmap_mode == 'Linear': values = self.layer.data[self.state.cmap_att].astype(np.float32).ravel() normalized_values = ((values - self.state.cmap_vmin) / (self.state.cmap_vmax - self.state.cmap_vmin)) color_values = cmap(normalized_values).astype(np.float32) self.scatter.color = color_values else: self.scatter.color = color2hex(self.state.color) # for ipyvolume we set all colors the same, and resize unselected points to 0 self.quiver.color = self.scatter.color self.scatter.color_selected = self.scatter.color self.quiver.color_selected = self.quiver.color
def __init__(self, view, viewer_state, layer_state=None, layer=None): super(BqplotHistogramLayerArtist, self).__init__(viewer_state, layer_state=layer_state, layer=layer) self.view = view self.bars = bqplot.Bars(scales=self.view.scales, x=[0, 1], y=[0, 1]) self.view.figure.marks = list(self.view.figure.marks) + [self.bars] dlink((self.state, 'color'), (self.bars, 'colors'), lambda x: [color2hex(x)]) self._viewer_state.add_global_callback(self._update_histogram) self.state.add_global_callback(self._update_histogram) self.bins = None link((self.state, 'visible'), (self.bars, 'visible'))
def __init__(self, view, viewer_state, layer_state=None, layer=None): super(BqplotScatterLayerArtist, self).__init__(viewer_state, layer_state=layer_state, layer=layer) self.view = view self.scale_size = bqplot.LinearScale() self.scale_color = bqplot.ColorScale() self.scale_size_quiver = bqplot.LinearScale(min=0, max=1) self.scale_rotation = bqplot.LinearScale(min=0, max=1) self.scales = dict(self.view.scales, size=self.scale_size, rotation=self.scale_rotation, color=self.scale_color) self.scale_image = bqplot.ColorScale() self.scales_quiver = dict(self.view.scales, size=self.scale_size_quiver, rotation=self.scale_rotation) self.scales_image = dict(self.view.scales, image=self.scale_image) self.scatter = bqplot.ScatterGL(scales=self.scales, x=[0, 1], y=[0, 1]) self.quiver = bqplot.ScatterGL(scales=self.scales_quiver, x=[0, 1], y=[0, 1], visible=False, marker='arrow') self.counts = None self.image = ImageGL(scales=self.scales_image) on_change([(self.state, 'density_map')])(self._on_change_density_map) on_change([(self.state, 'bins')])(self._update_scatter) self._viewer_state.add_global_callback(self._update_scatter) self.view.figure.marks = (list(self.view.figure.marks) + [self.image, self.scatter, self.quiver]) dlink((self.state, 'color'), (self.scatter, 'colors'), lambda x: [color2hex(x)]) dlink((self.state, 'color'), (self.quiver, 'colors'), lambda x: [color2hex(x)]) self.scatter.observe(self._workaround_unselected_style, 'colors') self.quiver.observe(self._workaround_unselected_style, 'colors') on_change([(self.state, 'cmap_mode', 'cmap_att') ])(self._on_change_cmap_mode_or_att) on_change([(self.state, 'cmap')])(self._on_change_cmap) dlink((self.state, 'cmap_vmin'), (self.scale_color, 'min'), float_or_none) dlink((self.state, 'cmap_vmax'), (self.scale_color, 'max'), float_or_none) on_change([(self.state, 'size', 'size_scaling', 'size_mode', 'size_vmin', 'size_vmax')])(self._update_size) viewer_state.add_callback('x_att', self._update_xy_att) viewer_state.add_callback('y_att', self._update_xy_att) self._update_size() # set initial values for the colormap self._on_change_cmap() self.state.add_callback('visible', self._update_visibility) self.state.add_callback('vector_visible', self._update_visibility) self.state.add_callback('density_map', self._update_visibility) dlink((self.state, 'visible'), (self.scatter, 'visible')) dlink((self.state, 'visible'), (self.image, 'visible')) dlink((self.state, 'alpha'), (self.scatter, 'default_opacities'), lambda x: [x]) dlink((self.state, 'alpha'), (self.quiver, 'default_opacities'), lambda x: [x]) dlink((self.state, 'alpha'), (self.image, 'opacity')) on_change([(self.state, 'vector_visible', 'vx_att', 'vy_att') ])(self._update_quiver) dlink((self.state, 'vector_visible'), (self.quiver, 'visible'))