# file: wave.info G. Moody 21 August 1990 # Last revised: 16 September 2002 WAVE 6.5 # XView spot help file for `wave' # # ----------------------------------------------------------------------------- # WAVE: Waveform analyzer, viewer, and editor # Copyright (C) 2002 George B. Moody # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software # Foundation; either version 2 of the License, or (at your option) any later # version. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. # # You should have received a copy of the GNU General Public License along with # this program; if not, see . # # You may contact the author by e-mail (wfdb@physionet.org) or postal mail # (MIT Room E25-505A, Cambridge, MA 02139 USA). For updates to this software, # please visit PhysioNet (http://www.physionet.org/). # _____________________________________________________________________________ :file:url_view /usr/help/html/wug/node64.htm This button opens a pull-down menu containing selections for loading, saving, printing, analyzing, and logging database files. # :file.load:url_view /usr/help/html/wug/node65.htm This selection pops up a window in which you can enter a new record or annotator name, or change the name of the WFDB calibration file or the value of the WFDB path within this window. # :file.load.record Specifies the name of the record to be viewed. The initial value of this field is the name of the record that you specified on the command line. To view another record, select this field and enter another record name. Your edits, if any, are saved automatically whenever you change records. Only one level of backup is preserved, so you will overwrite the original annotation file if it is in the current directory and you open the same annotator more than once. # :file.load.annotator Specifies the name of the annotator whose annotations are shown. If you specified an annotator on the command line, the annotator name is the initial value of this field; otherwise, the field is initially empty. Fill in or change this field to view or edit a different set of annotations. Your edits, if any, are saved automatically whenever you change records. Only one level of backup is preserved, so you will overwrite the original annotation file if it is in the current directory and you open the same annotator more than once. # :file.load.calibration_file:url_view /usr/local/help/html/wag/wfdbca-5.htm Specifies the name of the WFDB calibration file (a text file containing information on the relative scales of many types of signals). Include path information in this field only if the WFDB calibration file is not found in the WFDB path. # :file.load.wfdb_path Specifies the search path for WAVE's input files. Components are directory names, separated by colons (`:'). An empty component (either an initial or final colon, or two consecutive colons) specifies the current directory. If `%r' appears in the WFDB path, it is replaced by the current record name. # :file.save If there are unsaved edits, this selection saves them. The annotator name in the title bar is marked with parentheses if there are unsaved edits. # :file.print:url_view /usr/help/html/wug/node15.htm This selection prints the contents of the signal window on paper. The output is made from the original signal files, and therefore is of better quality than a screen dump would be. Your edits, if any, are saved before printing, so that the output reflects any changes you have made. # :file.printsetup:url_view /usr/help/html/wug/node66.htm This selection pops up a panel that shows the commands WAVE uses to print PostScript and text data from the standard input. You may change these commands (for example, to specify use of a different printer) by typing the desired commands into the appropriate fields on the panel. # :file.printsetup.psprint WAVE supplies any PostScript data to be printed (such as the chart generated when you choose Print from the File menu) to the standard input of this command. You may change this command (for example, to specify use of a different printer). # :file.printsetup.textprint WAVE supplies any text to be printed (such as on-line help) to the standard input of this command. You may change this command (for example, to specify use of a different printer). # :file.analyze:url_view /usr/help/html/wug/node67.htm This selection pops up a panel containing a set of buttons, and a terminal emulator window. The names of the buttons and their assigned actions are read from a configuration file (by default, `wavemenu' if it exists in the current directory, otherwise /usr/local/lib/wavemenu.def; this may be overridden by setting the environment variable WAVEMENU to the name of a different file). The buttons are usually configured to perform various analysis functions on the current record; read /usr/local/lib/wavemenu.def for details. # :file.analyze.< Press this button to shift the segment to be analyzed in the direction of the beginning of the record, without changing the duration of the segment. The current `Start:' becomes the new `End:', unless doing so would require shortening the length of the segment. # :file.analyze.start This field specifies the elapsed time from the beginning of the record to the beginning of the segment to be analyzed. You may enter a time directly in this field, or you may insert a `<' marker using the standard procedure for inserting annotations. To enter a time in sample or counter intervals, enter `s' or `c' in this field, followed by the desired number of intervals. Examples: s123 sample number 123 c20 counter number 20 WAVE converts your entry to hh:mm:ss format when you press RETURN. # :file.analyze.astart This field specifies the time of day of the beginning of the segment to be analyzed. You may enter the time directly in this field (in 24-hour clock format), or you may insert a `<' marker using the standard procedure for inserting annotations. To set both date and time, change the date first, then the time. # :file.analyze.dstart This field specifies the date of the beginning of the segment to be analyzed. If you change this field, the start time will change to midnight or to the time of the beginning of the record, whichever is later. To set both date and time, change the date first, then the time. # :file.analyze.end This field specifies the elapsed time from the beginning of the record to the end of the segment to be analyzed. You may enter a time directly in this field, or you may insert a `>' marker using the standard procedure for inserting annotations. To specify the end of the record, enter `e' in this field. WAVE converts your entry to hh:mm:ss format when you press RETURN. To enter a time in sample or counter intervals, enter `s' or `c' in this field, followed by the desired number of intervals. Examples: s123 sample number 123 c20 counter number 20 # :file.analyze.aend This field specifies the end of the segment to be analyzed, expressed as absolute time of day. You may enter a time directly in this field, or you may insert a `<' marker using the standard procedure for inserting annotations. To set both date and time, change the date first, then the time. # :file.analyze.dend This field specifies the date of the end of the segment to be analyzed. If you change this field, the end time will change to midnight or to the time of the beginning of the record, whichever is later. To set both date and time, change the date first, then the time. # :file.analyze.> Press this button to shift the segment to be analyzed in the direction of the end of the record, without changing the duration of the segment. The current `End:' becomes the new `Start:', unless the current `End:' is already at or beyond the end of the record. # :file.analyze.signal This field specifies the selected signal. You may enter a signal number directly in this field, or you may point to a signal, depress the key, and click left to select the signal. In the WAVE menu, the symbol $SIGNAL refers to the signal number of the selected signal; this symbol usually specifies a signal to be analyzed. The name of the selected signal appears to the right of its signal number. The uppermost signal displayed by WAVE is signal 0. # :file.analyze.signal_list This field specifies the signal list (a list of signal numbers, separated by spaces). In the WAVE menu, the symbol $SIGNALS refers to the signal list; this symbol usually appears where a list of signals to be analyzed is required. To change the signal list, either type into this field, or point to a signal, press and hold the (to add the signal to the list) or the key (to delete the first occurrence of the signal from the list), and click left. # :file.analyze.show_scope_window:url_view /usr/help/html/wug/node77.htm This button pops up WAVE's Scope window, which can be used to display a signal in `oscilloscope' mode. # :file.analyze.show_command_window:url_view /usr/help/html/wug/node16.htm This button pops up a terminal emulator window that receives commands generated by selecting most of the other buttons in this window, and that displays any text output of those commands. You may type commands directly into the window. # :file.analyze.edit_menu:url_view /usr/help/html/wug/node35.htm This button allows you to edit the menu configuration file for this panel, using the text editor named in the EDITOR environment variable (or `textedit' if EDITOR is not set). After you have saved your changes, select `Reread menu' to reconfigure this panel. # :file.analyze.reread_menu:url_view /usr/help/html/wug/node35.htm Select this button to reconfigure this panel after you have made changes to the menu configuration file (most easily done by using the `Edit menu' button) or after changing records. # :file.analyze.reload Click on this button to force WAVE to reload its input (signal and annotation) files. WAVE waits for any foreground commands in the Analysis Commands window to finish before reloading. # :file.analyze.analysis_button This button performs an action determined by the WAVE analysis menu file. If the environment variable WAVEMENU is set, it names that file; otherwise, `wavemenu' (if it exists in the current directory) or `/usr/local/lib/wavemenu.def' is the analysis menu file. # :file.log:url_view /usr/help/html/wug/node68.htm This selection pops up a window that allows you to name a log file, and to record in that file the current record name and start and end time entries from the main panel, along with a one-line comment. Log files may be used as scripts for `pschart'. You may write to as many log files in a single session as you choose, and you may accumulate entries from multiple sessions in a single log file. Your entry is not recorded unless you press the `Add' button on the log panel. If you press the `>>' button, WAVE will review the log, displaying the waveforms associated with each entry and pausing between entries. The review can be stopped by pressing `Pause'. # :file.log.file This field names the current log file. # :file.log.load Press this button to load (or reload) the log if an external process (such as one started from the Analyze panel) creates or modifies the log file. # :file.log.description This field contains the description associated with the current log entry. # :file.log.review_delay Adjust the slider to set the length (in seconds) of the pause between log entries while using the `<<' or `>>' buttons to review the log. # :file.log.add This button adds an entry containing the time, the record name, and the description to the log file. If an annotation or marker has been selected (i.e., if it is shown marked with a box), that annotation will be selected whenever the entry is redisplayed. # :file.log.replace This button replaces the description attached to the current log entry with the current contents of the description field. It does not create a new entry (use the `Add' button for that purpose). # :file.log.delete This button deletes the current entry from the log. This button also causes WAVE to display the next log entry if it exists. # :file.log.edit This button is currently non-functional. # :file.log.|< This button causes WAVE to show the first log entry. # :file.log.<< This button causes WAVE to begin reviewing each entry in the log file in reverse order, pausing between entries. While a review is in progress, only the Pause button is enabled. Adjust the length of the pause (in seconds) using the `Delay' slider. # :file.log.< This button causes WAVE to show the previous log entry. # :file.log.pause This button causes WAVE to stop the review of the log file that was begun by the `<<' or `>>' button. This button is disabled unless a review is in progress. # :file.log.> This button causes WAVE to show the next log entry. # :file.log.>> This button causes WAVE to begin reviewing each entry in the log file, pausing between entries. While a review is in progress, only the Pause button is enabled. Adjust the length of the pause (in seconds) using the `Delay' slider. # :file.log.>| This button causes WAVE to show the last log entry. # :view:url_view /usr/help/html/wug/node69.htm This button pops up the View window, which allows you to choose (or merely examine) display scales, grid styles, and annotation, signal, and time display styles. Changes are not effective until the signal window is redrawn. # :view.show Toggle these options by selecting them. Multiple annotation fields are shown in the following arrangement: annotation mnemonic subtype `chan' field `num' field `aux' field Signal names and baselines are defined in the header file. Markers show the precise locations of all annotations. Levels show the amplitudes of each signal at the time indicated by the pointer, whenever a mouse button is depressed. Changes are not effective until the signal window is redrawn. # :view.time_scale Choose the horizontal scale by selecting one of the choices. You can check the calibration of the display by enabling the 0.2 s or 0.2 s x 0.5 mV grid, and then by measuring the spacing of the grid lines. If the spacing is incorrect, your X server does not know the actual display resolution. See your X server documentation if this is the case, or use the -dpi option when starting `wave' (start `wave' with no arguments for instructions). # :view.amplitude_scale Choose the vertical scale by selecting one of the choices. You can check the calibration of the display by enabling the 0.5 mV or 0.2 s x 0.5 mV grid, and then by measuring the spacing of the grid lines. If the spacing is incorrect, your X server does not know the actual display resolution. See your X server documentation if this is the case, or use the -dpi option when starting `wave' (start `wave' with no arguments for instructions). # :view.draw Use this control to toggle WAVE's signal display mode. By default, WAVE displays all signals in order of signal number, with signal 0 at the top of the signal window. If you select `listed signals only', WAVE displays only those signals that appear in the signal list (on the Analyze panel). Changes are not effective until the signal window is redrawn. # :view.show_annotations Use this menu button to choose how annotations are to be displayed. By default, WAVE displays annotations in the center of the signal window. If you select `attached to signals', each annotation appears near the signal specified by its `chan' field. If you select `as a signal', WAVE draws a signal derived from the `num' fields of any annotations in the window, in place of the standard annotation display. Changes are not effective until the signal window is redrawn. # :view.overlap Use this menu button to control the display of long annotation text. By default, WAVE will truncate the display of annotation text that is longer than 3 characters, if it would overlap the display of another annotation. Choose `allow overlap' if you wish to have WAVE display as much of the text as will fit in the screen (text may still be truncated at the right edge of the signal window). Changes are not effective until the signal window is redrawn. The full text (up to 80 characters) of the currently selected annotation, if any, appears in the footer of the signal window (at left). Move the pointer just to the left (or right) of an annotation and click right (or left) to select it. # :view.time_display By default, WAVE displays elapsed time from the beginning of the record in hh:mm:ss format. Use this control to select display of absolute time (if defined for the record), or to display time in sample intervals. If you select absolute time display, you may enter absolute times in the Find and Analyze panels. Changes are not effective until the signal window is redrawn. # :view.grid Use this menu button to select a grid style. Changes are not effective until the signal window is redrawn. # :view.undo This button cancels any changes you have made to the View window settings and restores the indicators to reflect the current settings. # :view.redraw This button causes WAVE to accept any changes you have made in the View panel. Pressing the `Redraw' button dismisses the View window and refreshes the signal window. # :view.save_as_new_defaults:url_view /usr/help/html/wug/node61.htm This button causes WAVE to record the current View panel settings in your .Xdefaults file (at the same time erasing any comments in that file). These settings become the new defaults for your future WAVE sessions. :edit:url_view /usr/help/html/wug/node70.htm This button brings up the Edit menu, which allows you to specify if annotation editing is to be allowed or forbidden. By default, editing is forbidden when WAVE starts up. # :edit.allow_editing This selection allows you to make changes to the annotation buffer. By default, editing is forbidden when WAVE starts up. # :edit.view_only This selection disallows annotation editing. You may still edit `<', `:', and `>' markers. # :prop:url_view /usr/help/html/wug/node71.htm This button brings up the Properties menu, with selections for obtaining information about the current signal and annotation files and about this version of WAVE. # :prop.signals:url_view /usr/local/help/html/wag/wfdbde-1.htm This selection pops up a window containing information about the signals of the current record, obtained by running `wfdbdesc'. # :prop.annotations:url_view /usr/local/help/html/wag/sumann-1.htm This selection pops up a window containing a summary of the contents of the annotation buffer, obtained by running `sumann' (after saving any edits). # :prop.wave This selection pops up a window containing the version number and installation date of this version of WAVE. This window may also contain news about recent changes in WAVE. # :" buttons. # :find.start_time Specifies the time of the sample shown at the left edge of the signal window, in the format specified by the `Time display' item in the View window. Go to any other part of the record by entering the time in this field. Time can be entered in h:m:s format, with hours or hours and minutes omitted, or in sNNNNN format, in which NNNNN is a number of sample intervals from the beginning of the record. # :find.end_time Specifies the elapsed time from the beginning of the record to the sample shown at the right edge of the signal window, in hours, minutes, and seconds. Go to any other part of the record by entering the time in this field. Time can be entered in h:m:s format, with hours or hours and minutes omitted, or in sNNNNN format, in which NNNNN is a number of sample intervals from the beginning of the record. # :find.search_for Specifies a target for the "< Search" and "Search >" buttons. Changing this field causes an immediate forward search. The contents of this field should match an annotation or marker mnemonic, signal quality code, rhythm, comment, or other text string, or one of the following: *v to match any ventricular ectopic beat *s to match any supraventricular ectopic beat *n to match any other beat type * to match any annotation or marker . to match a deletion made during this edit # :find.more_options:url_view /usr/help/html/wug/node75.htm This button clears the contents of the "Search for" field and opens the Search Template window. # :> This button scrolls the signal window towards the end of the record, by an amount equal to half of the width of the signal window. # :>> This button scrolls the signal window towards the end of the record, by an amount equal to the width of the signal window (i.e., a full screen). # :search> This button recenters the signal window on the next occurrence of an annotation or marker that matches the entry in the `Search for' field of the Find window, if any. If no match is found, a notice is posted, but the signal window is not recentered. If the `Search for' field is empty, any annotation or marker will be counted as a match. # :help:url_view /usr/help/html/wug/node73.htm This button pops up a panel containing buttons that name several topics for which extensive on-line help is available. Choosing a topic allows you to browse through the associated help file in a scrollable text window. # :help.intro Press this button for a quick introduction to WAVE's features. # :help.buttons Press this button for a summary of the functions of the buttons on WAVE's control panels. # :help.editing Press this button for a summary of annotation editing procedures. # :help.faq Press this button for answers to common questions about using WAVE. If you are having trouble getting started, read this topic. # :help.logs Press this button for information about creating and reviewing WAVE log files. # :help.printing Press this button for an overview of methods of printing annotated signals from WAVE. # :help.analysis Press this button for information about using and customizing the Analyze panel. # :help.resources Press this button for information about setting WAVE-specific X11 resources. # :help.news Press this button for information about recent changes in WAVE. # :help.print Press this button to print the contents of the text window on the default printer. # :help.ug Press this button to view the WAVE User's Guide using a web browser. If Netscape version 1.1 or later has not been installed on this system, this button may not work. To use another browser, redefine the action associated with in WAVE's menu file (choose Analyze from the File menu, then `Edit Menu' in the Analyze window). Read the notes in the menu file for details. # :help.quit Press this button to dismiss the main Help window. # :quit `wave' exits when you press this button, after saving your edits if any. If your input file would be overwritten as a result of saving your edits, it is first renamed by appending a tilde (`~') to its annotator name. If you have entered annotations but have not specified an annotator, the name by which you invoked this program (normally, `wave') is used for the annotator name. # :main_panel This is the main control panel of WAVE. Move the pointer onto any of the controls and press the HELP key for further information. # :canvas This is the signal window, in which signals and annotations are displayed. For information about using the mouse in this window, press the `Help' button and select the `Annotation Editing' topic from the Help window. # :annot.type:url_view /usr/help/html/wug/node18.htm This field specifies the type of annotation to be inserted. It may be changed by selecting a new value from the pull-down menu, by typing the mnemonic while the pointer is within the signal window, or by selecting an existing annotation and pressing the or keys. # :annot.text This field specifies the contents of the optional annotation `aux' field. It may be changed by typing into it directly or by selecting an existing annotation and pressing the or keys. In most cases, it should be empty, but it must be filled in for rhythm and certain other non-beat annotations. When the annotation is written, WAVE prefixes the required byte count to this field before transferring it to the `aux' field. # :annot.subtype This field specifies the contents of the annotation `subtyp' field. In most cases, it should be 0; legal values range from -128 to +127. # :annot.chan This field specifies the contents of the annotation `chan' field. In most cases, it should be 0; legal values range from -128 to +127. # :annot.num This field specifies the contents of the annotation `num' field. In most cases, it should be 0; legal values range from -128 to +127. # :annot.change This button changes all annotations between the `<' and `>' markers (the Start and End times on the Analyze panel) to match the annotation template. # :annot.dismiss This button makes the Annotation Template window disappear (until the left mouse button is pressed while the pointer is within the signal window). # :level.show Choose how time and signal levels are displayed in the Level window using this menu. Physical units are seconds (time) and units defined in the record's header file for each signal. WFDB units are sample intervals and analog-to-digital converter units (adu). In relative mode, all measurements are shown as differences between the current location and the reference location. # :level.time This area shows either the time of the measurements shown in the rest of the window (if absolute mode is selected), or the time interval from the reference mark (if relative mode is selected). # :level.signame The names of the signals appear in the left column of the Level window. # :level.value The levels of the signals at the chosen time are indicated in the center column. # :level.units The third column indicates the physical units of each signal. If an asterisk (*) appears next to any units, this indicates that the signal has not been calibrated. # :level.dismiss This button closes the Level window. # :scope_panel:url_view /usr/help/html/wug/node77.htm This panel contains controls for the Scope window, which displays the signal indicated by the Signal control in the Analyze window. # :scope_panel.speed This slider controls the playback speed. Click left on the slider and drag it to the desired position -- lower to reduce speed, higher to increase speed. # :scope_panel.dt This field specifies the interval from the left edge of the scope window to the annotated sample, in seconds. Negative values may be used to shift the left edge of the scope window past the annotated sample. Drag the resize corners to change the interval between the left and right edges of the scope window. # :scope_panel.<< This button displays frames continuously in reverse order. Use the Pause button to interrupt the display. The display stops when it reaches the beginning of the record, an index mark (`:'), or the `<' marker. # :scope_panel.< This button displays the previous frame. # :scope_panel.pause This button freezes the scope display. It also forces the signal window to be redrawn, roughly centered on the time shown at the bottom of the scope window. # :scope_panel.> This button displays the next frame. # :scope_panel.>> This button displays frames continuously in normal order. Use the Pause button to interrupt the display. The display stops when it reaches the end of the record, an index mark (`:'), or the `>' marker. # :scope_canvas:url_view /usr/help/html/wug/node77.htm This is the scope window, which displays the signal indicated on the Analyze panel. The scales match those in the signal window (use the controls in the View panel to set them). Annotations trigger the scope. If annotations in the signal window are attached to signals, only those attached to the selected signal trigger the scope. Click left or right to single-step, middle to interrupt, ctrl+left or ctrl+right to resume continuous display. Change dt by ctrl+middle while pointing to the desired location of the trigger point within the window. The left, up, and right arrows on the numeric keypad emulate the mouse buttons. # :bogus_keyword_to_mark_end