Subsections


8 Control of map3d

This section describes all the means of controlling the function of map3d, at least all the ones we are willing to tell you about.

8.1 Control by surface

There is an ever growing number of parameters that the user can alter for displaying the surfaces in map3d. Some of the more important (and stable) include the following:

Visibility:
of points, mesh, potentials, vectors, etc, can all be controlled individually by using the appropriate function key (see Section 8.2.2),
Lead markings:
of the nodes in the geometry according to their node number, channel number, lead number or even value,
Scaling:
scaling of value to colour and to contour line values,
Landmarks:
appearance of the landmarks on the surface.

Since this level of control is provided for each surface, it is possible to have points showing on one surface, mesh on another, and rendered potential shading on a third, and so on.


8.1.1 Selecting which surface to control

To control the display of each surface, be that a surface in its own window or sharing a single window with other surfaces, a user must select that surface. Otherwise, display options will affect all the surfaces. There are two different multi-surface situations and each has its own method of selecting the surface:

Selecting surfaces for display controls
Multi-surface layout Selection method
One surface per window Mouse location establishes currently active window.
All surface in one window Up/down arrows selects the surface. Hitting the up-arrow key after selecting the last surface selects all surface.

Note that in the surface window, the lock icons in the lower left corner indicate if parameter settings act on all surface (locks visible) or just single surfaces (locks invisible). Each lock controls a different aspect of map3d:

General Lock:
is represented by the yellow (or first) lock icon. When this lock is active, menu items and keyboard commands pertain to all surfaces. To turn this lock off and on use the up and down arrow keys.
Transformation Lock:
is represented by the red (or second) lock icon. When this lock is active, rotation and translation pertain to all surfaces. To turn this lock on and off, use the ``t'' key.
Frame Lock:
is represented by the blue (or third) lock icon. When this lock is active, frame advancing, retreating, and resetting pertain to all surfaces. To turn this lock on and off, use the ``f'' key or select from the menu under Frame Controls.

Note: in the case where all surfaces are in the same window, unlocking the general lock by means of the up or down arrow keys selects the single surface to display. However, when the general lock is active and either of the other locks is disabled, the active surface mesh appears in a different color (blue by default). This identifies the selected surface and all modifications apply to this surface. To select the desired surface use the +/- keys; ``+'' selects the next surface and ``-'' selects the previous.

8.2 Mouse control, keyboard mapping, dials, and menus

Direct interactive control of map3d is by the keyboard and mouse. Many option are available via the menus controlled with the right mouse button, while others can be activated or toggled with single keystrokes. Variable (non-binary) adjustments usually occur through dialogues, or by repeating keystrokes. Below are tables of all the current control devices and their function. When the program launches, the user sets one or more windows which can be resized and moved at any time. When launching the program with the -b option, the resulting borderless sub-window(s) can still be moved within a main window using the Alt-key together with the left and middle mouse buttons.

8.2.1 Mouse control

The mouse can be used for different purposes depending on the current mode. This is especially important when picking is selected. To shift between modes requires simultaneous pressing of the various modifier keys, shift, control, alt. Figure 3 shows the various actions of the mouse buttons.

Figure 3: Mouse action for map3d. Mouse action of both the left and middle mouse buttons depends on the current mode. Picking makes intensive use of the mouse, as does moving objects in the surface window.
mouse action

8.2.1.1 In surface windows:

when the mouse is over a surface window, mouse buttons have the following actions:
Mouse Actions
Control Key Button Action
None Left rotation objects
  Middle scale objects (downwards increases size, upwards decreases size)
  Right activate pull-down menu
Cntrl Left pick a node (and if time series data is present, select the channel to display in the time series window)
  Middle no action
  Right no action
Shift Left translate objects
  Middle scale objects (rotates clipping planes - more info later)
  Right no action

8.2.1.2 In borderless windows:

when the mouse is over a surface within a borderless main window (-b option), the buttons have the following additional actions:
Mouse Actions
Control Key Button Action
Alt Left Move a single surface subwindow (no indication of motion; release to see effect)
  Middle Resize single surface subwindow (no indication of change until release of mouse button).
  Right no action

Note: if map3d does not respond as described in these tables, it could be that your window manager is grabbing the mouse/key combinations for its own purpose. This will require some setting changes for the window manager. To make such changes under IRIX, examine the .4Dwmrc file; in Linux there is usually a control panel or utility application to manage all window system interactions.


8.2.2 Keyboard controls

