Esempio n. 1
0
    def __init__(self):
        app.Canvas.__init__(self, keys='interactive')
        self.size = (800, 800)
        global pos
        self.visuals = []
        polygon = visuals.PolygonVisual(pos=pos,
                                        color=(0.8, .2, 0, 1),
                                        border_color=(1, 1, 1, 1))
        polygon.transform = transforms.STTransform(scale=(200, 200),
                                                   translate=(600, 600))
        self.visuals.append(polygon)

        ellipse = visuals.EllipseVisual(pos=(0, 0, 0),
                                        radius=(100, 100),
                                        color=(0.2, 0.2, 0.8, 1),
                                        border_color=(1, 1, 1, 1),
                                        start_angle=180.,
                                        span_angle=150.)
        ellipse.transform = transforms.STTransform(scale=(0.9, 1.5),
                                                   translate=(200, 200))
        self.visuals.append(ellipse)

        rect = visuals.RectangleVisual(pos=(600, 200, 0),
                                       height=200.,
                                       width=300.,
                                       radius=[30., 30., 0., 0.],
                                       color=(0.5, 0.5, 0.2, 1),
                                       border_color='white')
        rect.transform = transforms.NullTransform()
        self.visuals.append(rect)

        rpolygon = visuals.RegularPolygonVisual(pos=(200., 600., 0),
                                                radius=160,
                                                color=(0.2, 0.8, 0.2, 1),
                                                border_color=(1, 1, 1, 1),
                                                sides=6)
        rpolygon.transform = transforms.NullTransform()
        self.visuals.append(rpolygon)

        for v in self.visuals:
            v.tr_sys = transforms.TransformSystem(self)
            v.tr_sys.visual_to_document = v.transform

        self.show()
        self._timer = app.Timer('auto', connect=self.on_timer, start=True)
Esempio n. 2
0
    def __init__(self):
        app.Canvas.__init__(self, keys='interactive', size=(800, 800))
        global pos
        self.visuals = []
        polygon = visuals.PolygonVisual(pos=pos,
                                        color=(0.8, .2, 0, 1),
                                        border_color=(1, 1, 1, 1),
                                        border_width=3)
        polygon.transform = transforms.STTransform(scale=(200, 200),
                                                   translate=(600, 600))
        self.visuals.append(polygon)

        ellipse = visuals.EllipseVisual(center=(0, 0, 0),
                                        radius=(100, 150),
                                        color=(0.2, 0.2, 0.8, 1),
                                        border_color=(1, 1, 1, 1),
                                        border_width=3,
                                        start_angle=180.,
                                        span_angle=150.)
        ellipse.transform = transforms.STTransform(scale=(0.9, 1.5),
                                                   translate=(200, 300))
        self.visuals.append(ellipse)

        rect = visuals.RectangleVisual(center=(600, 200, 0),
                                       height=200.,
                                       width=300.,
                                       radius=[30., 30., 0., 0.],
                                       color=(0.5, 0.5, 0.2, 1),
                                       border_width=3,
                                       border_color='white')
        rect.transform = transforms.NullTransform()
        self.visuals.append(rect)

        rpolygon = visuals.RegularPolygonVisual(center=(200., 600., 0),
                                                radius=160,
                                                color=(0.2, 0.8, 0.2, 1),
                                                border_color=(1, 1, 1, 1),
                                                border_width=3,
                                                sides=6)
        rpolygon.transform = transforms.NullTransform()
        self.visuals.append(rpolygon)

        self.show()
Esempio n. 3
0
 def _fcn_sliderMagnify(self):
     """Magnify signals."""
     # Set transformation to each node parent :
     for k in self._chan.node:
         # Use either Magnify / Null transformation :
         if self._slMagnify.isChecked():
             transform = vist.nonlinear.Magnify1DTransform()
         else:
             transform = vist.NullTransform()
         k.transform = transform
