Skip to content

Interactive features

Roan LaPlante edited this page Mar 3, 2014 · 7 revisions

Each brain network in cvu has three views, the 3D brain, matrix, and circle views. This page describes the buttons used to interact with these views.

3D Brain

####Connections

Left clicking on nodes in the 3D brain view causes all connections not local to that node to be temporarily hidden. This also causes these only these nodes to be shown in the circle view. The same effect can be achieved for a specifically named node by clicking on the Choose node button and scrolling to that node. However, all connections shown are subject to the thresholding, hemispheric, and module display constraints in the connection settings tab of the options menu.

Right clicking undoes this, and shows all connections, subject to the contraints provided in the options of the connections menu.

####Panning, Zooming, Rotating ######Panning To pan the scene, depress Shift and drag using the left mouse button. Alternately, depress middle mouse button and drag.

######Zooming To zoom in and out, scroll the mouse wheel up and down. Alternately, depress the right mouse button and drag up/right or left/down.

######Rotating

To rotate the scene in 3 dimensions about center of the scene -- that is, to adjust the orientation up/down/left/right of the normal facing the camera -- to left click and drag.

To rotate the scene in 2 dimensions about the center of the scene -- that is, to rotate the axes about the normal facing the camera -- left click and drag while ctrl is depressed.

####Interactor Keypresses

Pressing the following buttons while the mouse is in the brain view have the following effects:

  • A -- Switches from camera to actor style. In the actor style, you can manipulate VTK actors. For instance, you could click on a node and drag it in some direction, which causes all the nodes in a single hemisphere (which are represented as a single VTK source) to move around and become misaligned from the brain surface. However, you will not be able to manipulate the camera (the field of view). In cvu, the actor style is generally worthless. If you accidentally trigger it, just switch back to camera style by pressing C. If you accidentally move some actors so that they are no longer aligned with the brain, you can fix this by rebuilding the dataset (for the dataset in the main window this is not allowed because it is quite difficult for somewhat technical GUI toolkit reasons. Reload the parcellation and adjacency matrix instead).

  • C -- Switches from actor to camera style. In the camera style, the camera is a disembodied field of view that can be arbitrarily manipulated (zoomed, panned, or rotated) by as described above, in contrast to the actor style where none of this is true. This is the default style.

  • T -- Switches from joystick to trackball style. In the trackball style, the amount of rotation and movement of the camera (or actors) is proportional to the magnitude of the mouse motion (i.e., the overall distance that the mouse has traveled while depressed). This is the default style and probably what you would expect by default.

  • J -- Switches from trackball to joystick style. In the joystick style, the speed of rotation and movement of the camera is proportional to the distance from the center of the view when the mouse is depressed. The view will continue rotating (or panning or zooming) even if the mouse is stationary, as long as the mouse is not at the center of the view (like a joystick).

  • S -- Tries to save a snapshot of the scene using the parameters currently held by the scene. Instead of using this, it is recommended to configure the snapshot using Take snapshot which allows the user to adjust the image resolution.

  • R -- Resets the focus of the view to the center of the objects currently shown in the scene.

  • F -- causes the scene to center on wherever the mouse is.

  • 3 -- toggles on or off something called stereo mode, which might do something interesting if you have some sort of 3D glasses but on my system all it appears to do is make the scene turn red and prevents all interaction.

####Toolbar The items on the toolbar at the top of the 3D brain are as follows:

Mayavi settings

This dialog brings up a view of the mayavi pipeline. Inside this pipeline, many low-level details and features of the visualization can be altered. I will not attempt to provide a full description of the settings available in the mayavi pipeline -- feel free to explore and look around

Views

These seven buttons provide predefined views along the X,Y, and Z axes with the focal point at the center of the dataset shown on the scene. The final button provides an isometric view.

Toggle visual options

These three buttons toggle on and off parallel projection, a 3D display of the camera's current orientation, and fullscreen mode.

Snapshot and settings

The disk button, predictably, tries to save a snapshot of the scene. It is recommended not to use this option as it does not include some custom fixes to saving snapshots in old versions of mayavi; instead, use the take snapshot button.

The settings button provides a menu to adjust some settings of the scene, that can be used to adjust the snapshots that are output.

Matrix

The matrix has very little interactivity, however it can be panned and zoomed.

To pan, left click and drag the matrix in the desired direction. To zoom out, hover over the matrix and move the mouse wheel down; to zoom in, move the mouse wheel up.

In previous versions of cvu, clicking on parts of the matrix would cause only connections from that row to be shown -- connections were updated on the 3D brain and circle views corresponding to the node at that row were also shown. Additionally, other rows on the matrix were colored in gray while only the corresponding row was shown. This visualization did not make any sense nor provide anything useful, and often caused annoyance by accidentally clicking on the matrix when the user intended to click on one of the buttons to the right of the matrix.

Circle

Connections

To isolate connections emanating from a single node, left click on any of the colored nodes on the circumference of the circle. The connections from that node will show, as below:

These connections are shared with the 3D brain view (updating one view will also update the other, unless circle rendering is turned off in the options menu) and obeys all of the settings in the connections tab in the options panel.

Right clicking anywhere in the figure will cause all connections to be displayed (again, respecting the threshold and other connection settings).

Tooltip

Hovering over a node will cause a tooltip to display with the name of that node. This is meant to ensure that the user can identify the node names, even when the names are not displayed on the figure due to space constraints (see circle plot labels.

The node names can also be determined by cross-referencing the colors on the circumference with those displayed in the color legend, by clicking on the Color legend button (as long as those colors are not currently reflecting module identity or scalar values instead).

Panning, Zooming

Matplotlib polar plots really do not support panning or zooming in anything resembling a useful way. This issue runs very deep. Everything about polar plots and polar coordinates would have to be completely rewritten in order to get the behavior I would rather have. This problem would take me months to fix properly.

Clone this wiki locally