Creating and Using Spectral Display Windows


Spectral display windows are the windows in which contour plots of planes of spectra and 1D vectors of spectra can be displayed.

Adding Spectral Display Windows

New spectral display windows can be created either through the pop-up panels in the NMRView GUI or through Tcl commands. The spectral display window is implemented as a new Tk widget that is specialized for the display of NMR data. Accordingly, the actual names used for the windows follow the hierarchical, dot-separated, naming scheme of Tk. Both, the GUI interface for creating windows, and the NvMkSpectrum command hide this from the user. For example, if one uses either interface to create a window named noesy, a new toplevel window will be created named .noesy, and will contain within it a Tk spectrum widget named .noesy.0. The full name must be used when the windows are referred to using explicit Tcl commands.

Using the Graphical Interface

To create a new spectral window using the NMRView GUI choose Add from the Windows entry of the Control Panel menu bar. The following panel will appear.

Create
Click on this to create a new spectral window with the name specified in the text field of this panel. A new window will be created and the windowAdd panel will close.

If the name specified is already in use by another spectral window a new spectral window will be added within the toplevel frame occupied by the existing window. The new window will be added to the right of the existing windows, and all the windows will adjust their sizes so that they equally divide the toplevel window. This only works, however, if the previous windows in that toplevel were created with the Row and Column entries set to 1.

Close
Click on this entry to close the panel without opening a new window.

A grid of windows can be created within a single toplevel window by setting the Rows and Columns entries to values greater than 1. For example, to create 6 windows layed out in two rows and three columns set Rows to 2 and Columns to 3. All the windows will appear in a single toplevel window.

Using Tcl Commands

Spectral windows can also be created using Tcl commands. The most convenient alternative is to use the NMRView procedure NvMkSpectrum. This command takes one or two arguments. The first argument is the name of the window to be created. Thus, a window containing a spectrum widget can be created by simply typing NvMkSpectrum noesy. If one intends to subsequently pack additional spectrum widgets into the same toplevel window, the second argument should be specified to indicate the packing direction. If windows are to be added horizontally, the direction should be left or right, to pack windows against the left or right sides of the toplevel window. If windows are to be added vertically, the direction should be top or bottom, to pack windows against the top or bottom of the toplevel window. A powerful alternative, is to create an array of windows automatically. In this case, the second argument specifies the number of rows and columns of windows to be created. Thus, NvMkSpectrum hmqc 2x4 would create a toplevel window with 2 rows, each containing 4 spectrum widgets.

For example, NvMkSpectrum noesy, or NvMkSpectrum noesy left will create a new toplevel window named .noesy and will pack a spectrum widget, named .noesy.0 in it against the left side. NvMkSpectrum cosy top will create a new toplevel window named .cosy and pack a spectrum widget , named .cosy.0 against the top side.

The lowest command level available to the user for creating a spectrum widget is the spectrum command which simply creates a new spectrum widget. If the "spectrum" command is used it is the users responsibility to decide what toplevel widget the window is to be displayed in and to explicitly use a Tk geometry manager such as the "pack" command to cause it to be displayed. To create a toplevel window with three spectra in it from left to right, the following commands would be used.

 frame .noesy
 pack .noesy
 spectrum .noesy.0
 spectrum .noesy.1
 spectrum .noesy.2
 pack .noesy.0 noesy.1 noesy.2 -side left.
 
 

While this latter method is the most complicated, it also is the most flexible. Spectrum widgets can be packed into toplevel windows along with all sorts of other widgets such as buttons, lists, menus, text or canvases, to create very powerful interfaces.


Display Modes

Most parameters effecting the display mode of spectra are specified in the spectral attributes panel. Spectra may be displayed as 1D vectors or as 2D slices. The 1D vectors can be displayed in a horizontal orientation (1Dx) or a vertical orientation (1Dy). These display modes (1Dx, 1Dy, and 2D) are selected with the pull down choice in the spectral attributes window. Also, in 2D contour plot mode you can display a 1D vector slice superimposed on the contour plot (seed 2D mode below).