Esempio n. 4
0
    def __init__(self, vertices=None, faces=None, normals=None, lr_index=None,
                 hemisphere='both', sulcus=None, alpha=1., mask_color='orange',
                 camera=None, meshdata=None, invert_normals=False):
        """Init."""
        self._camera = None
        self._translucent = True
        self._alpha = alpha
        self._hemisphere = hemisphere
        self._n_overlay = 0
        self._data_lim = []

        # Initialize the vispy.Visual class with the vertex / fragment buffer :
        Visual.__init__(self, vcode=VERT_SHADER, fcode=FRAG_SHADER)

        # _________________ BUFFERS _________________
        # Vertices / faces / normals / color :
        def_3 = np.zeros((0, 3), dtype=np.float32)
        self._vert_buffer = gloo.VertexBuffer(def_3)
        self._normals_buffer = gloo.VertexBuffer(def_3)
        self._bgd_buffer = gloo.VertexBuffer()
        self._xrange_buffer = gloo.VertexBuffer()
        self._alphas_buffer = gloo.VertexBuffer()
        self._index_buffer = gloo.IndexBuffer()

        # _________________ PROGRAMS _________________
        self.shared_program.vert['a_position'] = self._vert_buffer
        self.shared_program.vert['a_normal'] = self._normals_buffer
        self.shared_program.vert['u_n_overlays'] = self._n_overlay
        self.shared_program.frag['u_alpha'] = alpha

        # _________________ LIGHTS _________________
        self.shared_program.frag['u_light_intensity'] = LIGHT_INTENSITY
        self.shared_program.frag['u_coef_ambient'] = COEF_AMBIENT
        self.shared_program.frag['u_coef_specular'] = COEF_SPECULAR
        self.shared_program.frag['u_light_position'] = LIGHT_POSITION
        self.shared_program.frag['camtf'] = vist.NullTransform()

        # _________________ DATA / CAMERA / LIGHT _________________
        # Data :
        self.set_data(vertices, faces, normals, hemisphere, lr_index,
                      invert_normals, sulcus, meshdata)
        # Camera :
        self.set_camera(camera)
        self.mask_color = mask_color

        # _________________ GL STATE _________________
        self.set_gl_state('translucent', depth_test=True, cull_face=False,
                          blend=True, blend_func=('src_alpha',
                                                  'one_minus_src_alpha'))
        self._draw_mode = 'triangles'
        self.freeze()
Esempio n. 5
0
    def __init__(self, vertices=None, faces=None, normals=None, sulcus=None,
                 alpha=1., camera=None):
        """Init."""
        self._camera = None
        self._camera_transform = vist.NullTransform()
        self._translucent = True
        self._alpha = alpha
        self._n_overlay = 0
        self._data_lim = []
        self._colormaps = []

        # Initialize the vispy.Visual class with the vertex / fragment buffer :
        Visual.__init__(self, vcode=VERT_SHADER, fcode=FRAG_SHADER)

        # _________________ BUFFERS _________________
        # Vertices / faces / normals / color :
        def_3 = np.zeros((0, 3), dtype=np.float32)
        self._vert_buffer = gloo.VertexBuffer(def_3)
        self._normals_buffer = gloo.VertexBuffer(def_3)
        self._bgd_buffer = gloo.VertexBuffer()
        self._xrange_buffer = gloo.VertexBuffer()
        self._alphas_buffer = gloo.VertexBuffer()
        self._index_buffer = gloo.IndexBuffer()

        # _________________ PROGRAMS _________________
        self.shared_program.vert['a_position'] = self._vert_buffer
        self.shared_program.vert['a_normal'] = self._normals_buffer
        self.shared_program.vert['u_n_overlays'] = self._n_overlay
        self.shared_program.frag['u_alpha'] = alpha

        # _________________ TEXTURE _________________
        color_1d = np.c_[np.array([1.] * 4), np.array(SULCUS_COLOR)].T
        text_1d = gloo.Texture1D(color_1d.astype(np.float32))
        self.shared_program.vert['u_bgd_text'] = text_1d

        # _________________ LIGHTS _________________
        self.shared_program.frag['u_light_intensity'] = LIGHT_INTENSITY
        self.shared_program.frag['u_coef_ambient'] = COEF_AMBIENT

        # _________________ DATA / CAMERA / LIGHT _________________
        self.set_data(vertices, faces, normals, sulcus)
        self.set_camera(camera)

        # _________________ GL STATE _________________
        self.set_gl_state('translucent', depth_test=True, cull_face=False,
                          blend=True, blend_func=('src_alpha',
                                                  'one_minus_src_alpha'))
        self._draw_mode = 'triangles'
        self.freeze()
