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.
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.
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.
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.
 |
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 |
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:
- Specify a -at xmin xmin ymin ymax on the command line
(optionally with a -t trace-lead-number to specify the
channel to use).
- 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.
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.
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).
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).
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.
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