Each key of the regular keyboard, the function keys, and the keypad may be mapped to some function of the map3d. Some keyboard keys serve as toggles to change between a mode being on or off, e.g., ``n'' toggles the display of node markings. Others cycle through a set of choices, e.g., ``m'' runs through a series of display options for the mesh. A list of the keyboard keys and their functions is shown in table 1 and table 2 describes the action for each of the function and arrow keys.


Table 1: Keyboard controls in map. When control contains both lower and upper cases of a letter, one cycles through a parameter in one direction and the other in the reverse direction. Note that when clipping is active, the screen information disappears.
Regular keyboard
a/A-key Switch colour tables
c-key Toggle contour draw
d-key Toggle depth cueing
f-key Toggle frame lock
i-key Toggle ``direction'' of color table
l-key Toggle use of lighting
m/M-key Step through mesh/node drawing options
n-key Toggle display of node labels
p-key Toggle information in time signal (pick) window
Q-key Quit or destroy a sub-window (Escape quits the whole program)
r-key Reset to startup conditions
s-key Cycle through the various surface data draw options
t-key Toggle transformation lock
x-key Draw axis
Escape Quit the program
Clipping Controls
<-key Toggle front clipping plane
>-key Toggle rear clipping plane
[/]-key Move front clipping plane in (initially) +z/-z direction respectively
{/}-key Move rear clipping plane in (initially) +z/-z direction respectively
1-key Lock/Unlock clipping plane rotation with object rotation (when unlocked, shift-Middle-click rotates clipping planes)
2-key Lock/Unlock clipping planes from each other. When active, clipping planes move together



Table 2: Control of map3d via the arrow keys
Arrow Keys
Left Arrow Key Retreat by one frame (or current frame step)
Right Arrow Key Advance by one frame (or current frame step)
Up Arrow key Select next surface
Down Arrow Key Select previous surface



8.2.3 Menu layout

Access to the menus is by means of the right mouse button, as per the usual OpenGL convention. Below is a series of tables of the menu layout for map3d's Geometry Window.


Table 3: The overall menu structure of map3d
Overview of map3d Menus
Mesh display features of the mesh
Surface Data display features of the scalar data displayed on the mesh
Scaling links between data values and color
Contours number or spacing and display features of the contours
Node marking marking of the nodes
Picking selecting times signals, mesh information, or other direct interactions with the display via the mouse
Graphics general display features such as lighting, clipping, and depth cueing
Landmarks features for toggling and displaying landmarks
Frame Controls modifying frame controls
Window Attributes features of the windows such as color and text labels
.



Table 4: Submenus for the Mesh Display menu
Mesh render menu
Render as    
  Elements render filled surfaces for all elements
  Connectivities render connectivity mesh
  Points render points
  Elements and connectivity rendered front facing triangles as elements and back facing as connectivity
Line/point size set the size of the points from a separate window
Color set the color of the mesh
Secondary Mesh Color set color of active mesh when multiple surfaces are in same window
Toggle mesh display toggle display of the mesh (without changing other settings)
Toggle Legend Window toggle display of mesh's legend window



Table 5: Submenus to control the display of scalar data on the mesh.
Surface Display Menus
Color    
  Rainbow use rainbow color map to render scalar values on the mesh
  Green to red use green to red color map
  Black and white use black and white color map
  Invert invert the sense of any color map, e.g., black becomes white and white becomes black
Render style    
  Flat colour each mesh element in a constant color according to the mean value of scalar data over the vertices
  Gouraud shade each polygon using linear interpolation
  Banded draw the regions between contour lines as bands of constant color
Toggle surface display toggle display of the scalar data on the mesh (without changing other settings)



Table 6: Menu for scaling, the mapping from data value to color for rendering.
Scaling Menus
Range    
  Local scale based on the local extrema for each surface and time instant
  Global over all frames in one surface scale based on the extrema over the full times series
  Global over all surfaces in one frame scale based on the extrema over each surface for the local time instant
  Global over all surfaces and frames scale based on the extrema over all surfaces and all time instants
  Scaling over groups in one frame scale based on the extrema over each surface in specified group for the local time instant
  Scaling over groups in all frames scale based on the extrema over each surface in a specified group for all time instants
  Slave Scaling over one frame scale based on the extrema over each surface's master surface (set with -sl in command line) for one time instant
  Slave Scaling over all frames scale based on the extrema over each surface's master surface (set with -sl in command line) for all time instants
  Command-line specified range scale based on the extrema set in -ph/-pl options
