def __setgluestate__(cls, rec, context):

        if rec.get('_protocol', 0) < 1:
            cls.update_viewer_state(rec, context)

        session = context.object(rec['session'])

        viewer_state = cls._state_cls.__setgluestate__(rec['state'], context)

        viewer = cls(session, state=viewer_state)
        viewer.register_to_hub(session.hub)
        viewer.viewer_size = rec['size']
        x, y = rec['pos']
        viewer.move(x=x, y=y)

        # Restore layer artists. Ideally we would delay instead of ignoring the
        # callback here.
        with viewer._layer_artist_container.ignore_empty():
            for l in rec['layers']:
                cls = lookup_class_with_patches(l.pop('_type'))
                layer_state = context.object(l['state'])
                layer_artist = viewer.get_layer_artist(cls, layer_state=layer_state)
                layer_state.viewer_state = viewer.state
                viewer._layer_artist_container.append(layer_artist)

        return viewer
示例#2
0
    def __setgluestate__(cls, rec, context):

        if rec.get('_protocol', 0) < 1:
            cls.update_viewer_state(rec, context)

        session = context.object(rec['session'])

        viewer_state = cls._state_cls.__setgluestate__(rec['state'], context)

        viewer = cls(session, state=viewer_state)
        viewer.register_to_hub(session.hub)
        viewer.viewer_size = rec['size']
        x, y = rec['pos']
        viewer.move(x=x, y=y)

        # Restore layer artists. Ideally we would delay instead of ignoring the
        # callback here.
        with viewer._layer_artist_container.ignore_empty():
            for l in rec['layers']:
                cls = lookup_class_with_patches(l.pop('_type'))
                layer_state = context.object(l['state'])
                layer_artist = viewer.get_layer_artist(cls, layer_state=layer_state)
                layer_state.viewer_state = viewer.state
                viewer._layer_artist_container.append(layer_artist)

        return viewer
 def restore_layers(self, layers, context):
     for l in layers:
         cls = lookup_class_with_patches(l.pop('_type'))
         props = dict((k, context.object(v)) for k, v in l.items())
         layer_artist = cls(props['layer'], vispy_viewer=self)
         self._layer_artist_container.append(layer_artist)
         layer_artist.set(**props)
示例#4
0
文件: client.py 项目: astrofrog/glue
 def restore_layers(self, layers, context):
     """
     Restore a list of glue-serialized layer dicts.
     """
     for layer in layers:
         c = lookup_class_with_patches(layer.pop('_type'))
         props = dict((k, v if k == 'stretch' else context.object(v))
                      for k, v in layer.items())
         l = props['layer']
         if issubclass(c, ScatterLayerBase):
             l = self.add_scatter_layer(l)
         elif issubclass(c, RGBImageLayerBase):
             r = props.pop('r')
             g = props.pop('g')
             b = props.pop('b')
             self.display_data = l
             self.display_attribute = r
             l = self.rgb_mode(True)
             l.r = r
             l.g = g
             l.b = b
         elif issubclass(c, (ImageLayerBase, SubsetImageLayerBase)):
             if isinstance(l, Data):
                 self.set_data(l)
             l = self.add_layer(l)
         else:
             raise ValueError("Cannot restore layer of type %s" % l)
         l.properties = props
示例#5
0
 def restore_layers(self, layers, context):
     """
     Restore a list of glue-serialized layer dicts.
     """
     for layer in layers:
         c = lookup_class_with_patches(layer.pop('_type'))
         props = dict((k, v if k == 'stretch' else context.object(v))
                      for k, v in layer.items())
         l = props['layer']
         if issubclass(c, ScatterLayerBase):
             l = self.add_scatter_layer(l)
         elif issubclass(c, RGBImageLayerBase):
             r = props.pop('r')
             g = props.pop('g')
             b = props.pop('b')
             self.display_data = l
             self.display_attribute = r
             l = self.rgb_mode(True)
             l.r = r
             l.g = g
             l.b = b
         elif issubclass(c, (ImageLayerBase, SubsetImageLayerBase)):
             if isinstance(l, Data):
                 self.set_data(l)
             l = self.add_layer(l)
         else:
             raise ValueError("Cannot restore layer of type %s" % l)
         l.properties = props
示例#6
0
 def restore_layers(self, layers, context):
     for layer in layers:
         lcls = lookup_class_with_patches(layer.pop('_type'))
         if lcls != HistogramLayerArtist:
             raise ValueError("Cannot restore layers of type %s" % lcls)
         data_or_subset = context.object(layer.pop('layer'))
         result = self.add_layer(data_or_subset)
         result.properties = layer