Esempio n. 6
0
        def on_mouse_release(event):
            """Executed function when the mouse is pressed over canvas.

            This method set the transformation to the canvas to NullTransform.
            """
            # Get canvas name :
            name = canvas.title
            condition = bool(name.find('Canvas') + 1)
            if condition and not self._slMagnify.isChecked():
                # Get channel name :
                chan = name.split('Canvas_')[1]
                # Get index :
                idx = self._channels.index(chan)
                # Build transformation :
                self._chan.node[idx].transform = vist.NullTransform()
Esempio n. 7
0
 def __init__(self, name, parent=None, transform=None, verbose=None, **kw):
     """Init."""
     _VisbrainObj.__init__(self, **kw)
     self._node = vispy.scene.Node(name=name)
     self._node.parent = parent
     self._csize = None  # canvas size
     self._shortcuts = {}
     # Name :
     assert isinstance(name, str)
     self._name = name
     # Transformation :
     if transform is None:
         transform = vist.NullTransform()
     self._node.transform = transform
     # Verbose :
     set_log_level(verbose)
     logger.info('%s created' % repr(self))
Esempio n. 8
0
    def __init__(self,
                 vertices=None,
                 faces=None,
                 normals=None,
                 lr_index=None,
                 hemisphere='both',
                 sulcus=None,
                 alpha=1.,
                 mask_color='orange',
                 light_position=[100.] * 3,
                 light_color=[1.] * 4,
                 light_intensity=[1.] * 3,
                 coef_ambient=.05,
                 coef_specular=.5,
                 vertfcn=None,
                 camera=None,
                 meshdata=None,
                 invert_normals=False):
        """Init."""
        self._camera = None
        self._camera_transform = vist.NullTransform()
        self._translucent = True
        self._alpha = alpha
        self._hemisphere = hemisphere

        # Initialize the vispy.Visual class with the vertex / fragment buffer :
        Visual.__init__(self, vcode=VERT_SHADER, fcode=FRAG_SHADER)

        # _________________ TRANSFORMATIONS _________________
        self._vertfcn = vist.NullTransform() if vertfcn is None else vertfcn

        # _________________ BUFFERS _________________
        # Vertices / faces / normals / color :
        def_3 = np.zeros((0, 3), dtype=np.float32)
        def_4 = np.zeros((0, 4), dtype=np.float32)
        self._vert_buffer = gloo.VertexBuffer(def_3)
        self._color_buffer = gloo.VertexBuffer(def_4)
        self._normals_buffer = gloo.VertexBuffer(def_3)
        self._mask_buffer = gloo.VertexBuffer()
        self._sulcus_buffer = gloo.VertexBuffer()
        self._index_buffer = gloo.IndexBuffer()

        # _________________ PROGRAMS _________________
        self.shared_program.vert['a_position'] = self._vert_buffer
        self.shared_program.vert['a_color'] = self._color_buffer
        self.shared_program.vert['a_normal'] = self._normals_buffer
        self.shared_program.frag['u_alpha'] = alpha

        # _________________ DATA / CAMERA / LIGHT _________________
        self.set_data(vertices, faces, normals, hemisphere, lr_index,
                      invert_normals, sulcus, meshdata)
        self.set_camera(camera)
        self.mask_color = mask_color
        self.light_color = light_color
        self.light_position = light_position
        self.light_intensity = light_intensity
        self.coef_ambient = coef_ambient
        self.coef_specular = coef_specular

        # _________________ GL STATE _________________
        self.set_gl_state('translucent',
                          depth_test=True,
                          cull_face=False,
                          blend=True,
                          blend_func=('src_alpha', 'one_minus_src_alpha'))
        self._draw_mode = 'triangles'
        self.freeze()