Mercurial > hg > aim92
diff man/man1/edframe.1 @ 0:5242703e91d3 tip
Initial checkin for AIM92 aimR8.2 (last updated May 1997).
author | tomwalters |
---|---|
date | Fri, 20 May 2011 15:19:45 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/man/man1/edframe.1 Fri May 20 15:19:45 2011 +0100 @@ -0,0 +1,347 @@ +.TH EDFRAME 1 "1 September 1993" + +.SH NAME + edframe \- Edit AIM output files. + +.SH SYNTAX +edframe [[-]frame=a[-b]] [[-]time=a[-b]] [[-]freq=a[-b]] [file] + +.SH DESCRIPTION +Read an AIM output file which must include a header. +Edit the file using the prescription given in the optional arguments to the +edframe program, and write the result on the stdout as a new AIM output file +with an appropriately modified header. + +AIM output consists of one or more frames. AIM programs such as genwav, genbmm, +gennap, gensgm, gencgm, and gensas all generate a single frame of output +which may be graphically displayed as a single image. AIM programs such as +genasa, genepn, gensep, gensai, and genspl all generate multiple frames of +output which may be graphically displayed as a sequence of images in a time-varying +cartoon. + +AIM output may be generated by: +.nf + genXXX output=on file1 +.fi +which creates a file called file1.XXX. This can be edited to create a new +AIM output file by: +.nf + edframe [options] file1.XXX > file2.XXX +.fi +Alternatively the AIM output can be edited in situ by: +.nf + genXXX output=stdout file1 | edframe [options] > file2.XXX +.fi +Edited output may be displayed using the "useprevious" option, for example: +.nf + genXXX useprevious=on file2 +.fi +Note that that file2.XXX must have a different base-name to the genXXX input +(file1) because genXXX will remove any file1.XXX as a side-effect. + +Each frame is a matrix of numbers consisting of one or more rows and columns. +Rows and cols are numbered 0,1,2,..., with the origin (0,0) at the bottom-left +corner of the graphical image of each frame. +Editing functions select sub-sequences of frames (when the file consists of +multiple frames), and partition each of the selected frames using the +prescription given as program arguments. +The edited output consists of the selected sub-sequence of partitioned +sub-matrices. The format of the edited output file corresponds to that of the +respective input file, and the header is modified to describe the new frame +size. + +.SH OPTIONS + +1. time, freq. + +These options prescribe the partition of each frame. +The partition output for each frame is a sub-matrix with width, height, and +origin with respect to the frame origin described in terms of rows and columns. +The time and freq options are ranges in the respective dimensions which are +converted to rows and columns internally. The ranges are given as: +.nf + time=a[-b] + freq=a[-b] +.fi +The upper limit `b' is optional, +and when it is missing then the range is a single value, +otherwise `a' and `b' are inclusive range limits. +The strings "min" and "max" are recognised as extreme limits, otherwise +the values of `a' and `b' are numbers with optional units. + +The units of the time selector are s or ms +(seconds and milliseconds respectively), or samples (numbered 0,1,2...) +if no units are given. Options with time units are converted to samples internally using +the `samplerate' option. + +The units of the freq selector are Hz or kHz +or filterbank channel (numbered 0,1,2...) if no units are given. +Options with frequency units are converted to channel numbers internally using the +filterbank parameters `mincf_afb', `maxcf_afb', `dencf_afb', and `channels_afb' +given in the AIM header. The channel number which is "closest" in terms of +centre frequency to the given frequency is chosen. + +For most gen programs the time option controls the width of the partition in terms of +cols (or samples along the horizontal axis of the frame image) and the freq option +controls the height of the partition in terms of rows +(or filterbank channels up the vertical axis of the frame image). +The exceptions to this are +genwav (where the vertical axis contains just one wave), and the excitation +patterns genasa, genepn, and gensep in which frequency is measured +along the horizontal axis of the image, so that it is more appropriate for the +freq option to control the width of the partition in terms of cols +(or filterbank channels along the horizontal axis of the frame image). + +In the case of gensai (and genspl) the horizontal (or spiral) axis measures +lag rather than absolute time, but the time option is used to control this +axis. (Note that time is measured from the left end of the frame image, which +is actually the maximum lag). + +2. frame. + +When the input consists of a cartoon of multiple frames +then single frames or a range of sequential frames may be selected from the +input using: +.nf + frame=a[-b] +.fi +The upper limit `b' is optional, +and when it is missing then the range is a single frame, +otherwise `a' and `b' are inclusive range limits. +The strings "min" and "max" are recognised as extreme limits, otherwise +the values of `a' and `b' are frame numbers: 0,1,2,... + +The frame selector may also take time units (s, or ms) to specify frames +"closest" to the given time, being the frame number which is the greatest +integer multiple of the framestep (`frstep_epn' or `frstep_aid') which does +not exceed the given time, measured from the start of the input file. + +3. info. + +The option flag: +.nf + -info +.fi +causes frame size information to be printed on the stdout. +The option flag: +.nf + info=fbank +.fi +causes channel centre-frequency information to be printed on the stdout for +those channels selected by the `freq' option. +This may be used to discover the exact centre-frequency occupied by a given +channel number within a given filterbank, (as specified by +the filterbank parameters given in the input header). + +4. Header. + +The option flag: +.nf + Header=off +.fi +causes the modified header to be suppressed from the output. + +5. Transpose. + +The option flag: +.nf + Transpose=on +.fi +causes a matrix transpose (swap rows and columns) of the output +partition of each input frame. +When a frame partition has a height greater than it's width +(ie. cols < rows) then setting Transpose=on may provide a +preferable display orientation. For example, this enables +a very narrow (eg. single column) time-slice to be plotted +horizontally, so that a time-slice of filterbank output may +be plotted as a spectrum on a horizontal frequency axis. +In general the transpose option changes the file format of each frame +from column wise to row wise and vice versa. +A row wise format (ie. consecutive channels) may be a more useful form of +output from programs such as genbmm or gennap which normally use a column +wise output format. + +.SH EXAMPLES + +.nf +Selecting particular frames from AIM output. +.fi + +1. Plot gennap output and its transpose. + +.nf + gennap output=stdout ... | edframe > file1.sai + gennap output=stdout ... | edframe Tran=on > file2.sai + gensai useprevious=on file1 + gensai useprevious=on file2 +.fi + +2. Select and plot frame 2 (ie. the 3rd frame) of gensai output. + +.nf + gensai output=stdout ... | edframe frame=2 > file.sai + gensai useprevious=on file +.fi + +3. Select the frames of gensai output which start between 16ms and 47ms from +the start of it's input. (When the option frstep_aid=16ms then this would +select the 2nd and 3rd frames). + +.nf + gensai output=stdout ... | edframe frame=16ms-47ms > file.sai +.fi + +4. Select the 5th to the last frame inclusively of gensai output. + +.nf + gensai output=stdout ... | edframe frame=4-max > file.sai +.fi + +5. Select the first frame of genepn output and plot the spectrum. + +.nf + genepn output=stdout ... | edframe frame=min > file1.epn + genepn useprevious=on file1 +.fi + + +.nf +Editing frames to select particular frequency ranges or channels (ie rows). +.fi + +6. Select and plot the channel with centre-frequency closest to 1kHz from +gennap output. + +.nf + gennap output=stdout ... | edframe freq=1kHz > file.nap + gennap useprevious=on file +.fi + +7. Select and plot channel 40 then the channel with the lowest and then +the highest centre-frequency over all frames of gensai output. + +.nf + gensai output=stdout ... | edframe freq=40 > file.sai + gensai useprevious=on file + + gensai output=stdout ... | edframe freq=min > file.sai + gensai useprevious=on file + + gensai output=stdout ... | edframe freq=max > file.sai + gensai useprevious=on file +.fi + +8. Select and plot all channels of genbmm output from channel 10 to +the channel with centre-frequency closest to 1kHz inclusively. + +.nf + genbmm output=stdout ... | edframe freq=10-1000Hz > file.bmm + genbmm useprevious=on file +.fi + +9. Select and plot a portion of the spectrum from the first frame of genepn +output between 1kHz and 2kHz. +Note: frequency controls the horizontal (ie cols) dimension for genepn. + +.nf + genepn output=stdout ... | edframe frame=min freq=1kHz-2kHz > file.epn + genepn useprevious=on file +.fi + + +.nf +Editing frames to select particular time slices (ie cols). +.fi + +10. Plot column (ie sample) 100 of the 3rd frame of gensai output as a row. + +.nf + gensai output=stdout ... | edframe frame=2 time=100 Tran=on > file.sai + gensai useprevious=on file +.fi + +11. Plot column of sample at 20ms from start of gennap output as a row + +.nf + gennap output=stdout ... | edframe time=20ms Tran=on > file.nap + gennap useprevious=on file +.fi + +12. Edit a wave to select the stretch between 4ms and 16ms, strip the +header and plot the resulting wave. + +.nf + genwav output=stdout ... | edframe time=4ms-16ms Header=off > file + genwav file +.fi + + +.nf +Editing frames to select partitions. +.fi + +13. Plot a partition of channels 40 to 44 over the last 5ms (ie near the +trigger point on the right of the image) of all frames of gensai output. +Then plot a partition of frequency range 1kHz to 1.5kHz over the first +20ms (on the left of the image) of all frames of gensai output. + +.nf + gensai pwidth=35ms nwidth=0 output=stdout ... | edframe time=30ms-max > file.sai + gensai useprevious=on file + gensai output=stdout ... | edframe freq=1kHz-1.5kHz time=min-20ms > file.sai + gensai useprevious=on file +.fi + +14. Plot the highest-frequency channel over the last 20ms of gennap output. + +.nf + gennap output=stdout ... | edframe freq=max time=20ms-max > file.sai + gennap useprevious=on file +.fi + + +.nf +Changing the aim output format. +.fi + +15. Convert the genbmm output format (column wise) to row wise format, and +strip the aim header. +The resulting file will consist of consecutive blocks of N samples, where +N = length * samplerate. +The first block is the output from the lowest centre frequency channel, +the second is from the second channel, and so on. +By default the whole frame is transposed, but any partition of the frame +could be selected using the time and frequency options. +(Note: the transpose takes place after the partition has been made). + +.nf + genbmm output=stdout ... | edframe Tranpose=on Header=off > file +.fi + + +.SH "SEE ALSO" +options hdr fbank + +.SH COPYRIGHT +.LP +Copyright (c) Applied Psychology Unit, Medical Research Council, 1995 +.LP +Permission to use, copy, modify, and distribute this software without fee +is hereby granted for research purposes, provided that this copyright +notice appears in all copies and in all supporting documentation, and that +the software is not redistributed for any fee (except for a nominal +shipping charge). Anyone wanting to incorporate all or part of this +software in a commercial product must obtain a license from the Medical +Research Council. +.LP +The MRC makes no representations about the suitability of this +software for any purpose. It is provided "as is" without express or +implied warranty. +.LP +THE MRC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING +ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL +THE A.P.U. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, +ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS +SOFTWARE.