示例#7
0
文件: client.py 项目: bmorris3/glue
 def restore_layers(self, layers, context):
     for layer in layers:
         lcls = lookup_class_with_patches(layer.pop('_type'))
         if lcls != HistogramLayerArtist:
             raise ValueError("Cannot restore layers of type %s" % lcls)
         data_or_subset = context.object(layer.pop('layer'))
         result = self.add_layer(data_or_subset)
         result.properties = layer
示例#8
0
文件: client.py 项目: rguter/glue
 def restore_layers(self, layers, context):
     """ Re-generate a list of plot layers from a glue-serialized list"""
     for l in layers:
         cls = lookup_class_with_patches(l.pop('_type'))
         if cls != ScatterLayerArtist:
             raise ValueError("Scatter client cannot restore layer of type "
                              "%s" % cls)
         props = dict((k, context.object(v)) for k, v in l.items())
         layer = self.add_layer(props['layer'])
         layer.properties = props
示例#9
0
文件: client.py 项目: bmorris3/glue
 def restore_layers(self, layers, context):
     """ Re-generate a list of plot layers from a glue-serialized list"""
     for l in layers:
         cls = lookup_class_with_patches(l.pop('_type'))
         if cls != ScatterLayerArtist:
             raise ValueError("Scatter client cannot restore layer of type "
                              "%s" % cls)
         props = dict((k, context.object(v)) for k, v in l.items())
         layer = self.add_layer(props['layer'])
         layer.properties = props
示例#10
0
 def restore_layers(self, rec, context):
     # For now this is a bit of a hack, we assume that all subsets saved
     # for this viewer are from dataset, so we just get Data object
     # then just sync the layers.
     for layer in rec:
         c = lookup_class_with_patches(layer.pop('_type'))
         props = dict((k, context.object(v)) for k, v in layer.items())
         layer = props['layer']
         self.add_data(layer.data)
         break
     self._sync_layers()
示例#11
0
    def __setgluestate__(cls, rec, context):

        session = context.object(rec['session'])
        viewer_state = cls._state_cls.__setgluestate__(rec['state'], context)

        viewer = cls(session, state=viewer_state)
        viewer.register_to_hub(session.hub)

        # Restore layer artists. Ideally we would delay instead of ignoring the
        # callback here.
        with viewer._layer_artist_container.ignore_callbacks():
            for l in rec['layers']:
                cls = lookup_class_with_patches(l.pop('_type'))
                layer_state = context.object(l['state'])
                layer_artist = viewer.get_layer_artist(cls, layer_state=layer_state)
                layer_state.viewer_state = viewer.state
                viewer._layer_artist_container.append(layer_artist)

        return viewer
示例#12
0
文件: viewer.py 项目: glue-viz/glue
    def __setgluestate__(cls, rec, context):

        session = context.object(rec['session'])
        viewer_state = cls._state_cls.__setgluestate__(rec['state'], context)

        viewer = cls(session, state=viewer_state)
        viewer.register_to_hub(session.hub)

        # Restore layer artists. Ideally we would delay instead of ignoring the
        # callback here.
        with viewer._layer_artist_container.ignore_callbacks():
            for l in rec['layers']:
                cls = lookup_class_with_patches(l.pop('_type'))
                layer_state = context.object(l['state'])
                layer_artist = viewer.get_layer_artist(cls, layer_state=layer_state)
                layer_state.viewer_state = viewer.state
                viewer._layer_artist_container.append(layer_artist)

        return viewer
示例#13
0
    def __setgluestate__(cls, rec, context):

        if rec.get('_protocol', 0) < 1:
            update_viewer_state(rec, context)

        session = context.object(rec['session'])
        viewer = cls(session)
        viewer.register_to_hub(session.hub)
        viewer.viewer_size = rec['size']
        x, y = rec['pos']
        viewer.move(x=x, y=y)

        viewer_state = cls._state_cls.__setgluestate__(rec['state'], context)
        viewer.state.update_from_state(viewer_state)

        # Restore layer artists
        for l in rec['layers']:
            cls = lookup_class_with_patches(l.pop('_type'))
            layer_state = context.object(l['state'])
            layer_artist = cls(viewer, layer_state=layer_state)
            viewer._layer_artist_container.append(layer_artist)

        return viewer
    def __setgluestate__(cls, rec, context):

        if rec.get('_protocol', 0) < 1:
            update_viewer_state(rec, context)

        session = context.object(rec['session'])
        viewer = cls(session)
        viewer.register_to_hub(session.hub)
        viewer.viewer_size = rec['size']
        x, y = rec['pos']
        viewer.move(x=x, y=y)

        viewer_state = cls._state_cls.__setgluestate__(rec['state'], context)
        viewer.state.update_from_state(viewer_state)

        # Restore layer artists
        for l in rec['layers']:
            cls = lookup_class_with_patches(l.pop('_type'))
            layer_state = context.object(l['state'])
            layer_artist = cls(viewer, layer_state=layer_state)
            viewer._layer_artist_container.append(layer_artist)

        return viewer