home *** CD-ROM | disk | FTP | other *** search
/ ProfitPress Mega CDROM2 …eeware (MSDOS)(1992)(Eng) / ProfitPress-MegaCDROM2.B6I / MISC / MATH / DELPX02.ZIP / NVMANUAL.DOC < prev    next >
Encoding:
Text File  |  1991-10-23  |  27.5 KB  |  566 lines

  1. ***********************************************************************
  2. *                                                                     *
  3. *              *      *   *        ******  *           *              *
  4. *              *      *   *        *        *    *    *               *
  5. *               *    *    *        ***       *   *   *                *
  6. *                *  *     *        *          * * * *                 *
  7. *                 **      *        ******      *   *                  *
  8. *                                                                     *
  9. ***********************************************************************
  10.  
  11.  
  12.                        A data analysis suite,
  13.           incorporating the exponential fitting routine DELP.
  14.  
  15.     DELP algorithm due to Dr J Martin, Dept Physics, Kings College, Strand,
  16. LONDON WC2R 2LS,  and implemented by DJ Maconochie, Washington University
  17. BOX 8054, 660 S Euclid, St Louis MO 63110 (to whom correspondence may be
  18. initially addressed.
  19. E-mail DJM@morpheus.wustl.edu
  20.  
  21.    Feel free to use this program, but please reference
  22. Martin and Maconochie (1989) J Physiol 418:9P7 in any publications that
  23. contain data analysed using DELP.
  24.  
  25.  
  26.                             INTRODUCTION
  27.  
  28.   1) This software comes free,  with no guarantees.  Feel free to distribute
  29. it in its entirety, with all the associated files.
  30. ____________________________________________________________________________
  31.  
  32.   2) System requirements:
  33.  
  34. a)  Processor- Any IBM PC or compatible should be able to run this program,
  35. but note that it is designed to operate on large data sets,  and on a 8086
  36. machine will run painfully slowly.
  37.  
  38. b)  Maths co-processor- By default,  the code is compiled for use with a
  39. maths co-processor.  There is no reason for this except that I have always
  40. had one,  and without one the program will be excruciatingly slow.  For
  41. exmaple,  filtering the data digitally might take 4 seconds on a 33 MHz 486
  42. machine,  and 20 minutes on a 286 machine without a co-processor.
  43.  
  44. c)  Screen-  The suite was written with standard 16 colour VGA in mind.  It
  45. will run on any screen,  but some of the boxes and colours in the menu tree
  46. will be difficult to decipher, especially with mono- screens.
  47.  
  48. d)  Printer-  Hard copy was available originally on a dot matrix printer.
  49. Most dot matrix printers should give something resembling a screen dump.
  50. Fancy plots are supported on HP II and HP III.  You are however limited to
  51. the landscape fonts available (for example the HP II only has "line printer"
  52. and "courier").
  53.  
  54. e)  Data-  The most important part.  Any file is acceptable that contains a
  55. (optional) header string,   followed by a string of 2-byte integers.  The
  56. following extensions are reserved,  and cause the program to try to read
  57. a particular type of header from the start of the file: ".SVG", ".OLV",
  58. ".CX4" and "CX5".
  59. ____________________________________________________________________________
  60.  
  61.   3) Brief overview:
  62.  
  63. The program runs entirely in graphics mode.  There is a central menu root,
  64. from which branches extent vertically in levels.  <Return> and <Esc> move
  65. up and down the levels.  Items may be selected in one of four ways:
  66.  
  67. a) items in the root may be selected from anywhere in the program by
  68. typeing <Alt> plus the first letter.
  69.  
  70. b) from any other level by typing the first letter.
  71.  
  72. c) by moving the highlighted bar using the arrow keys,  pressing <Return>.
  73.  
  74. d) By taking one of a number of shortcuts such as <Alt>+"R" to run DELP,
  75. <Alt>+"L" to load a file,  <Alt>+"X" to leave the program and <Alt>+"G"
  76. to get the data display screen.  The shortcuts are indicated to the right
  77. of the item in the menu tree.
  78.  
  79.     4) Getting started quickly:
  80.  
  81. It is assumed that
  82. a) you have some data in a file called "filename.dat" or some equivalent.
  83. b) the data is a string of 2 byte integers.
  84. c) that you wish to fit a sum of exponentials to the data
  85.  
  86. i) from the DOS prompt, type "VIEWMENU" <Return>.  If you are connected to
  87. a laser printer,  and you want hardcopy,  then type "VIEW" <Return>.
  88. ii) type <Return> twice.  After the first,  you enter the File menu.  After
  89. the second,  you invoke the last data file that was used.  The filename may
  90. be edited.   Then press <Return> again.
  91.  
  92. ii) hold the <Alt> key and press "G" (ie type <Alt>+"G").  You are now in the
  93. display mode.
  94.  
  95. iii) press the <Home> key.  This has the effect of displaying the data on
  96. screen at minimum magnification.  If the trace is an inconvenient size, then
  97. read the following section to find out how to change the size of the diplayed
  98. trace:  section Graph-Display-  below.
  99.  
  100. iv) press <Return>.  Now you should see two cursors on screen.   Position them
  101. around the section of data to be fitted,  using <Ctrl> and the arrow keys.
  102. Press <Esc> when you are finished.
  103.  
  104. v) type <Alt>+"D".   You are now in the fitting menu for DELP.  Type "i" and
  105. enter the number of exponentials to be fitted (Integration level).  Type "p"
  106. and enter the polynomial degree to be used.  Ten is usually sufficient,  but
  107. experiment with more or less.
  108.  
  109. vi) If next to "Baseline" the word "SET" appears, then press "B".  In this
  110. mode the baseline or offset in your data is calculated.
  111.  
  112. vii) now press "R" to begin the fit.  First a red line overlays the data.
  113. This is a curve calculated from the polynomial coefficients used to represent
  114. the data.   Next the complete fit is drawn in yellow,  and a box with the
  115. caluculated coefficients appears.  Each coefficient appears as a complex
  116. number,  for example "-0.5067 + 0.003j".  If a pair of coefficients is
  117. complex,  then the data has been fitted with an oscillatory component (ie
  118. not a simple decaying exponential).
  119.  
  120. viii) type <Alt>+"G" to return to the display mode,  or <Alt>+"X" to exit
  121. the program.
  122. ___________________________________________________________________________
  123.  
  124.     5)  In the following sections,  the functions available after
  125. selecting the indicate item are given.
  126. ___________________________________________________________________________
  127.  
  128.                            FILE MENU
  129.  
  130.   File-Load-   re-load the last file you used by pressing <Return>,
  131. or select a new one by typing the full path and name.   When you load a file
  132. successfully,  if the file does not have a recognised header that gives the
  133. digitisation frequeny etc,  you will be asked "retain scale values? N".  If
  134. you answer "Y" (deleting the "N" first),  the last values used will be
  135. retained,  otherwise default values will be set.
  136.  
  137.   File-Pick-   pick one of the last six that you used.
  138.  
  139.   File-Change dir- type in a new directory to  begin a search.
  140.  
  141.   File-Directory-  first add a file name template such as "*.*" or
  142. "*.dat".  To begin the search,  type <Return>.  A box with a list of file
  143. names should appear.  Directory names will be pre-fixed with "\".  The
  144. symbol "\.." in the top left corner indicates a route back towards the
  145. root directory or drive.  If in doubt,  exit by typing <Esc>, and giving the
  146. template "*.*", work your way out from the current directory (where the
  147. program is, usually "C:\VIEW").  The operation of this item can be a little
  148. confusing.  Also note that I have experienced difficulty with networked
  149. drives.
  150.  
  151.   File-Quit-  Exit the program,  saving to disk all the parameters that have
  152. been altered,  so that  when you restart the program everything is exactly
  153. as you left it.
  154. ____________________________________________________________________________
  155.  
  156.                      GRAPH MENU
  157.  
  158.   Graph-Display-  from here,  a special set of functions are available
  159. for manipulating the data on screen,  Briefly these are:
  160. a) move the trace: arrows, and <Ctrl>+arrows.
  161. b) resize it: arrows, <insert>, <delete>, <pageUp>, <pagedown>, <home>.
  162. c) next sweep: <spacebar>, previous sweep <Tab>,  jump by "j" followed
  163. by number of sweeps by which to jump.
  164. d) create a window in the display: "w",  resize it with arrows and <Ctrl>
  165. +arrows, <return> to fix it.
  166. e) select a section of the data on screen: <Return> followed by arrows
  167. and <Ctrl>+arrows to move the cursor,  <Return> to toggle between the
  168. "start" cursor and the "end" cursor, and <Esc> to exit this sub-routine.
  169. f) clear the screen and re-draw the trace "c".
  170. g) toggle between either displaying all the points or drawing lines
  171. between a reduced number of points, "p".
  172. h) toggle between a display with scale lines across the whole screen, or
  173. just at the edges, "s".  Note that you may have to follow with "c" to
  174. clear the screen to see the effect of turning the scale lines off.
  175. i) add the current trace to the average buffer, "+".
  176. j) invert the current trace, "-".
  177. k) exchange the "average/fitting" buffer for the "data" buffer, "x".
  178. l) <Alt>+"z" to clear the average buffer.
  179. m) to rotate the trace in the current buffer, "<",  ">", and <shift>+
  180. "<" or ">".  This is used for example to align events in a data sample
  181. before adding to the average buffer.
  182. n) to reset the current trace to an un-rotated state, "z".  To reset all
  183. the traces, <shift>+"z" (ie "Z").  Note that the state of rotation of the
  184. first 100 sweeps is retained even after exiting the program,  and may cause
  185. confusion unless "Z" is used.
  186. o) to temporarily disble the screen while still changing the data around
  187. press "u" once.  Pressing "u" a second time restores the screen.
  188. g) the command "g" adds a 20x14 grid to the screen (useful for making up
  189. a complex picture to print).
  190. r) rotate the trace automatically,  using the rectangular event located
  191. between the points where you last left the data selection cursors.  This
  192. complex function is not recommended for most purposes.
  193.  
  194. summary:
  195. C : clear display
  196. G : add grid
  197. J : jump to another sweep
  198. P : toggle points/lines
  199. R : rotate current trace
  200. S : toggle scale lines across the whole screen
  201. U : toggle update screen ON/OFF
  202. W : create window in display
  203. X : exchange data buffer and average buffer
  204. z : zero rotation on current trace
  205. Z : zero rotation on all traces
  206. + : add current trace to buffer (or the buffer that is not current)
  207. - : invert the trace
  208. <Alt>+Z : zero the buffer
  209. <spacebar>     : next trace
  210. <Tab>          : previous trace
  211. <Insert>/<Delete : trace up/down
  212. <Home>           : default size
  213. <PageUp>/<PageDown> : enlarge, diminish X scale
  214. arrows/<Ctrl>+arrows : move trace around screen
  215.  
  216.   Graph-StartFit1..EndPlot-  Set manually the cursors for selecting the
  217. part of the data to fit,  and to display on screen.
  218.  
  219.   Graph-Sweep number-  Type in the number of the sweep to display on screen
  220. and to fit.
  221.  
  222.                          GRAPH-AVERAGE MENU
  223.  
  224.   Graph-Average-Clear buffer-  Reset the average buffer.
  225.  
  226.   Graph-Average-File name-  This is the name of the file to which the average
  227. buffer will be saved when using "Append" or "Overwrite"
  228.  
  229.   Graph-Average-Overwrite file-  The contents of the average buffer is written
  230. together with the current header (if any) to the file  given,  replacing any
  231. file of the same name that exists.
  232.  
  233.   Graph-Average-Append file-  The contents of the average buffer is added to
  234. the end of the file given above.
  235.  
  236.   Graph-Average-Tag to data file-  The contents of the average buffer is added
  237. to the end of the data file.
  238.  
  239.   Graph-Average-"+" list-  Type in a sequence of integers, punctuated with
  240. commas.  On pressing "Run",  these sweeps of data wil be averaged.
  241.  
  242.   Graph-Average-"-" list  Type in the sweeps (punctuated with commas) that
  243. should be subtracted from the average.  On pressing "Run",  these sweeps will
  244. be inverted and then averaged along with the sweeps in the "+" list.
  245.  
  246.   Graph-Average-Run-  Make an average of all the sweeps in the "+" and "-"
  247. lists.
  248.  
  249.   Graph-Average-Set thresholds-  Automatically rotate all the sweeps in the
  250. current file, using a rectangular event presumed to be located between
  251. "startFit1" and "endFit1".
  252.  
  253.   Graph-Average-With filtering-  The automatic rotation sequence will begin
  254. by filtering the section of data between "startFit1" and "endFit1" using the
  255. parameters in the "Filter" menu.
  256.  
  257.   Graph-Average-Buffer size-  The automatic rotation function works by taking
  258. the Fourier transform of the data,  looking for a pattern in the relative
  259. phase of the first "Buffer size" Fourier components.   The more closely the
  260. signal event in the data corresponds to a rectangular event,   then the
  261. larger the "Buffer size" can be.  In general a larger "Buffer size" will give
  262. a more accurate result.  Somewhere between 2 and 6 is suitable.
  263. ___________________________________________________________________________
  264.  
  265.                           COPY MENU
  266.  
  267.   Copy-Dot matrix dump-  This puts out a pixel-by-pixel plot of the current
  268. screen display.  It works on a Epsom LX-80 and LQ-800.  It should work with
  269. others as well,  but you may have to fiddle with Dip switches.
  270.  
  271.   Copy-Laser menu-  High resolution output (every point between startPlot
  272. and endPlot is printed) is available on a laser printer,  with some control
  273. over the final format.  Landscape mode only at the moment is available,
  274. but if the current display is a window in the top left corner of the screen
  275. for example, then the plotted output will also appear in the top left corner.
  276.  
  277.                         COPY-LASER MENU
  278.  
  279.   Copy-Laser menu-Plot style- This function toggles between plotting individual 
  280. points, or drawing lines (continuous or dashed) between the points.
  281.  
  282.   Copy-Laser menu-Dot size- Whatever symbol is selected, printed in a size 
  283. ranging from 1 (almost invisible) to 16 (about 4 mm across).  
  284.  
  285.   Copy-Laser menu-Symbol-  Toggle between a range of  symbols.  Not all are 
  286. currently availble.  
  287.  
  288.   Copy-Laser menu-Laser plot-  When this function is selected,  the current data 
  289. sweep as displayed on screen is output to the printer.  At the same time a scale
  290. bar may also be printed, along with some information such as the location of the 
  291. cursors marking the fitted region,  the file name and sweep number,  and the
  292. results of the last DELP fit.  
  293.  
  294.   Copy-Laser menu-Bar scale-  Toggle On/Off;  when On a scale bar will be
  295. printed along with the data.  
  296.  
  297.   Copy-Laser menu-Text start point-  All text printed out,  the file name,  the
  298. fit results etc will be printed out started from the "Text start point".  A
  299. target will appear on screen on selecting this function.  It may be moved using
  300. the arrow keys.  Press <Return> to fix the position and return to the menu.
  301.  
  302.   Copy-Laser menu-Write over-  When this function is selected,  a window
  303. appears on screen showing the last message that was entered here.  It may be
  304. edited.  On pressing <Return>, the message will be written immediatly to the
  305. printer,  and also to the screen in roughly the comparable position.
  306.  
  307.   Copy-Laser menu-Eject page-  This function sends to the printer the signal
  308. to dump out a sheet.
  309.  
  310.   Copy-Laser menu-Fitted output-  This toggles On/Off.  When "On",  the
  311. results of the last DELP fit will be sent to the printer when the next data
  312. trace is printed using "Laser plot".  It will appear below the point set by
  313. "Text start point".
  314.  
  315.   Copy-Laser menu-Change font-  Some control over the fonts used in printing
  316. is available from this menu.  The selected fonts differ in the laser output
  317. only,  not on the screen.
  318.  
  319.   Copy-Laser menu-Number of copies-  Select how many copies of the completed
  320. output to be dumped on selecting "Eject page".
  321.  
  322.   Copy-Laser menu-Indicate fit window- Toggles On/Off.  When "On",  vertical
  323. dashed lines appear in the printer output corresponding to the region of data
  324. used in the fitting procedures.
  325.  
  326.   Copy-Laser menu-Reset plot default-  All the parameters in the Laser menu
  327. will be returned to default values.
  328.  
  329.                        COPY-LASER MENU-CHANGE FONT MENU
  330.  
  331.   Copy-Laser menu-Change font-scale bar size-   An integer value given here
  332. will select the size of the text associated with the scale bar.  Note that
  333. this must correspond to the size of a font available on the printer.
  334.  
  335.   Copy-Laser menu-Change font-scale bar font-  Toggle between the various
  336. fonts supported (those found on a standard HP II and HP III printer).
  337.  
  338.   Copy-Laser menu-Change font-scale bar weight-  If this available on your
  339. printer, then you can select various weights of text to be used with the
  340. scale bar.
  341.  
  342.   Copy-Laser menu-text size, font, weight-  These relate to all other text
  343. output to the printer:  the fitted output,  the text entered in "Write over"
  344. and the file information printed automatically.
  345.  
  346.   Copy-Laser menu-Reset default-  These fonts are reset to those that work
  347. with a HP II printer.
  348. ______________________________________________________________________________
  349.  
  350.                             DELP MENU
  351.  
  352.   DELP-Int.Level  DELP is an alogorithm for obtaining a very fast fit of
  353. a sum of exponentials.  It works on the principle that a sum of exponentials
  354. is a solution of a linear homogeneous differential equation with constant
  355. coefficients.  The integral form of the equation is used.  "Int.level" is the
  356. degree of the integral equation,  and so is equal to the number of exponentials
  357. being fitted.   The maximum here is 8,  minimum 1.
  358.  
  359.   DELP-Poly.degree  As an intermediate step,  the data is first represented
  360. by a finite Legendre polynomial series.  This has the twin benefits of reducing
  361. the data set to a manageable size,  and of filtering the data.  The maximum is
  362. 50 (but oscillation may occur if there are less than 4x50 data points),  the
  363. minimum is 2x(Int.level+1). If you need more than a 20 component series to
  364. adequately describe the data,  then it is likely that the underlying
  365. exponentials are not closely spaced (there is a factor of ten or more between
  366. their rate constants),  and so the components may be fitted separately by
  367. selecting the section of trace to fit.
  368.  
  369.   DELP-Run fit   Start the DELP fitting procedure.
  370.  
  371.   DELP-Baseline  The baseline may be calulated autoematically ("Baseline AUTO"),
  372. or an estimate may be made in advance ("Basline SET"). Use this function to
  373. toggle between the two.
  374. What comes out of the "least squares" fit of an integral
  375. equation to the data,  are the exponential rate constants (inverse time
  376. constants).  If the baseline is unknown,  then one coefficient of the
  377. polynomial series has to be discarded.  If the baseline is known,  then
  378. a more accurate estimate of the rate constants may be made.  On selecting
  379. "Baseline SET",  a line and a box should appear on screen.  If they do not,
  380. then press "Z" to zero the baseline.  The horizontal cursor may be moved up
  381. and down using the arrow keys.  Note that the steps widen with frequent key
  382. strokes.  Press <Return> when you have positioned the cursor to your
  383. satisfaction.
  384. Note that the exponential amplitudes and offset are calculated as a second
  385. and separate procedure,  so if the calculated baseline differs by more than
  386. 1 % from your estimate,  then  this suggests that the original estimate
  387. was incorrect.
  388.  
  389.   DELP-Split run  There is the option of running the fit simultaneously on
  390. two separate sections of data.  This is useful for example if there is a
  391. glitch in the middle of an otherwise good trace.  It is advisable to avoid
  392. this function where possible.
  393.  
  394.   DELP-Append  Write the results of the last fit as an ASCII string,  to
  395. the end of the ASCII output file.
  396.  
  397.   DELP-Overwrite  Replace the contents of the output file with the results of
  398. the last fit.
  399.  
  400.   DELP-Delp file name   The name of the text file to which the results of the
  401. last fit will be written.
  402.  
  403.   DELP-Clear  Clear the screen.
  404.  
  405.   DELP-Skip points   There is the option to decimate the data.  This may be
  406. useful if you have 32,000  data points to be fitted  (the maximum allowed),
  407. and you have only a 8086 processor running at 4 MHz!  Note that entering
  408. 10 here means that only every tenth point is used in the fit,  so if there
  409. is a large component of random noise,  then filter the data first.
  410.  
  411.   DELP-With pathname  This toggles On/Off.  When it is "ON", then the path
  412. and filename,  sweep, file time and estimated baseline written to the output
  413. file,  along with the results of the last fit.
  414. _____________________________________________________________________________
  415.  
  416.                               PATTERN SEARCH (PtnSch)
  417.  
  418.   This is an iterative (read VERY SLOW) procedure to find a set of
  419. coefficients that in this application finds a pattern that leads to a reduction
  420. in the "sum of squares",  and repeats it or changes it to improve the rate
  421. of convergence.
  422.   This fitting procedure is not recommended for fitting exponentials for a
  423. number of reasons.  Quite apart from the fact that it frequently converges
  424. to false minima close to the true minimum,  it is time consuming to set up
  425. and painfully slow compared to DELP.
  426.   Its advantages are that any function (in general, although not here) may
  427. be fitted,  and any variable may be selectively tweaked or held constant.
  428.  
  429. 1) Select the required equation,  and make a note of the number of variables.
  430. 2) Go to the Parameter menu.
  431. 3) Enter the number of variables.
  432. 4) Set the "maximum number of iterations to 100"
  433. 5) Set "skip points" to the maximum indicated
  434. 6) Enter your first guess at the parameters in the left column only.  The
  435. other two columns will be updated automatically.
  436. 7) Leave the Paramter menu <Esc>.
  437. 8) Use the function Keep to preserve the values you have just typed.  (You
  438. can restore them with Reset values.)
  439. 9) Use the function Search to begin the search for a solution.  This is just
  440. a trial run to see if your estimates are anywhere near.  The screen is only
  441. updated every tenth time that an improved fit is found (hence the maximum
  442. iterations needs to be quite high).
  443. 10) If the fit is converging,  then go back to the Parameter menu and increase
  444. the number of iterations,  and decrease the number of points to skip.
  445.  
  446.   For the meaning of Append,  Overwite and Clear,  see DELP MENU
  447. _____________________________________________________________________________
  448.  
  449.                          TRANSFORM MENU
  450.  
  451.   Transform-Re-Scale-   This function is useful if your data does not have
  452. a recognisable header,  and so the digitisation frequency,  number of
  453. point,  gain etc are set to default.
  454.  
  455.   Transform-Filter-  Digital implementation of analogue filter characteristics
  456. is available for filtering a single sweep or part of a sweep.  Note that this
  457. menu can be reached by <Alt>+"Q".
  458.  
  459.   Transform-FFT-,  Transform-Histogram-  These are not written yet.
  460.  
  461.                         TRANSFORM-RE-SCALE MENU
  462.  
  463.   Transform-Re-scale-Full scale Y-  This should be the value of your measured
  464. variable (eg voltage) at the full range of a 16-bit ADC.  For example, suppose
  465. you have a 16 bit ADC,  with a +/- 10 V input range,  then you should enter
  466. "Full scale Y" as "10".  Many ADC's are only 12 bit,  moreover some devices
  467. write to the highest 12 bits of a 16 bit integer (as read by the computer)
  468. an example is the CED 1401,  and others (AXON) write to the lowest 12 bits.
  469. The latter case becomes apparent when you data appears in the "display" mode
  470. to be very small.  In this case,  the input range (10 V) should be multiplied
  471. by 2 to the power 4, ie 16,  so the correct number to type for "Full scale Y"
  472. would be "160".
  473.  
  474.   Transform-Re-scale-Zero scale Y-  Suppose that the input signal to the ADC
  475. was offset by  1 V (ie you added 1 V DC to the input signal) then the value
  476. you should type for "Zero scale Y" is "-1".  Alternatively,  suppose that
  477. your ADC input range is zero to 10 V,  then  "Zero scale Y" will be "5",  and
  478. "Full scale Y" will be "10".
  479.  
  480.   Transform-Re-scale-Dig. freq.-  The digitisation frequency  should be
  481. entered here in Herz.   For example 1 kHz should be entered as "1000".
  482.  
  483.   Transform-Re-scale-Points per sweep-  If your data consists of a string of
  484. repeated traces,  each of the same length,  then you can give the length of
  485. a single trace or sweep as the number of data points.
  486.  
  487.   Transform-Re-scale-Time zero/ End of trace-  "Time zero" is the time you
  488. wish to use to refer to the beginning of a trace.  "End of trace"  is the time
  489. for the end of the trace.   If you enter these two times,  then "Points per
  490. sweep"  will be re-adjusted automatically.
  491.  
  492.   Transform-Re-scale-Header size-  If your data has a header,  ie a string of
  493. bytes that refer to the digitisation frequency, the number of sweeps etc,
  494. that cannot be read by this program,  and you do not wish the header bytes to
  495. be displayed as data points,  then you can give the size of the header here
  496. in words (a word is two bytes).
  497.  
  498.   Transform-Re-scale-Y scale label-   The label out on the scale bar,  is
  499. either the label read from the header file,  or a default label.  This is an
  500. option to change it to something else.
  501.  
  502.  
  503.                        TRANSFORM-FILTER MENU
  504.  
  505.   Transform-Filter-Filter data-  This function starts the filtering of the
  506. current buffer or data sweep.  The filter function is first generated using
  507. the last parameters selected.  The number of points filtered is the "Points
  508. per sweep" (see above Re-scale menu).
  509.  
  510.   Transform-Filter-Type of filter-  There is a choice of digital
  511. approximations to common analogue filters.  The choice depends on your parti-
  512. cular requirements.  If minimum phase shift is required,  then use the Bessel
  513. filter,   if maximum attenuation above the roll-off frequency is required
  514. then use the  Tchebyshev filter.
  515.  
  516.   Transform-Filter-Poles-  The number of poles determines for a given filter
  517. type how steep is the attenuation above the roll-off frequency.  The more poles
  518. then the steeper the attenuation,  but also the longer it takes to filter the
  519. data.
  520.  
  521.   Transform-Filter-Roll off -3dB-  The frequency at which the signal will be
  522. attenuated by 3 decibels should be given here.
  523.  
  524.   Transform-Filter-Local filter-  Sometimes you may want to see the result of
  525. filtering just the part of a data sweep that you have displayed rather than the
  526. whole sweep.  This function does that.
  527. _______________________________________________________________________________
  528.  
  529.                              MACRO MENU
  530.  
  531.   Macro-Go-   Start running a macro.  Characters are read from the current
  532. macro file  whose file name is the last one to be entered as "Macro file name".
  533. These characters are then interpreted as keystrokes.
  534.  
  535.   Macro-Macro file name-  Enter the name of the file that you wish to record to
  536. or run.
  537.  
  538.   Macro-Record-  This function toggles "ON/OFF".  When you turn this function
  539. on,   each subsequent key stroke is written to the file given by "Macro file
  540. name",  starting at the beginning of the file.  To stop recording a macro, then
  541. use this function again, ie toggle it "OFF".
  542.  
  543.   Macro-Delete-  At some point in the future,  a version of this program  may
  544. have further options that make deleting a file before recording to it necessary.
  545.  
  546. NB Editing a macro file using a text editor.  Ideally you should use a text
  547. editor that allows you to enter any character from #0 to #255.  Note that for
  548. example the keystroke <Right Arrow> generate two charcters, a null character
  549. (#0) plus another character ('M').  For convenience,  the character '^' is
  550. interpreted to mean the null character (#0),  so instead of using the null
  551. character followed by a capital 'M' to mean <Right Arrow>,  the symbols ^M
  552. may be used instead.
  553.  
  554.  
  555.  
  556.  
  557. a)  To start the program,  type "VIEWMENU" (the name of the program),  or
  558. "VIEW" (the name of the batch file that loads and unloads some soft fonts
  559. to a HP laser printer).
  560.  
  561. b)  Suppose you have just started the program.  You will see the root menu
  562. File, Graph, Copy, Delp, PtnSch etc. across the top of the screen.  If you
  563. do not, then you probably have an  incompatible screen.  You should see
  564. "File"  highlighted.  Press <Return>,  to go down a level in the menu
  565. (<Esc> takes you back up).
  566.    Now you should see the "File" menu diplayed vertically