In mode 1Dx, the two x values specify the plot limits of the vector. The y, z and z2 values specify the particular vector in the 2,3 or 4D matrix. If a range of values is specified for y, z or z2, all the vectors between those values will be drawn. In mode 1Dy, the two y values specify the plot limits of the vector. The x, z and z2 values specify the particular vector in the 2,3 or 4D matrix. In the 1D modes the value specified in the Scale entry, specifies the intensity difference between the maximum and minimum axes. The value specified in the Zero entry, specifies the point (as a fraction from zero to one, at which a value with intensity zero will be displayed. For example, in mode 1Dx, with Scale set to 100 , and Zero set to 0.5, the the y-axis range is from -50 to +50. With Scale set to 100, and Zero set to 0.0, the y-axis range is from 0 to 100.

In 2D mode the spectra are displayed as contour plots. The panel entry, Level, specifies the intensity of the lowest contour that will be drawn. The panel entry, LvlMul, specifies the ratio of intensities of subsequent contours. The panel entry, #Lvls, specifies the maximum number of contours to display. The x values specify the plot limits along the x-axis. The y values specify the plot limits along the y-axis. In 2D mode "real-time" slices can be displayed that track the position of crosshair cursor 1 (the black crosshair). Slices can be in the x, y, z or (z2 NOT YET) dimension of the spectrum. X and Z slices are drawn parallel to the X axis of the window. Y and Z2 slices are drawn parallel to the Y axis of the window. The slice is continuously updated as the cursor is moved.

For 3 and 4D spectra the specific planes to be drawn are specified with the z and z2 (for 4D spectra) values. If a range of values for z and/or z2 are specified, all planes between the two specified values (inclusive) are drawn. The file dimensions and the display dimensions can correspond in any desired manner. The pull down choice box following the x and ydisplay entries is used to specify which dataset dimension is specified on the particular axis.

Interrupting Contour Plots

A few seconds after a contour plot is initiated a Cancel button will appear in the upper left hand corner of the plot. Click on this button to interrupt the plot in progress. The plotting should stop shortly.

Cursors

The cursor in the spectral display window can server a variety of functions. The default function is to move the crosshairs. Each spectral window may have two crosshairs. Clicking the LEFT mouse button in a spectral window displays crosshair 1, which is generally colored black. Clicking the MIDDLE mouse button in a spectral window displays crosshair 2, which is generally colored red. Crosshair 1 may be moved by pointing the mouse cursor near the vertical or horizontal lines of the crosshair, pressing the LEFT mouse button and dragging the cursor to the desired position. The vertical and horizontal lines of the crosshair may be moved independently. The crosshair lines only move if the mouse button is depressed when the mouse cursor is within about 1/2 inch of the crosshair line. To move both lines of the crosshair press the mouse button down when the cursor is near the intersection of the two lines. Crosshair 2 is moved in an analogous fashion by pressing the MIDDLE mouse button and dragging the cursor. As the crosshairs move, the current position of both crosshairs is displayed in ppm at the top of the window. The difference between the two cursor positions in Hz is also displayed.

Alternative functions for the cursor involve interactive peak editing and can be selected by selecting the cursor pull-right menu in the Spectrum Window Pop-Up Menu.

Crosshair Correlation

The crosshair in different windows automatically track each other in what is generally an appropriate manner. No commands are required to start correlated crosshair tracking. Crosshair correlation is dependent on the label given to each axis of the spectrum during the referencing process. For example, consider the case where 5 windows are open, with axis labels as indicated below.

Window-Name X-axis-Label Y-axis-Label

a 15N 1HN

b 13C 15N

c 1H1 1H2

d 1HN 13C

e 15N 1HN

If a vertical crosshair moves in window "a", the horizontal crosshair of window "b" and the vertical crosshair of window "e" will move. If the horizontal crosshair of window "a moves, the vertical crosshair of window "d" and the horizontal crosshair of window "e" will move. The crosshair in each window only tracks the motion of the moved crosshair if the plot limits of the window overlap the position of the moved crosshair. Crosshair tracking can be disabled in a window by changing the window's axis label(s).

Keypad Navigation

You can quickly navigate around spectra and peak-lists using keys on the auxiliary keypads of the keyboard. To use this feature the cursor must be in the active window.

Numeric Keypad
Use the numeric keypad to zoom and pan the spectrum as follows.
1
Pan down and to the left.
2
Pan down.
3
Pan down and to the right.
4
Pan left.
5
Shift view to center on crosshair position.
6
Pan right.
7
Pan up and to the left.
8
Pan up
9
Pan up and to the right.
-
Zoom out.
+
Zoom in.
Cursor Keys
Use the cursor keys to move up or down planes in 3D and 4D spectra, or increment or decrement rows and columns in 1D displays of 2D,3D or 4D spectra.
Down Arrow
1Dx: Move up a row.

3D,4D Spectrum: Move Down a plane.

Up Arrow
1Dx: Move down a row.

3D,4D Spectrum: Move Up a plane.

Left Arrow
1Dy: Move left a column.

4D Spectrum: Move Down a Z2 plane.

Right Arrow
1Dy: Move right a column.

4D Spectrum: Move Up a Z2 plane.

Paging Keys
Use the Insert,Delete,Home,End,PageUp and PageDown keys to navigate peaklists. Currently not functional in 3.0.
Insert
Undelete the current peak.
Delete
Delete the current peak.
Home
Move to the first peak of current list.
End
Move to the last peak of current list.
PageUp
Move to the previous peak of current list.
PageDown
Move to the next peak of current list.

Spectral Attributes Panel

This panel provides controls to specify how the spectrum will be displayed in the window. The window header will indicate the name of the window whose attributes are being set, and the name of the dataset currently assigned to the window. This panel is selected by choosing the Attributes entry of the Spectral Display Menu.

Across the top of the panel is a menu bar that provides access to a variety of options to control the spectral display.

File
This menu provides control of the dataset displayed in the window, and draw and close options.
Dataset
This command brings up a panel displaying a list of currently opened files. Click SELECT to highlight the desired dataset. Then click SELECT on the "Select" button to assign this file to the spectral display window. This can also be accomplished by double-clicking SELECT on the desired filename. Click SELECT on the "Cancel" button to close file selection window.
Close
Select this command to close the "Spectral Attributes" window.
Colors
Select colors for positive and negative contours.
Positive
Use this entry to pull down a list, "None, Black, White, Red ..." to specify what color to use when drawing positive contour levels. If "none" is selected positive contour levels will not be drawn.
Negative
Use this entry to pull down a list,, "None, Black, White, Red ..." to specify what color to use when drawing negative contour levels. If "none" is selected negative contour levels will not be drawn
Dimensions
This menu provides control of whether the spectral display is a one dimensional vector drawing, or a two dimensional contour plot.
1Dx
In this mode the the spectrum is displayed as one or more one-dimensional vectors in a horizontal orientation.
1Dy
In this mode the the spectrum is displayed as one or more one-dimensional vectors in a vertical orientation.
2D
In this mode the the spectrum is displayed as a two-dimensional plot.
Mode
The selected entry in this menu determines whether or not contour data is read from the matrix or a contour file..
Live
Data for the contour plot is obtained from the matrix file.
Record
Data for the contour plot is obtained from the matrix file, but the contours are recorded in a file for future playback. Only those planes that are actually drawn while in this mode are recorded.
Play
Data for the contour plot is obtained from the contour file that was created in record mode.
Misc.
Various items are controlled from this menu.
AutoClear
If this item is active (the default), the spectral display window will be cleared prior to the display of the contour plot. If inactive, the next contour plot will overlay the current plot.
AutoLvl
Select this entry to automatically estimate a contour level appropriate to the dataset assigned to this window.
Draw
Click on this button to draw the spectrum.

The next region of the panel provides three text boxes to specify the contour level, the ratio between subsequent contours, and the number of contour levels to draw.
Lvl
Type an entry in this box to specify the level at which contours are to be drawn. This value is multiplied by a global scale parameter (set in the Prefs dialog, default 1e6) to generate the actual value that is used. The up and down arrows provide a convenient means to increment or decrement the contour level. Clicking on the up arrow raises the contour level to a value equal to the current level times the current value of the multiplier (the value in the next field). Clicking on the down arrow lowers the contour level to a value equal to the current level divided by the current value of the multiplier (the value in the next field).
Mul
Select a value using the slider to specify the ratio between subsequent contour levels. For example, a value of 1.5 means that each contour will be 1.5 times as high as the previous one.
NLvl
Select a value using the slider to specify the maximum number of contours to be drawn.
Scale
Type an entry in this box to specify the scale value at which 1D slices are to be drawn. This value is multiplied by a global scale parameter (set in the Prefs dialog, default 1e6) to generate the actual value that is used. The up and down arrows provide a convenient means to increment or decrement the scale level. Clicking on the up arrow raises the scale level to a value equal to the current level times the current value of the multiplier (the value in the next field). Clicking on the down arrow lowers the scale level to a value equal to the current level divided by the current value of the multiplier (the value in the next field). Whenever the Level value is changed the Scale value is changed to be 10.0 times the Level value as this generally provides good results.
Xoff
Select a value using the slider to specify the offset position(from 0.0 to 1.0) at which X (and Z) slices are drawn. be drawn.
Yoff
Select a value using the slider to specify the offset position(from 0.0 to 1.0) at which Y (and Z2) slices are drawn. be drawn.

The next section of the panel controls the plot limits.

X
Press the Left Mouse button over the X to pop-up a menu of predefined plot limits, or enter values in the next two text fields to set the plot limits (in ppm) for the x (horizontal) axis. If the entry is followed (without an intervening space) by a "p", then the value is considered to be in units of points of the dataset. The minimum and maximum plot limits can be entered in either order. These values are automatically set to give the full spectrum when a new dataset is assigned to this window.

The text in the third field is used as a label for the x (horizontal) axis. This value is used to label the axis on hard copy plots, is used for determining the correlation of cursors between different windows (see cursors, below), and is used during peak-picking and peak display (see Peak Picking, below). This is automatically set to the value assigned to the corresponding dimension (see below) during the referencing of the matrix, but can be changed by entering a new value in this field. 1(2,3,4) Hold down MENU over this item to select the dimension of the matrix to be displayed on x axis.

Y
Press the Left Mouse button over the Y to pop-up a menu of predefined plot limits, or enter values in the next two text fields to set the plot limits (in ppm) for the y (horizontal) axis. If the entry is followed (without an intervening space) by a "p", then the value is considered to be in units of points of the dataset. The minimum and maximum plot limits can be entered in either order. These values are automatically set to give the full spectrum when a new dataset is assigned to this window.

The text in the third field is used as a label for the y (vertical) axis. This value is used to label the axis on hard copy plots, is used for determining the correlation of cursors between different windows (see cursors, below), and is used during peak-picking and peak display (see Peak Picking, below). This is automatically set to the value assigned to the corresponding dimension (see below) during the referencing of the matrix. 1(2,3,4) Hold down MENU over this item to select the dimension of the matrix to be displayed on y axis.

Z
Press the Left Mouse button over the Z to pop-up a menu of predefined plot limits, or enter values in the next two text fields to set the plot limits (in ppm) for the z (3rd Dimension) axis. If the entry is followed (without an intervening space) by a "p", then the value is considered to be in units of points of the dataset. The minimum and maximum plot limits can be entered in either order. These values are automatically set to display the full range of planes when a new dataset is assigned to this window. If the return key is pressed in the first Z field, then the second field will be set to the same value. The popup menu has a convenient entry to select the first or last plane. The spectral display window will be cleared prior to drawing the first plane (if AUTOCLEAR) is set. Subsequent planes will be overlaid on top of the first plane. To draw a single plane, set both values equal to each other.
Z2
Press the Left Mouse button over the Z2 to pop-up a menu of predefined plot limits, or enter values in the next two text fields to set the plot limits (in ppm) for the z2 (4th Dimension) axis. If the entry is followed (without an intervening space) by a "p", then the value is considered to be in units of points of the dataset. The minimum and maximum plot limits can be entered in either order. These values are automatically set to display the full range of planes when a new dataset is assigned to this window. If the return key is pressed in the first Z2 field, then the second field will be set to the same value. The popup menu has a convenient entry to select the first or last plane. The spectral display window will be cleared prior to drawing the first plane (if AUTOCLEAR) is set. Subsequent planes will be overlaid on top of the first plane. To draw a single plane, set both values equal to each other.
ZoomBox
The zoombox in the lower right corner of the spectrum provides a graphical view of the current display region. The display region can also be changed by interactively dragging the zoombox around. The current display region is shown as the blue box. The position of the view can be adjusted by pointing the cursor near the middle of the box, holding the left mouse button down, and dragging the blue view box around. The size of the view region can be adjusted by pointing the cursor near an edge of the box, holding the middle mouse button down, and dragging the side to its desired position.

Select Dataset

Before drawing a spectrum you must associate a particular dataset with the spectral window. To do this choose "Dataset" from the "Files" menu of the Spectral Attributes Panel. This brings up the following panel. Alternatively, you can use the win -dataset command.

The panel lists all datasets that have been opened.

OK
Associate the selected dataset with the spectral window. The panel is then closed.
Cancel
Close this panel without specifying a dataset for the spectral window..

Spectral Display Menu

Hold down MENU (the right mouse button) within a spectral display window to display this menu.

Attributes
This command will open up the spectral attributes window. If the window is already open it will set it to display the attributes for the active spectral window.

View
The commands in this menu allow the user to change the region of the spectrum that is displayed in this window.
Draw
Draw the current view.
Expand
This command changes the plot limits to include the region bounded by the two crosshairs and redraws the spectrum.
Previous
This command changes the plot limits to that which was active prior to the last expansion and redraws the spectrum. The previous 8 views are saved so the user can return to them with this command.
Full
This command changes the plot limits to that of full spectral width for each of the two displayed dimensions and redraws the spectrum.
Center
Center the current view on the crosshair cursor (number 1).
Swap
This command exchanges the view limits for the two displayed dimensions and redraws the spectrum. The result is to display the view across the diagonal from the current view. This command is only appropriate for 2D homonuclear spectra
Edit
This menu provides commands to copy display attributes from one window to another.
Copy
This command saves the display attributes of the current window into the copy buffer.
Paste
This command sets the display attributes of the current window to those in the copy buffer.
Cursor
This menu can be used to switch between different cursor modes. The use of the crosshair cursors is described in the section on Cursors. The use of the PeakAdjust, PeakAdd and PeakDelete modes is described in the section on Interactive Peak Editing.

Crosshairs
This is the default. Moving the cursors moves crosshairs.
PeakAdjust
The cursor can be used to adjust the position of peak boxes.
PeakAdd
The cursor can be used to interactively add peaks at the cursor position.
PeakDelete
The cursor can be used to interactively delete peaks at the cursor position.
Slice
Use this menu to turn on "real time" 1D slices overlayed on the 2D contour plot. Any and all slices may be on simultaneously.
Xslice
Display a slice through the dataset dimension displayed specified for the X axis of the spectral display.
Yslice
Display a slice through the dataset dimension displayed specified for the Y axis of the spectral display.
Zslice
Display a slice through the dataset dimension displayed specified for the Z axis of the spectral display.
Z2slice
Display a slice through the dataset dimension displayed specified for the Z2 axis of the spectral display.
Peak
This menu provides commands that allow the user to pick and display peaks.
PeakPick
This command opens up a control window for peakpicking.
Search
This command searches through all the displayed planes of a 3D spectrum to find the planes that contain signals above the contour level.
Showpeaks
This command displays (in the current window) boxes and labels at the positions of each of the peaks in the active peak list.
Attributes
This command opens up a attribute panel that controls peak display.
Misc
This menu provides commands control plotting and grid display.
Plot
Select this entry to display a plotting dialog with controls for making plot files of the active window.
Grid
This command causes a grid of points to be displayed on the active window. The position of each point corresponds to the location of an actual data point in the dataset displayed in the window. The grid will be drawn each time the window is redisplayed. Selecting this command a second time will turn off the grid display. This is very slow if the plot region is large. It is based for small areas to observe the digitization around a one or a few peaks.
Unify
This command is only active if more than one spectral window is present in a single toplevel window. If this is the case then selecting it will cause all the windows within the single toplevel to be drawn with the same plot limits and contour level as that of the active window.


Plotting Spectral Display Windows

To plot spectra select the Misc->Plot entry from the Spectrum display window puop-up menu. The following plotting dialog will appear.

Labels
Use these entries to specify the labels that will be drawn on the plot.
xLabel
The label that will be drawn on the x axis of the plot. By default the label for the x axis of the spectrum is used.
yLabel
The label that will be drawn on the y axis of the plot. By default the label for the y axis of the spectrum is used.
title
The label that will be drawn on the title of the plot. By default the name of the dataset that is assigned to the spectal window is used.
Plot Positions
Use these entries to specify the position of the spectral plot on the paper. At present, the units are in inches.
XPos
The position of the left edge of the plot relative to the left edge of the paper.
YPos
The position of the lower edge of the plot relative to the lower edge of the paper.
Width
The width of the plot.
Height
The height of the plot.
Output Device
Use these entries to control the format and file for the plot output.
Postscript
Select this button to specify that the plot output should be Postscript.
HPGL
Select this button to specify that the plot output should be HPGL. Note that this output is probably not suitable for sending to an actual plotter. The contour algorithm used in NMRView is optimized for speed not for keeping the pen on the page. This format can be used for importing the output file into some software programs.
Plotfile
Specifiy the name of the file that the output will be written to.
Autoprint
Check this button to automatically send the file to the default printer. Only works with UNIX systems that use the lpr command for printing.
Command Buttons
Plot
Plot the active spectrum.
PlotAll
Plot all the spectral windows contained in the toplevel window that contains the active spectrum. The spectra will appear on a single page in the relative positions they occupy in the toplevel window.
Close
Close the plot window.

Managing Spectral Display Windows

Regardless of the method used to create spectrum widgets, each such widget will be listed in the Spectrum Manager. You can use this GUI to delete existing windows and bring them to the front with the controls in this panel.

Close
Dismiss this panel.
Delete
Delete the spectral window that is selected in the window list above.
To Front
Bring the spectral window that is selected to the front of the display.
Last revised 29 Feb 1996