Expressions Transforms

This routine lets you write a mathematical expression to transform a channel, or make a new channel, using data from one or two channels.  The program parses the expression into components and performs the operations.   The expression evaluator logic understands the following symbols (upper or lower case entries are OK):

Results are stored in the first of the source channels, or optionally (if the number of channels is less than 40) in a new channel (edit the file label as appropriate).  If a data block has been selected, you can transform all the data or just within the block.   A typical expression transforms window looks like this:

Some general considerations:

NOTE: This will only 'catch' errors in the basic numeric expression. It may not detect invalid or meaningless math operations that may be attempted when channel data are processed, such as division by zero, or taking the log or a non-integer exponent of a negative number.  If such situations occur, results may be unpredicatable.  The algorithm does find most such errors during processing, however.

The window looks like this after a successful transformation run:

The underlying code for the expression evaluator was largely developed by Robert Purves (deceased a few years ago, and greatly missed by the FB community).  I borrowed it -- with his permission -- and made some modifications for LabAnalyst.            But Robert P. deserves all the creative credit.


Other links: