def update(self, view, transpose=False, aspect=None): self.clear() if aspect is not None: self.aspect = aspect subset = self.layer logging.debug("View into subset %s is %s", self.layer, view) try: mask = subset.to_mask(view[1:]) except IncompatibleAttribute as exc: self.disable_invalid_attributes(*exc.args) return False logging.debug("View mask has shape %s", mask.shape) # shortcut for empty subsets if not mask.any(): return if transpose: mask = mask.T extent = get_extent(view, transpose) r, g, b = color2rgb(self.layer.style.color) mask = np.dstack((r * mask, g * mask, b * mask, mask * .5)) mask = (255 * mask).astype(np.uint8) self.artists = [self._axes.imshow(mask, extent=extent, interpolation='nearest', origin='lower', zorder=5, visible=self.visible)] self._axes.set_aspect(self.aspect, adjustable='datalim')
def update(self, view, transpose=False, aspect=None): if aspect is not None: self.aspect = aspect self.clear() views = view_cascade(self.layer, view) artists = [] lr0 = self._extract_view(views[0], transpose) self.norm = self.norm or self._default_norm(lr0) self.norm = self.norm or self._default_norm(lr0) self._update_clip(views[0][0]) for v in views: image = self._extract_view(v, transpose) extent = get_extent(v, transpose) artists.append(self._axes.imshow(image, cmap=self.cmap, norm=self.norm, interpolation='nearest', origin='lower', extent=extent, zorder=0)) self._axes.set_aspect(self.aspect, adjustable='datalim') self.artists = artists self._sync_style()
def update(self, view, transpose=False, aspect=None): if aspect is not None: self.aspect = aspect self.clear() views = view_cascade(self.layer, view) artists = [] lr0 = self._extract_view(views[0], transpose) self.norm = self.norm or self._default_norm(lr0) self.norm = self.norm or self._default_norm(lr0) self._update_clip(views[0][0]) for v in views: image = self._extract_view(v, transpose) extent = get_extent(v, transpose) artists.append( self._axes.imshow(image, cmap=self.cmap, norm=self.norm, interpolation='nearest', origin='lower', extent=extent, zorder=0)) self._axes.set_aspect(self.aspect, adjustable='datalim') self.artists = artists self._sync_style()
def update(self, view=None, transpose=False, aspect=None): self.clear() if aspect is not None: self.aspect = aspect if self.r is None or self.g is None or self.b is None: return if view is None: view = self.last_view if view is None: return self.last_view = view views = view_cascade(self.layer, view) artists = [] for v in views: extent = get_extent(v, transpose) # first argument = component. swap r = tuple([self.r] + list(v[1:])) g = tuple([self.g] + list(v[1:])) b = tuple([self.b] + list(v[1:])) r = self.layer[r] g = self.layer[g] b = self.layer[b] if transpose: r = r.T g = g.T b = b.T self.rnorm = self.rnorm or self._default_norm(r) self.gnorm = self.gnorm or self._default_norm(g) self.bnorm = self.bnorm or self._default_norm(b) if v is views[0]: self.rnorm.update_clip(small_view(self.layer, self.r)) self.gnorm.update_clip(small_view(self.layer, self.g)) self.bnorm.update_clip(small_view(self.layer, self.b)) image = np.dstack((self.rnorm(r), self.gnorm(g), self.bnorm(b))) if not self.layer_visible['red']: image[:, :, 0] *= 0 if not self.layer_visible['green']: image[:, :, 1] *= 0 if not self.layer_visible['blue']: image[:, :, 2] *= 0 artists.append(self._axes.imshow(image, interpolation='nearest', origin='lower', extent=extent, zorder=0)) self._axes.set_aspect(self.aspect, adjustable='datalim') self.artists = artists self._sync_style()
def update(self, view=None, transpose=False, aspect=None): self.clear() if aspect is not None: self.aspect = aspect if self.r is None or self.g is None or self.b is None: return if view is None: view = self.last_view if view is None: return self.last_view = view views = view_cascade(self.layer, view) artists = [] for v in views: extent = get_extent(v, transpose) # first argument = component. swap r = tuple([self.r] + list(v[1:])) g = tuple([self.g] + list(v[1:])) b = tuple([self.b] + list(v[1:])) r = self.layer[r] g = self.layer[g] b = self.layer[b] if transpose: r = r.T g = g.T b = b.T self.rnorm = self.rnorm or self._default_norm(r) self.gnorm = self.gnorm or self._default_norm(g) self.bnorm = self.bnorm or self._default_norm(b) if v is views[0]: self.rnorm.update_clip(small_view(self.layer, self.r)) self.gnorm.update_clip(small_view(self.layer, self.g)) self.bnorm.update_clip(small_view(self.layer, self.b)) image = np.dstack((self.rnorm(r), self.gnorm(g), self.bnorm(b))) if not self.layer_visible['red']: image[:, :, 0] *= 0 if not self.layer_visible['green']: image[:, :, 1] *= 0 if not self.layer_visible['blue']: image[:, :, 2] *= 0 artists.append( self._axes.imshow(image, interpolation='nearest', origin='lower', extent=extent, zorder=0)) self._axes.set_aspect(self.aspect, adjustable='datalim') self.artists = artists self._sync_style()
def update(self, view, transpose=False, aspect=None): self.clear() if aspect is not None: self.aspect = aspect subset = self.layer logging.debug("View into subset %s is %s", self.layer, view) try: mask = subset.to_mask(view[1:]) except IncompatibleAttribute as exc: self.disable_invalid_attributes(*exc.args) return False logging.debug("View mask has shape %s", mask.shape) # shortcut for empty subsets if not mask.any(): return if transpose: mask = mask.T extent = get_extent(view, transpose) r, g, b = color2rgb(self.layer.style.color) mask = np.dstack((r * mask, g * mask, b * mask, mask * .5)) mask = (255 * mask).astype(np.uint8) self.artists = [ self._axes.imshow(mask, extent=extent, interpolation='nearest', origin='lower', zorder=5, visible=self.visible) ] self._axes.set_aspect(self.aspect, adjustable='datalim')