Function    
  Linear linear mapping between value and color
  Exponential color changes as exp(value)
  Logarithmic color changes as log(value)
  Lab standard color reflects lab standard
  Lab 13 standard color reflects lab 13 standard
Mapping    
  True use true extrema
  Symmetric about zero take largest of absolute values of extrema to determine scaling
  Separate about zero scale positive and negative portions of the scale independently
Grouping    
  Move to group # Select a group to place the current surface (make sure the general (yellow) lock is off, or all surfaces will be placed in that group)



Table 7: Menus for contour spacing/number.
Contour Menus
Number of Contours    
  value selection of 5-50 contours
  Command line spacing use the value of contour spacing in the -cs option of the command line
Draw style    
  Dashed line for negative values draw positive contours in solid, negative in broken lines
  Solid lines for all contours draw all contours in solid lines
Line size set the line size in a separate window
Toggle contours toggle display of contours without changing settings



Table 8: Menus for marking nodes in the display. If all surfaces are currently displayed, any of these settings will affect all surfaces. If we have a single (or current) surface only, then change only that surface.
Node Marking Menus
All   Make all the nodes in this (or all) surface(s)
  Sphere mark each node with a sphere
  Node # mark each node with the node number in the geometry
  Channel # mark each node with the associated data channel number
  Data value mark each node with the associated data value
  Color set the color for marking all nodes
  Size set the size of all node markings
  Clear all marks remove all node marking settings
Extrema   Make all the nodes that are the extrema
  Sphere mark each extrema with a sphere
  Node # mark each extrema with the node number in the geometry
  Channel # mark each extrema with the associated data channel number
  Data value mark each extrema with the associated data value
  Size set the size of all extrema markings
  Clear all marks remove all extrema marking settings
Time signal   Make all the nodes that identify the location of time signals shown in the display
  Sphere mark each times signal location with a sphere
  Node # mark each times signal location with the node number in the geometry
  Channel # mark each times signal location with the associated data channel number
  Data value mark each times signal location with the associated data value
  Color set the color for marking all times signal locations
  Size set the size of all time signal markings
  Clear all marks remove all time signal marking settings



