def __getitem__(self, view): """ Retrieve the elements from a data view within the subset :param view: View of the data. See data.__getitem__ for detils """ c, v = split_component_view(view) ma = self.to_mask(v) return self.data[view][ma]
def _update_ginga_models(self, view, transpose=False): subset = self.layer logging.getLogger(__name__).debug("View into subset %s is %s", self.layer, view) _, view = split_component_view(view) # discard ComponentID r, g, b = color2rgb(self.layer.style.color) if self._img is None: self._img = SubsetImage(subset, view) if self._cimg is None: # SubsetImages can't be added to canvases directly. Need # to wrap into a ginga canvas type. Image = self._canvas.getDrawClass('image') self._cimg = Image(0, 0, self._img, alpha=0.5, flipy=False) self._img.view = view self._img.color = (r, g, b) self._img.transpose = transpose
def update(self, view, transpose=False): if not self.visible: return # update ginga model comp, view = split_component_view(view) if self._img is None: self._img = DataImage(self.layer, comp, view, transpose) self._canvas.set_image(self._img) self._img.data = self.layer self._img.component = comp self._img.view = view self._img.transpose = transpose self._img.override_image = self._override_image self.redraw()
def __getitem__(self, key): """ Shortcut syntax to access the numerical data in a component. Equivalent to: ``component = data.get_component(component_id).data`` :param key: The component to fetch data from :type key: :class:`~glue.core.component_id.ComponentID` :returns: :class:`~numpy.ndarray` """ key, view = split_component_view(key) if isinstance(key, six.string_types): _k = key key = self.find_component_id(key) if key is None: raise IncompatibleAttribute(_k) if isinstance(key, ComponentLink): return key.compute(self, view) if key in self._components: comp = self._components[key] elif key in self._externally_derivable_components: comp = self._externally_derivable_components[key] else: raise IncompatibleAttribute(key) shp = view_shape(self.shape, view) if view is not None: result = comp[view] else: if comp.categorical: result = comp.codes else: result = comp.data assert result.shape == shp, \ "Component view returned bad shape: %s %s" % (result.shape, shp) return result
def __getitem__(self, key): """ Shortcut syntax to access the numerical data in a component. Equivalent to: ``component = data.get_component(component_id).data`` :param key: The component to fetch data from :type key: :class:`~glue.core.component_id.ComponentID` :returns: :class:`~numpy.ndarray` """ key, view = split_component_view(key) if isinstance(key, six.string_types): _k = key key = self.find_component_id(key) if key is None: raise IncompatibleAttribute(_k) if isinstance(key, ComponentLink): return key.compute(self, view) try: comp = self._components[key] except KeyError: raise IncompatibleAttribute(key) shp = view_shape(self.shape, view) if view is not None: result = comp[view] else: if comp.categorical: result = comp.codes else: result = comp.data assert result.shape == shp, \ "Component view returned bad shape: %s %s" % (result.shape, shp) return result