Table 9: More node marking menus.
Node Marking Menus (cont'd)
Time signal   Make all the nodes that identify the location of time signals shown in the display
  Sphere mark each lead's location with a sphere
  Node # mark each lead's location with the node number in the geometry
  Channel # mark each lead's location with the associated data channel number
  Data value mark each lead's location with the associated data value
  Lead labels mark each lead's location with the associated label (from the input file)
  Color set the color for marking all lead's locations
  Size set the size of all lead markings
  Clear all marks remove all lead marking settings
Toggle node marking   toggle display of the selected markings



Table 10: Pick mode menus. Picking is based on a mode (selectable in this menu), and is done with CTRL-left mouse button unless otherwise specified.
Picking Menus
Time Signal (new window mode) create a new time signal window with each pick of a node
Time Signal (refresh window mode) update the last time signal window with each pick of a node
Display node info mode Picking will cause certain node information to be dumped to the console.
Display triangle info mode Picking will cause information about the triangle you click in to be dumped to the console. It may be easier to pick triangles with clipping planes on.
Triangle construction/deletion Normal picking (ctrl-clicking on nodes) will select points to form a triangle (triangulate). Clicking the first two nodes in this fashion will display the selected nodes, and then a line between the two. When the third is clicked, a new triangle is displayed and added to the geometry.
  CTRL-middle clicking selects a triangle (and not nodes) to be deleted. Again, it may be easier to pick triangles with clipping planes on.
Flip triangle mode Will change the order of drawing the triangle's points. This will cause front-facing triangles to become back-facing and vice-versa.
Size of picking aperture select the size of the region around the mouse pointer that will register a ``hit'' when picking; larger values will make it easier to pick an object but also easier to hit multiple objects.
Show Time Series info Toggles display modes in time series window. When there is no info, the graph takes up more room in the window. This is equivalent to pressing 'p' in a geometry window or selecting the toggle display mode option of a time series window's menu.
Show all pick windows Causes all Time Series (Pick) Windows associated with this geometry to become visible.
Hide all pick windows Causes all Time Series (Pick) Windows associated with this geometry to become hidden.



Table 11: Graphics menus. These control general graphic rendering options.
Graphics Menus
Light source   select the source for the lighting model
  From above light shines from above the surface
  None no lighting (turn lighting off)
Toggle clipping   toggles particular clipping plane options
  Front plane toggles front clipping plane
  Back plane toggles rear clipping plane
  Locking planes together makes planes translate together
  Locking planes with object rotate surface with the planes or rotate surface through the planes
Toggle Depth cue   apply/disable depth cueing (fog)



Table 12: Landmark menus. These control landmark display options.
Landmarks Menus
Coronary/Catheter   toggle and select color for coronary/catheter
  Toggle Coronary toggle coronary artery
  Toggle Catheter toggle catheter display
  Wireframe Coronary show coronary artery as wireframe and pt. numbers
  Coronary Color select coronary color
  Catheter Color select catheter color
Points   toggle and select color for point landmarks
  Toggle temporary occlusions toggle temporary occlusion display
  Toggle permanent occlusions (stich) toggle stitch display
  Toggle stimulation site toggle stim display
  Toggle recording site (lead) toggle lead display
  Occlus Color select occlus color
  Stitch Color select stitch color
  Stim Color select stim color
  Lead Color select lead color
  Toggle All Points turn on/off point landmarks
Planes   toggle and select color for plane landmarks
  Toggle Plane toggle plane display
  Toggle Plane Transparency make plane transparent or opaque
  Plane Color select plane color
Points   toggle and select color for point landmarks
  Toggle rod toggle rod display
  Toggle recording needle toggle recneedle display
  Toggle pace needle toggle pace needle display
  Toggle fiber (lead) toggle fiber display
  Toggle cannula (lead) toggle cannula display
  Rod Color select rod color
  Recneedle Color select recneedle color
  Paceneedle Color select paceneedle color
  Fiber Color select fiber color
  Cannula Color select cannula color
  Toggle All Rods turn on/off rod-type landmarks
Toggle All Landmarks turn all landmarks on/off



Table 13: Controls for the attributes of the map3d windows.
Frame Control Menus
Lock Frames toggle whether frames operations affect one surface or all surfaces
Set Frame Interval    
  value select between 1 and 90 for frame animation step
  Command Line Interval use the value of interval specified in the -i option of the command line
Reset Frames to 0   positions the surface at the first position in time
Align meshes to this frame num   Positions all surfaces' frames to the current surface. What 'current surface' means will vary based on the status of the locks.



Table 14: Controls for the attributes of the map3d windows.
Window Attributes Menus
Screen info   select the text written to the screen
  Turn screen info on  
  Turn screen info off  
  Toggle Legend Window Turns on/off legend window
Color   select window colors with the separate color selector
  Background select background color for the window
  Foreground select foreground color for the window
Size   select some size options
  value set window to specified resolution
Axes   select options for axes
  Axes Color Select axes color
  Axes Placement select whether axes displayed per window or mesh
  Toggle Axes turn on/off axes
Toggle Transformation Lock   toggle whether surfaces transform together or independently
Save Mesh   save the current position of the surface in a .pts and a .fac file
Save Screen Shot   save a .png file of the currently-selected geometry window(s).


Following are the controls for the menus of the Time Signal Window, Legend Window, and Main Window, respectively.


Table 15: Controls for the attributes of the Time Signal Window.
Time Signal Window Controls
Axes Color Select Axes Color
Graph Color Color of data graph
Toggle Display Mode Shows values and graph or show larger graph



Table 16: Controls for the attributes of the Legend window.
Legend Window Controls
Orientation   Layout of information in Legend Window
  Vertical  
  Horizontal  
Number of Tick Marks   select number of ticks to appear on bar
  2,4,8 Either 2,4,8 ticks
  Match Contours Match number of contours in corresponding geometry



Table 17: Controls for the Legend Window Menu
Main Window Controls
Set Background Color Select bg Color
Set Foreground Color Select color of Main Window Text
Show Info Whether or not to show text info in the Main Window
Quit Map3D Quit Map3D
.



8.3 Controlling the time signal window

There are two ways to create a time signal window:

  1. Specify a -at xmin xmin ymin ymax on the command line (optionally with a -t trace-lead-number to specify the channel to use).
  2. Using picking to select a lead to show in the time signal window, when the current pick mode is time signal new-window mode or time signal refresh mode. Note that subsequent time signal picking can be set to either a) update the last time signal window to the new data channel or b) add yet another time signal window.

The format of the scalar display is fairly simple , with a vertical bar moving along the time axis as the frame number is advanced. map3d derives the time axis label from the frame numbers of the signal relative to the time series data file, not relative to the subset of frame read in, i.e., if frames (or pot file numbers) 10-20 are read in with an increment of 2, then frame number will begin at 10, and go through 12, 14, 16, 18 and end at 20 rather then beginning at 0 or 1 and going to 10 (the number of frames of data actually read).

There is also a menu item for adjusting the time base of the signal, manually aligning time across multiple windows, and setting the time increment between frames of data.


8.3.1 Adjusting the frame marker

In order to facilitate rapid movement through large datasets, the user can control the frame number being displayed by interacting with the scalar window itself. If the user moves the cursor to the scalar window and pushes the left mouse button, the vertical time bar will jump to the nearest sample to the cursor location. The user can then hold the left button down and slide the time marker left and right and set a desired frame. Once the mouse button is released,map3d updates the map display. The left and right arrow keys also shift the frame marker back and forth. The only other command allowed when the cursor is within the scalar window is the ``q''-key, to shut down just the scalar window, the ``f'' key, to toggle the frame lock, or the ``p'' key, to toggle the display mode. Any other attempt at input will not be accepted.


8.4 Color/Size Selection

It is frequently necessary to select color and size of elements of the map3d display and this, we have selection subwindows that appear as necessary and disappear upon selection.


8.5 Picking mode

By ``picking'' we mean selecting some piece of the display in the current window using the mouse (with buttons). map3d currently supports selection of nodes or triangles with different actions, all of which either return some information, affect the display, or even alter the geometry of the display. In version 5.4, the choices are limited to node information, triangle information, time signal displays, triangulation, triangle deletion, and triangle flipping. Note that picking is successful and the desired results occur only when there is one (no more, no less) hit. To aid in getting the one hit, you may adjust the picking aperture or activate the clipping planes. To control picking, use the top-level ``Picking'' menu. See Table 10 for the available options.

8.5.1 Time Signal (new window mode)

This mode opens up a new window and provides information about the node/channel. It tells the node number, channel number, the associated surface, the current frame number, and the value of the scalar data at the current time instance. In addition, it shows a graph of the scalar data associated with that node over time.

8.5.2 Time Signal (refresh window mode)

This mode provides the same information and graph as the new window mode, but displays the information in the most-recently created window (and creates one if one doesn't exist).

8.5.3 Node Information

This mode outputs information of the selected node to the console: Surface number, frame number, node number, channel number, current data value, and the X,Y,Z coordinates of the point (as read by the geometry file).

8.5.4 Triangle Information

This mode outputs information of the selected triangle to the console: Surface number, triangle number, and the numbers and X,Y,Z coordinates of the 3 triangle points (as read by the geometry file).


8.5.5 Triangle Construction (Triangulating) and Deletion

In this mode, the left mouse is used to select the nodes that you wish connected into a triangle. Note that each time you select a valid point a change is made to the geometry. The first valid point you will see a new point on the mesh. The second will be similar except there will be a line connecting the two points, and the third time will add the completed triangle to the geometry

Pushing CTRL-middle mouse button selects a triangle and kills it, removing it from the list.

8.5.6 Triangle flipping

Often it is necessary to know the orientation of the triangles in the geometry. While this can be computed, there remains a 180-degree ambiguity as to which way the normal points. To resolve this, triangles nodes should be ordered in a counterclockwise direction as viewed from the ``outside'' of the surface to which the triangle belongs. This convention is used by OpenGL to decide which triangles to show in ``hide backfacing triangles'' mode. Unfortunately, it is not always possible when constructing geometric models to tell which way the triangle is to be viewed--this is still something humans do better than computers--and so we often need to edit a geometric model so that the triangles are 'flipped' the right way. Hence, the ``Flip triangle'' option in the ``Picking'' menu.


8.6 Control of landmark display

There are some lighting and colour controls for the display of landmarks that are useful to know about. Table 12 describes all the specific menus mentioned here.

Coronary/Catheter:
these are controls to adjust color and visibility of the vessel type landmark, the ones we use for arteries and also for catheters. You can also switch from a rendered version of this landmark type to a wire mesh that is labeled according to segment numbers--a debugging tool when the vessels are not doing where you expect.
Points:
there are a range of point types in the landmark suite and this option allows you to control them turn them off and on, adjust color, etc.
Planes:
for the plane landmark, you can set color, but also the transparency level of the plane. Default is transparent and this usually works best.
Rods:
as with points, there are different rod type landmarks and with this menu you can control their visibility and color.
Toggle all landmarks:
this is the master switch and toggling it turns all the landmarks from on to off or vice versa.

Rob MacLeod 2003-02-10