--------------------------------------------------------------------------------
MODULE DTICOMBINE

--------------------------------------------------------------------------------
REPLACES None. DTICOMBINE is a new MATRIX utility.

--------------------------------------------------------------------------------

FUNCTION

--------------------------------------------------------------------------------

FORMAT

--------------------------------------------------------------------------------

COMMAND QUALIFIERS

--------------------------------------------------------------------------------

DTICOMBINE COMMAND DEFAULTS

--------------------------------------------------------------------------------

DESCRIPTION

----------------------------------------------------------------------

----------------------------------------------------------------------

----------------------------------------------------------------------


FILEA TESTDATA1           - input file A is LSL$DTI:TESTDATA1.DTI
WINDOW 100 100 200 200    - area of interest in input file A is defined
                            by SW 100x 100y and NE 200x 200y matrix units
FILEB TESTDATA2           - input file B is LSL$DTI:TESTDATA2.DTI. In the
                            absence of a WINDOW command following the
                            FILEB command, the whole DTI file will be used
WORD=A*B                  - the expression defining the combination of
                            DTI file A and DTI file B. The result is to be
                            placed in a word type DTI file. (Not yet
                            specified).
FILEOUT RESULT.DTI        - Specifies that LSL$DTI:RESULT.DTI is to be
                            used as the output file.
GO                        - Create and open LSL$DTI:RESULT.DTI as output
                            file. Start to process. The size of the
                            file is determined by the size of the input
                            files or by a window command (if specified).
                            The type of file (DTED, LSLA etc.) is set to
                            that of the input file with the lowest
                            alphabetic identifier.

--------------------------------------------------------------------------------

DTICOMBINE COMMANDS

_@ COMMAND

--------------------------------------------------------------------------------
_@

--------------------------------------------------------------------------------
FORMAT: _@ file-spec

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

DTICOMBINE offers the facility of command input from an indirect command file. The '@' character preceding a file-spec will cause DTICOMBINE to open and read commands from the specified file until:

Nested command files are not supported (i_.e_. a command file containing an '@' command), although sequential '@' commands are supported when read from SYS$COMMAND.

As an aid to batch log interpretation DTICOMBINE will echo all commands read from an indirect command file.

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the _@ command:

*** WARNING *** "@" must precede a file-spec

*** WARNING *** Indirect file error - returning to terminal input

*** ERROR *** Can't open indirect command file 'file-spec'

--------------------------------------------------------------------------------
Examples:


$ DTICOMBINE<CR>
MATRIX module DTICOMBINE of 18:30:39 18-FEB-88
DTICOMBINE> @PRESETS<CR>
DTICOMBINE> ENABLE DIAGNOSTICS
DTICOMBINE> FILEA ISOTROPHIC_1000.DTI
DTICOMBINE> WINDOW 1 1 101 51
DTICOMBINE> REAL=ABS((A*B)/(C**2))
DTICOMBINE> RETURN
DTICOMBINE>

_! COMMAND

--------------------------------------------------------------------------------
_!

--------------------------------------------------------------------------------
FORMAT: _! [comment text]

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

An exclamation mark is the standard DTM package comment delimiter. All text (and numbers) which lie to the right of a '!' character are excluded from command interpretation. Comments are useful for annotating command procedures used in batch processing etc_.

--------------------------------------------------------------------------------
Messages: None.

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> _! a comment for the sake of it<CR>
DTICOMBINE> WINDOW 1 1 200 250

BYTE COMMAND

--------------------------------------------------------------------------------
BYTE

--------------------------------------------------------------------------------
FORMAT: BYTE = expression

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The BYTE command enables specification of the combination expression and instructs DTICOMBINE to place the results into a BYTE valued DTI file.

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the BYTE command:

*** ERROR *** Byte underflow detected at post X = 'integer', Y = 'integer'

*** ERROR *** Byte overflow detected at post X = 'integer', Y = 'integer'

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> BYTE=A*(B-C)<CR>
DTICOMBINE>

CLASS COMMAND

--------------------------------------------------------------------------------
CLASS

--------------------------------------------------------------------------------
FORMAT: CLASS class-id

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The CLASS command enables the user to create or re-open a class - depending on whether the class already exists, or not.

Once the class is open, all INCLUDE and EXCLUDE commands are then directed to that class until a further CLASS or DISABLE CLASSIFICATION command is issued.

Classification must be enabled before a CLASS command can be issued.

--------------------------------------------------------------------------------
Messages:

The following warning messages are specific to the CLASS command:

*** WARNING *** CLASSIFICATION not ENABLEd

*** WARNING *** Missing or illegal class number

*** WARNING *** Maximum number of classifications exceeded

--------------------------------------------------------------------------------
Examples:

_$ DTICOMBINE<CR>

MATRIX module DTICOMBINE of 10:41:45 29-FEB-88

DTICOMBINE> CLASS 2.8
*** WARNING *** CLASSIFICATION not ENABLEd
DTICOMBINE> ENABLE CLASSIFICATION
DTICOMBINE> CLASS 2
DTICOMBINE> INCLUDE 120,200:300
DTICOMBINE> CLASS 10
DTICOMBINE> INCLUDE ALL
DTICOMBINE> SHOW CLASS


CLASS 2.0 120.0 >=200.0 <=300.0
CLASS 10.0 All values
DTICOMBINE>

CLOSE COMMAND

--------------------------------------------------------------------------------
CLOSE

--------------------------------------------------------------------------------
FORMAT: CLOSE file-id

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The CLOSE command enables the user to close a DTI file previously opened with a FILEx command.

An example application of the CLOSE command arises when an input file has been incorrectly windowed and a subsequent FILEx command issued. The incorrectly windowed file may be closed with the CLOSE command and then reopened with a FILEx command and the WINDOW respecified.

--------------------------------------------------------------------------------
Messages:

--------------------------------------------------------------------------------
Examples:

_$ DTICOMBINE<CR>

MATRIX module DTICOMBINE of 10:41:45 29-FEB-88

DTICOMBINE> FILEA SOILS<CR> DTI file LSL$DTI:SOILS.DTI;0 opened for read File : LSL$DTI:SOILS.DTI;0 Header : LSLA Data: WORD Units are DTI Matrix Values Matrix Coverage SW: 1 1 NE: 201 201 Matrix Interval E: 1 N: 1 Value Range : 97 to 468 By default WINDOW commands for this file must be specified in DTI matrix units Use the UNITS command to change the default units
DTICOMBINE> FILEB WOODLAND<CR> DTI file LSL$DTI:WOODLAND.DTI;0 opened for read File : LSL$DTI:WOODLAND.DTI;0 Header : LSLA Data: WORD Units are DTI Matrix Values Matrix Coverage SW: 1 1 NE: 201 201 Matrix Interval E: 1 N: 1 Value Range : 9 to 1798 By default WINDOW commands for this file must be specified in DTI matrix units Use the UNITS command to change the default units
DTICOMBINE> FILEA INFILTRATION<CR> *** WARNING *** You have already got LSL$DTI:SOILS.DTI;0 open as file A
DTICOMBINE> CLOSE A<CR>
DTICOMBINE> FILEA INFILTRATION<CR> DTI file LSL$DTI:INFILTRATION.DTI;0 opened for read File : LSL$DTI:INFILTRATION.DTI;0 Header : LSLA Data: REAL Units are DTI Matrix Values Matrix Coverage SW: 1 1 NE: 201 201 Matrix Window SW: 1 1 NE: 51 51 Matrix Interval E: 1 N: 1 Value Range : 0.06 to 0.89 By default WINDOW commands for this file must be specified in DTI matrix units Use the UNITS command to change the default units
DTICOMBINE> REAL=A/(B**1.39)<CR>
DTICOMBINE>

DELETE COMMAND

--------------------------------------------------------------------------------
DELETE

--------------------------------------------------------------------------------
FORMAT: DELETE class-id

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

Deletes either all or specific CLASSes.

--------------------------------------------------------------------------------
Messages:

*** WARNING *** No CLASS deleted

*** ERROR *** Missing or illegal CLASS specified

CLASS deleted

All CLASSes deleted

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> DELETE 2<CR>
CLASS 2 deleted
DTICOMBINE>

DISABLE ABSOLUTE COMMAND

--------------------------------------------------------------------------------
DISABLE ABSOLUTE

--------------------------------------------------------------------------------
FORMAT: DISABLE ABSOLUTE

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

DISABLE ABSOLUTE cancels a previous ENABLE ABSOLUTE command. If DISABLE ABSOLUTE is given, then coordinate values required by the WINDOW command, supplied in metre or projection units, must be specified as an offset from the SW corner of the matrix.
By default window values should be specified as absolute coordinates.

--------------------------------------------------------------------------------
Messages:

The following error message is specific to the DISABLE command:


*** ERROR *** Specifying command DISABLE
Available DISABLE command qualifiers are: 
ABSOLUTE    DIAGNOSTICS     CLASSIFICATION     PME  

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> DISABLE ABSOLUTE<CR>
DTICOMBINE>

DISABLE CLASSIFICATION COMMAND

--------------------------------------------------------------------------------
DISABLE CLASSIFICATION

--------------------------------------------------------------------------------
FORMAT: DISABLE CLASSIFICATION

--------------------------------------------------------------------------------
Command parameters:_None

--------------------------------------------------------------------------------
DESCRIPTION:

DISABLE CLASSIFICATION allows the user to disable a previous ENABLE CLASSIFICATION command.

--------------------------------------------------------------------------------
Messages: None.

The following error message is specific to the DISABLE command:


*** ERROR *** Specifying command DISABLE
Available DISABLE command qualifiers are: 
ABSOLUTE    DIAGNOSTICS     CLASSIFICATION     PME  

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> ENABLE CLASSIFICATION<CR>
DTICOMBINE> SHOW CLASS<CR>


*** WARNING *** No classes found
DTICOMBINE> DISABLE CLASSIFICATION<CR>
DTICOMBINE> SHOW CLASS<CR>


Classification not enabled
DTICOMBINE>

DISABLE DIAGNOSTICS COMMAND

--------------------------------------------------------------------------------
DISABLE DIAGNOSTICS

--------------------------------------------------------------------------------
FORMAT: DISABLE DIAGNOSTICS

--------------------------------------------------------------------------------
Command parameters:_None

--------------------------------------------------------------------------------
DESCRIPTION:

DISABLE DIAGNOSTICS allows the user to disable a previous ENABLE DIAGNOSTICS command.

--------------------------------------------------------------------------------
Messages:

The following error message is specific to the DISABLE command:


*** ERROR *** Specifying command DISABLE
Available DISABLE command qualifiers are: 
ABSOLUTE     DIAGNOSTICS     CLASSIFICATION     PME

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> DISABLE DIAGNOSTICS<CR>
DTICOMBINE>

DISABLE PME COMMAND

--------------------------------------------------------------------------------
DISABLE PME

--------------------------------------------------------------------------------
FORMAT: DISABLE PME

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

DISABLE PME allows the user to disable a previous ENABLE PME command.

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the DISABLE and DISABLE PME commands:


*** ERROR *** Specifying command DISABLE
Available DISABLE command qualifiers are: 
ABSOLUTE    DIAGNOSTICS     CLASSIFICATION     PME     

*** WARNING *** You are not using PME !

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> ENABLE PME<CR>
DTICOMBINE> DISABLE PME<CR>
DTICOMBINE>

ENABLE ABSOLUTE COMMAND

--------------------------------------------------------------------------------
ENABLE ABSOLUTE

--------------------------------------------------------------------------------
FORMAT: ENABLE ABSOLUTE

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

If ENABLE ABSOLUTE is given, then coordinate values required by the WINDOW command, supplied in metre or projection units, must be specified as absolute (rather than relative) coordinate values.

For example if the projection indicates U.K. National Grid, then the WINDOW values may be specified as 6 figure National Grid coordinates.
By default window values should be specified as absolute coordinates.

This option can be disabled using the DISABLE ABSOLUTE command.

--------------------------------------------------------------------------------
Messages:

The following error message is specific to the ENABLE command:


*** ERROR *** Specifying command ENABLE
Available ENABLE command qualifiers are: 
ABSOLUTE     DIAGNOSTICS     CLASSIFICATION     PME

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> ENABLE CLASSIFICATION<CR>
DTICOMBINE> SHOW CLASS<CR>
*** WARNING *** No classes found
DTICOMBINE> DISABLE CLASSIFICATION<CR>
DTICOMBINE> SHOW CLASS<CR>
Classification not enabled
DTICOMBINE>

ENABLE CLASSIFICATION COMMAND

--------------------------------------------------------------------------------
ENABLE CLASSIFICATION

--------------------------------------------------------------------------------
FORMAT: ENABLE CLASSIFICATION

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

ENABLE CLASSIFICATION allows the user to enable classification of output data.

Please see the CLASS command.

--------------------------------------------------------------------------------
Messages:

The following error message is specific to the ENABLE command:


*** ERROR *** Specifying command ENABLE
Available ENABLE command qualifiers are: 
ABSOLUTE     DIAGNOSTICS     CLASSIFICATION     PME

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> ENABLE CLASSIFICATION<CR>
DTICOMBINE> SHOW CLASS<CR>
*** WARNING *** No classes found
DTICOMBINE> DISABLE CLASSIFICATION<CR>
DTICOMBINE> SHOW CLASS<CR>
Classification not enabled
DTICOMBINE>

ENABLE DIAGNOSTICS COMMAND

--------------------------------------------------------------------------------
ENABLE DIAGNOSTICS

--------------------------------------------------------------------------------
FORMAT: ENABLE DIAGNOSTICS

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

The ENABLE DIAGNOSTICS command is reserved for Laser-Scan use. DIAGNOSTICS is a debugging tool and should be invoked by LSL software personnel only.

DIAGNOSTICS allows a detailed listing of what the software is doing and helps to identify possible software performance inconsistencies. This causes the execution of the software to be slower.

--------------------------------------------------------------------------------
Messages:

The following error message is specific to the ENABLE command:


*** ERROR *** Specifying command ENABLE
Available ENABLE command qualifiers are: 
ABSOLUTE     DIAGNOSTICS     CLASSIFICATION     PME

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> ENABLE DIAGNOSTICS<CR>
DTICOMBINE>

ENABLE PME COMMAND

--------------------------------------------------------------------------------
ENABLE PME

--------------------------------------------------------------------------------
FORMAT: ENABLE PME

--------------------------------------------------------------------------------
Command parameters:_None.

--------------------------------------------------------------------------------
DESCRIPTION:

The ENABLE PME and DISABLE PME commands are reserved for Laser-Scan use. PME is a code optimisation tool and should be invoked by LSL software personnel only.

ENABLE PME causes the PME_INIT routine to be invoked.

--------------------------------------------------------------------------------
Message:

The following messages are specific to the ENABLE and ENABLE PME commands:


*** ERROR *** Specifying command ENABLE
Available ENABLE command qualifiers are: 
ABSOLUTE     DIAGNOSTICS     CLASSIFICATION     PME

*** WARNING *** You are already using PME!

--------------------------------------------------------------------------------
Examples:


$ DTICOMBINE<CR>
MATRIX module DTICOMBINE of 12:23:19 18-MAR-88
DTICOMBINE> ENABLE PME<CR>

EXCLUDE COMMAND

--------------------------------------------------------------------------------
EXCLUDE

--------------------------------------------------------------------------------
FORMAT: EXCLUDE arguments

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The EXCLUDE command excludes a value, or range of values, from being included as a member of a currently open CLASS.

For further explanation - please see the INCLUDE command (NB the only way in which EXCLUDE differs from INCLUDE is in that EXCLUDE does not take the "ALL" qualifier).

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the EXCLUDE command:

*** WARNING *** CLASSIFICATION not ENABLEd

*** WARNING *** No class currently open - use command CLASS n first

*** ERROR *** ...multiple decimal-point

*** ERROR *** ...illegal use of decimal-point/sign

*** ERROR *** ...extra characters after valid expression

*** ERROR *** ...error reading number

*** ERROR *** ...number followed by another number

*** ERROR *** ...illegal range

*** ERROR *** ...illegal use of operator

*** ERROR *** ...incomplete "ALL" specified

*** ERROR *** ...illegal operators with "ALL" specifier

*** ERROR *** ...unrecognised qualifiers

*** ERROR *** ...illegal to specify "ALL" with EXCLUDE command

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> CLASS 1
DTICOMBINE> INCLUDE <20,150,>=400
DTICOMBINE> SHOW CLASS
CLASS 1.0 <20.0 150.0 >=400.0
DTICOMBINE> EXCLUDE 150
DTICOMBINE> SHOW CLASS
CLASS 1.0 <20.0 >=400.0
DTICOMBINE>

FILEX COMMAND

--------------------------------------------------------------------------------
FILEx

--------------------------------------------------------------------------------
FORMAT: FILEx dti-file-spec e_.g_. FILEA EXAMPLE.DTI;9

--------------------------------------------------------------------------------
COMMAND PARAMETERS:

--------------------------------------------------------------------------------
DESCRIPTION:

The FILEx command causes the specified file to be opened and used as input file 'x' in the combination expression.

FILEx commands must selected from the range FILEA to FILEH inclusive; i_.e_. FILEA, FILEB, FILEC, FILED, FILEE, FILEF, FILEG, FILEH. A file may be specified for all 8 possible FILEx commands in this range within a single DTICOMBINE run.

DTICOMBINE checks that a file has been opened for each of the operands A through H in the user defined expression before a GO command will be executed. Similarly, DTICOMBINE checks that all files specified with FILEx commands are actually referenced within the user defined expression.

A file that has been opened by mistake using a FILEx command may be closed again using the CLOSE command.

At least one FILEx command must be issued before the WINDOW or GO commands will be accepted.

The output DTI file header type is taken from the input DTI file opened with the lowest alphabetic FILEx command. Thus if the FILEx commands FILEC TEST.DTI;0 and FILEF TEST2.DTI;8 are issued, the output file header type will be taken from the DTI file opened for input with the FILEC command.

A FILEx command also sets the context for the WINDOW command. The WINDOW command will only be accepted after a FILEx command has been accepted. The WINDOW command will relate to the file most recently opened with a FILEx command until the next FILEx command is issued, where-upon context is switched to the latest input file.

Appropriate default units of measurement are set up for the WINDOW command whenever an input DTI file is opened using a FILEx command.

The UNITS command should be given after opening the DTI file, but before the WINDOW command, should the user wish to specify WINDOW command arguments in a different measurement system to the file-type default.

If input file has been incorrectly windowed and a subsequent FILEx command issued, all is not lost. The incorrectly windowed file may be closed with the CLOSE command and then reopened with a FILEx command and the WINDOW respecified.

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the FILEx commands:

*** WARNING *** You must specify a file-spec argument to the FILEx command

*** ERROR *** Unable to interpret input file-spec

--------------------------------------------------------------------------------
Examples:

DTICOMBINE> FILEA SOIL<CR>
File    :  LSL$DTI:SOIL.DTI;0
Header  :  LSLA  Data:  REAL
Units are DTI Matrix Values.
Matrix Coverage   SW:       1       1          NE:       449     449
Matrix Interval    E:       1.00                N:       1.00
Value Range         :     -5.00 to  326421.00
DTICOMBINE> WINDOW 1 1 250 250<CR>
DTICOMBINE> 

FILEOUT COMMAND

--------------------------------------------------------------------------------
FILEOUT

--------------------------------------------------------------------------------
FORMAT: FILEOUT dti-file-spec

--------------------------------------------------------------------------------
COMMAND PARAMETERS:

--------------------------------------------------------------------------------
DESCRIPTION:

The FILEOUT command causes the specified file to be opened and used as the output file in the combination expression.

The output DTI file data type is taken from the keyword on the left hand side of the combination expression. Possible data types are

The output DTI file header type is taken from the input DTI file opened with the lowest alphabetic FILEx command. Thus if the FILEx commands FILEC TEST.DTI;0 and FILEF TEST2.DTI;8 are issued, the output file header type will be taken from the DTI file opened for input with the FILEC command.

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the FILEOUT command:

*** WARNING *** You must specify a file-spec argument to the FILEOUT command

*** ERROR *** Unable to interpret input file-spec

--------------------------------------------------------------------------------
Examples:

DTICOMBINE> FILEOUT TEST5
DTICOMBINE> GO
Output file now open:
File    :  LSL$DTI:TEST5.DTI
Header  :  LSLA  Data:  WORD
Units are DTI Matrix Values
Matrix Coverage   SW:     1     1  NE:   101   101
Matrix Interval    E:     1         N:     1
Value Range         :     0   to      0
25 columns of output DTI file complete
50 columns of output DTI file complete
75 columns of output DTI file complete
100 columns of output DTI file complete
101 columns of output DTI file complete
 ELAPSED:    0 00:00:14.18  CPU: 0:00:10.11  BUFIO: 14  DIRIO: 11  FAULTS: 165 
_$

GO COMMAND

--------------------------------------------------------------------------------
GO

--------------------------------------------------------------------------------
FORMAT: GO

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

The GO command creates and opens the output file specified with the FILEOUT command and then sets DTICOMBINE processing in motion.

Before the output file is opened, DTICOMBINE checks that the following condition are met:

The output DTI file header type is taken from the input DTI file opened with the lowest alphabetic FILEx command. Thus if the FILEx commands FILEC TEST.DTI;0 and FILEF TEST2.DTI;8 are issued, the output file header type will be taken from the DTI file opened for input with the FILEC command.

--------------------------------------------------------------------------------
Message:

The following messages are specific to the GO command:

*** WARNING *** You must specify at least one input DTI file before processing can begin

*** WARNING *** You must specify the expression defining the file combination before processing can begin

*** WARNING *** You must use the FILEOUT command to specify the output DTI file before processing can begin

*** ERROR *** File 'file-spec' open but not used in expression
Use CLOSE 'x' command or respecify expression'

*** ERROR *** No file open for operand 'operand' in expression
Use FILE'x' command to open appropriate file

--------------------------------------------------------------------------------
Examples:


$ DTICOMBINE<CR> DTICOMBINE> FILEA POLYOVER_SOILS<CR> DTI file LSL$DTI:POLYOVER_SOILS.DTI;0 opened for read File : LSL$DTI:POLYOVER_SOILS.DTI;0 Header : LSLA Data: WORD Units are DTI Matrix Values Matrix Coverage SW: 1 1 NE: 101 101 Matrix Interval E: 1 N: 1 Value Range : 29 to 1020 By default WINDOW commands for this file must be specified in DTI matrix units Use the UNITS command to change the default units DTICOMBINE> FILEB POLYOVER_SLOPES DTI file LSL$DTI:POLYOVER_SLOPES.DTI;0 opened for read File : LSL$DTI:POLYOVER_SLOPES.DTI;0 Header : LSLA Data: WORD Units are DTI Matrix Values Matrix Coverage SW: 1 1 NE: 101 101 Matrix Interval E: 1 N: 1 Value Range : 0 to 2000 By default WINDOW commands for this file must be specified in DTI matrix units Use the UNITS command to change the default units DTICOMBINE> WORD=A-B DTICOMBINE> FILEOUT TEST5 DTICOMBINE> GO Output file now open: File : LSL$DTI:TEST5.DTI Header : LSLA Data: WORD Units are DTI Matrix Values Matrix Coverage SW: 1 1 NE: 101 101 Matrix Interval E: 1 N: 1 Value Range : 0 to 0 25 columns of output DTI file complete 50 columns of output DTI file complete 75 columns of output DTI file complete 100 columns of output DTI file complete 101 columns of output DTI file complete ELAPSED: 0 00:00:14.18 CPU: 0:00:10.11 BUFIO: 14 DIRIO: 11 FAULTS: 165 _$

HELP COMMAND

--------------------------------------------------------------------------------
HELP

--------------------------------------------------------------------------------
FORMAT: HELP subject

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
Description:

The HELP command looks the rest of the line up in the MATRIX HELP library. This library contains a brief summary of the operation of each command.

The information is looked up in the DTICOMBINE section of the MATRIX help library, LSL$HELP:MATRIX.HLB.

--------------------------------------------------------------------------------
Messages:

Where required, warning messages are output via the VMS LBR$OUTPUT_HELP utility.

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> HELP ENABLE PME<CR>

DTICOMBINE

ENABLE

PME


DTICOMBINE>

INCLUDE COMMAND

--------------------------------------------------------------------------------
INCLUDE

--------------------------------------------------------------------------------
FORMAT: INCLUDE arguments

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The INCLUDE command enables a value, or range of values, to be included as a member of a currently open CLASS.

On output of the DTI data, the data is compared against all the members of all the classes set-up, if there is a match then the DTI value is changed to that of the class-id, if there is no match to any of the class-members then the DTI value is set to zero.

Specifying ALL with INCLUDE causes all the DTI values that failed to match any members of any of the other classes to be set to the class-id of this class. If more than one class has an INCLUDE ALL specification, then the class-id of the first - chronologically speaking - class, is used.

If no INCLUDE or EXCLUDE command is issued in association with a CLASS command then the effect is the same as if the INCLUDE ALL command was issued.

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the INCLUDE command:

*** WARNING *** CLASSIFICATION not ENABLEd

*** WARNING *** No class currently open - use command CLASS n first

*** ERROR *** ...multiple decimal-point

*** ERROR *** ...illegal use of decimal-point/sign

*** ERROR *** ...extra characters after valid expression

*** ERROR *** ...error reading number

*** ERROR *** ...number followed by another number

*** ERROR *** ...illegal range

*** ERROR *** ...illegal use of operator

*** ERROR *** ...incomplete "ALL" specified

*** ERROR *** ...illegal operators with "ALL" specifier

*** ERROR *** ...unrecognised qualifiers

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> CLASS 1
DTICOMBINE> INCLUDE <20,150,>=400
DTICOMBINE> SHOW CLASS


CLASS 1.0 <20.0 150.0 >=400.0
DTICOMBINE>

LONGWORD COMMAND

--------------------------------------------------------------------------------
LONGWORD

--------------------------------------------------------------------------------
FORMAT: LONGWORD = expression

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The LONGWORD command enables specification of the combination expression and instructs DTICOMBINE to place the results into a LONGWORD valued DTI file.

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the LONGWORD command:

*** ERROR *** Longword underflow detected at post X = 'integer', Y = 'integer'

*** ERROR *** Longword overflow detected at post X = 'integer', Y = 'integer'

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> LONGWORD=A*(B-C)<CR>
DTICOMBINE>

OUTPUT INTERSECTION COMMAND

--------------------------------------------------------------------------------
OUTPUT INTERSECTION

--------------------------------------------------------------------------------
FORMAT: OUTPUT INTERSECTION

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

Sets the area from which the data will be taken to create the output file to be the common area of overlap between the open DTI files.

--------------------------------------------------------------------------------
Messages:

When the GO command is issued, the areas covered by the files are checked. If all the files do not overlap, then the OUTPUT is set to UNION (see command OUTPUT UNION) and a warning message is issued.

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> OUTPUT INTERSECTION<CR>


DTICOMBINE>


	
	+-----------------------+
	|/ / / / / / / / / / / /|
	| / / / / / / / / / / / |
	|/           / / / / / /|
	| /  FILE A   / / / / / |
	|/           / / / / / /|
	| / / / / / /+/-/-/-/-/-|---------------+		+----------+
	|/ / / / / / /\/\/\/\/\/\ \ \ \ \ \ \ \ |		|/\/\/\/\/\|
	| / / / / / /|/\/\/\/\/\|\ \ \ \ \ \ \ \|	 \\	|\	  /|
	|/ / / / / / /\/\/\/\/\/\ \ \ \ \ \ \ \ |    =====>>	|  OUTPUT  |
	| / / / / / /|/\/\/\/\/\|\ \ \ \ \ \ \ \|	 //	|\	  /|
	|/ / / / / / /\/\/\/\/\/\ \ \ \ \ \ \ \ |		|/\/\/\/\/\|
	| / / / / / /|/\/\/\/\/\|\ \ \ \ \ \ \ \|		|\/\/\/\/\/|
	+------------|\-\-\-\-\-+ \ \ \ \ \ \ \ |		+----------+
		     | \ \ \ \ \ \ \ \ \ \ \ \ \|
		     |\ \ \ \           \ \ \ \ |
		     | \ \ \ \  FILE B   \ \ \ \|
		     |\ \ \ \           \ \ \ \ |
		     | \ \ \ \ \ \ \ \ \ \ \ \ \|
		     +--------------------------+

OUTPUT UNION COMMAND

--------------------------------------------------------------------------------
OUTPUT UNION

--------------------------------------------------------------------------------
FORMAT: OUTPUT UNION

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

Sets the area from which the data will be taken to create the output file to be the rectangle which contains all of the input DTI files.

The rectangle is bounded by the extreme north-east and south-west corners (in real world coordinates), of the active windows in the open DTI files.

When the GO command is issued, areas of the input files which fall within the UNION area but fall outside the active window areas are treated as NULL.

--------------------------------------------------------------------------------
Messages:\_none

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> OUTPUT UNION<CR>
DTICOMBINE>



		. . . . . . . . . . . . . . . . . . . . . .
		.+------+		+----------------+.
		.|AAAAAA|		| C C C C C C C C|.
		.|AAAAAA|   +-----------=-----+ C C C C C|.
		.|AAAAAA|   |B B B B B B|BCBCB| C C C C C|.
		.|AAAAAA|   |B B B B B B|BCBCB| C C C C C|.
		.|AAAAAA|   |B B B B B B+-----=----------+.
		.|AAAAAA|   |B B B B B B B B B|		  .   //     BOUNDING
		.|AAAAAA|   |B B B B B B B B B|	 	  .  <<====  RECTANGLE
		.+------+   |B B B B B B B B B|		  .   \\      (UNION)
		.	    |B B B B B B B B B|		  .
		.	+---=-----------------=--------+  .
   NULL	----------> 	| D |BDBDBDBDBDBDBDBDB| D   D  |  .
   AREA		.	|   +-----------------+	       |  .
		.	|D  D   D   D   D   D   D   D  |  .
		.	+------------------------------+  .
		. . . . . . . . . . . . . . . . . . . . . .

PAUSE COMMAND

--------------------------------------------------------------------------------
PAUSE

--------------------------------------------------------------------------------
FORMAT: PAUSE

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

Pauses DTICOMBINE execution and issues a prompt for a carriage return to continue execution. This command is designed for use in software demonstration situations.

--------------------------------------------------------------------------------
Messages: None.

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> PAUSE<CR>


Press to continue<CR>
DTICOMBINE>

QUIT COMMAND

--------------------------------------------------------------------------------
QUIT

--------------------------------------------------------------------------------
FORMAT: QUIT

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
Description:

The QUIT command causes DTICOMBINE to exit immediately, closing the input file and closing and deleting the output file.

(pressing the Ctrl and Z keys together) may also be used to quit from the program.

--------------------------------------------------------------------------------
Messages: None.

--------------------------------------------------------------------------------
Examples:

DTICOMBINE> QUIT<CR>
ELAPSED: 00:00:20.04 CPU: 0:00:04.71 BUFIO: 281 DIRIO: 46 FAULTS: 263
_$

REAL COMMAND

--------------------------------------------------------------------------------
REAL

--------------------------------------------------------------------------------
FORMAT: REAL=expression

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The REAL command enables specification of the combination expression and instructs DTICOMBINE to place the results into a REAL valued DTI file.

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> REAL=A*(B-C)<CR>
DTICOMBINE>

RETURN COMMAND

--------------------------------------------------------------------------------
RETURN

--------------------------------------------------------------------------------
FORMAT: RETURN

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

Restores command input from an indirect file to SYS$COMMAND.

A typical application is to allow the user to use an indirect command file to set up those run time defaults which are constant within a flowline and then return to input from the terminal (or batch stream) for the run specific commands. To do this RETURN must be the last command in the indirect command file.

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the RETURN command:

RETURN command detected - returning to terminal input
RETURN command ignored - command input is already from terminal

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> @FLOW2<CR>
DTICOMBINE> RETURN
DTICOMBINE>

SHOW CLASSES COMMAND

--------------------------------------------------------------------------------
SHOW CLASSES

--------------------------------------------------------------------------------

FORMAT:		 SHOW CLASSES

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION: ...

--------------------------------------------------------------------------------
Messages:

The following message is specific to the SHOW command:


*** ERROR *** Specifying command SHOW
Available SHOW command qualifiers are:
CLASSES, ENABLE, EXPRESSION, FILEA, FILEB, FILEC, FILED
FILEE, FILEF, FILEG, FILEH, FILES, UNITS, OUTPUT

--------------------------------------------------------------------------------
Examples:

DTICOMBINE>SHOW CLASSES


CLASS 2.0 120.0 >=200.0 <=300.0
CLASS 10.0 All values
DTICOMBINE>

SHOW ENABLE COMMAND

--------------------------------------------------------------------------------
SHOW ENABLE

--------------------------------------------------------------------------------

FORMAT:		 SHOW ENABLE

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

Displays the current status of all the DTICOMBINE options that may be enabled or disabled using the ENABLE and DISABLE commands.
The name of the option is shown, followed by either the word ON or OFF to indicate its current status.
If the command SHOW ENABLE is used before any ENABLE or DISABLE commands have been given, the default status of the options is displayed.

--------------------------------------------------------------------------------
Messages:

The following message is specific to the SHOW command:


*** ERROR *** Specifying command SHOW
Available SHOW command qualifiers are:
CLASSES, ENABLE, EXPRESSION, FILEA, FILEB, FILEC, FILED
FILEE, FILEF, FILEG, FILEH, FILES, UNITS, OUTPUT

--------------------------------------------------------------------------------
Examples:

DTICOMBINE>SHOW ENABLE


Current status:

ABSOLUTE         On        CLASSIFICATION   Off      DIAGNOSTICS      Off

PME              Off


DTICOMBINE>

SHOW EXPRESSION COMMAND

--------------------------------------------------------------------------------
SHOW EXPRESSION

--------------------------------------------------------------------------------

FORMAT:		 SHOW EXPRESSION

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

This command displays the current combination expression defined with the BYTE, WORD, LONGWORD or REAL commands.

--------------------------------------------------------------------------------
Messages:

The following message is specific to the SHOW command:


*** ERROR *** Specifying command SHOW
Available SHOW command qualifiers are:
CLASSES, ENABLE, EXPRESSION, FILEA, FILEB, FILEC, FILED
FILEE, FILEF, FILEG, FILEH, FILES, UNITS, OUTPUT

--------------------------------------------------------------------------------
Examples:

DTICOMBINE>SHOW EXPRESSION

       WORD = A*5


DTICOMBINE>

SHOW FILEX COMMAND

--------------------------------------------------------------------------------
SHOW FILEx

--------------------------------------------------------------------------------

FORMAT:		 SHOW FILEx
		 SHOW FILES

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

Details extracted from the header of FILE 'x' are displayed on the terminal.

The header values are shown in the current units of measurement. This is dependent on the header type of the input file, or may be set explicitly using the UNITS command. By default or if the ENABLE ABSOLUTE command has been given then metre or projection values are expressed in absolute values. Otherwise they are displayed as offsets from the SW corner of the matrix.

The SHOW FILES command displays the information for all the input files.

--------------------------------------------------------------------------------
Messages:

The following message is specific to the SHOW command:


*** ERROR *** Specifying command SHOW
Available SHOW command qualifiers are:
CLASSES, ENABLE, EXPRESSION, FILEA, FILEB, FILEC, FILED
FILEE, FILEF, FILEG, FILEH, FILES, UNITS, OUTPUT

--------------------------------------------------------------------------------
Examples:

DTICOMBINE>SHOW FILES

FILEA:
DTI file LSL$DTI:UHL1DATA.DTI;0 opened for read

File    :  LSL$DTI:UHL1DATA.DTI;0
Header  :  UHL1  Data:  WORD

Units are Degrees, Minutes, Seconds

Matrix Origin       :  52 00 00S   58 00 00W  
Matrix Coverage   SW:  52 00 00S   58 00 00W   NE:  51 50 00S   57 39 20W  
Matrix Interval    E:          2                N:          1
Value Range         :     0   to    321


By default WINDOW commands for this file must be specified in Latlong (degrees,
minutes and seconds)
Use the UNITS command to change the default units

FILEB:
File B is undefined

FILEC:
File C is undefined

FILED:
File D is undefined

FILEE:
File E is undefined

FILEF:
File F is undefined

FILEG:
File G is undefined

FILEH:
File H is undefined


DTICOMBINE>

SHOW OUTPUT COMMAND

--------------------------------------------------------------------------------
SHOW OUTPUT

--------------------------------------------------------------------------------

FORMAT:		 SHOW OUTPUT

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

Displays whether the data for the creation of the output file will come from the union or the intersection of the active window areas in the currently opened input files.

The OUTPUT command may be used to change the output settings

--------------------------------------------------------------------------------

Examples:

DTICOMBINE>SHOW OUTPUT

Output set to UNION of input files

DTICOMBINE>

SHOW UNITS COMMAND

--------------------------------------------------------------------------------
SHOW UNITS

--------------------------------------------------------------------------------

FORMAT:		 SHOW UNITS

--------------------------------------------------------------------------------
Command parameters: None.

--------------------------------------------------------------------------------
DESCRIPTION:

Displays the current units of measurement which will be used when defining an area of interest in the input DTI file with the WINDOW command.

The UNITS command may be used to change the current units of measurement.

--------------------------------------------------------------------------------
Messages:

The following message is specific to the SHOW command:


*** ERROR *** Specifying command SHOW
Available SHOW command qualifiers are:
CLASSES, ENABLE, EXPRESSION, FILEA, FILEB, FILEC, FILED
FILEE, FILEF, FILEG, FILEH, FILES, UNITS, OUTPUT

--------------------------------------------------------------------------------
Examples:

DTICOMBINE>SHOW UNITS

Current WINDOW units are Projection Units.

DTICOMBINE>

SPAWN COMMAND

--------------------------------------------------------------------------------
SPAWN

--------------------------------------------------------------------------------
FORMAT: SPAWN command-line

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The SPAWN command enables you to create a subprocess while within DTICOMBINE. When the subprocess terminates control is returned to DTICOMBINE.

--------------------------------------------------------------------------------
Messages:

The following warning messages are specific to the SPAWN command:

*** WARNING *** SPAWN requires a valid DCL command line

*** ERROR *** Unable to spawn command, returning to DTICOMBINE

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> SPAWN DIRECTORY *_.DTI;*<CR>

Directory DUA3:[EXPERIMENT3.DTI]
HUMUS.DTI;1               7/8       18-Oct-1987 17:07  [LSL,TIM]
INFILTRATION.DTI;1        8/8       18-Oct-1987 07:56  [LSL,TIM]
SOILS.DTI;2               7/8       18-Oct-1987 17:17  [LSL,TIM]
Total of 3 files, 22/24 blocks.

DTICOMBINE>

UNITS COMMAND

--------------------------------------------------------------------------------
UNITS

--------------------------------------------------------------------------------
FORMAT: UNITS units

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The UNITS command specifies the units of measurement used to define an area of interest in the input DTI file using the WINDOW command. The command also controls in what format details from the header of the file are displayed.

Appropriate default units of measurement are set up for the WINDOW command whenever an input DTI file is opened using a FILEx command.

The UNITS command should be given after opening the DTI file, but before the WINDOW command, should the user wish to specify WINDOW command arguments in a different measurement system to the file-type default.

--------------------------------------------------------------------------------
Messages:

The following error messages are specific to the UNITS command:

*** ERROR *** Specifying command UNITS
Command qualifiers are MATRIX, METRES, SECONDS, LATLONG or PROJECTION

*** ERROR *** Specifying command UNITS
Command qualifier is invalid for the input file

WAIT COMMAND

--------------------------------------------------------------------------------
WAIT

--------------------------------------------------------------------------------
FORMAT: WAIT seconds

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The WAIT command causes processing to be suspended for a specified number of seconds. It is designed for use in software demonstration situations and is of no value in a production flowline.

--------------------------------------------------------------------------------
Messages:

The following warning message is specific to the WAIT command:

*** WARNING *** You must specify the number of seconds to wait

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> WAIT 4<CR>
DTICOMBINE>

WINDOW COMMAND

--------------------------------------------------------------------------------
WINDOW

--------------------------------------------------------------------------------
FORMAT: WINDOW xmin ymin xmax ymax

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The command is used to define rectangular limits to the area of data to be checked within the input DTI file. The limits must be specified in the order bottom left hand (or south west) corner then top right hand (or north east) corner.

The specified window values must lie within the input DTI file x and y ranges.

Appropriate default units of measurement are set up for the WINDOW command whenever an input DTI file is opened. The UNITS command should be given after opening the DTI file, but before the WINDOW command, should the user wish to specify WINDOW command arguments in a different measurement system to the file-type default.

The WINDOW command can be used to clip data from the input DTI file. If input is to be from an entire DTI file then the WINDOW command may be omitted as the WINDOW extents will then, by default, be taken from the DTI file header.

--------------------------------------------------------------------------------
Messages:

The following warning messages are specific to the WINDOW command:

*** ERROR **** FILEx command must be used to open the DTI file first

*** ERROR **** Specifying DTI window arguments Command requires 2 x,y coordinate pairs (SW and NE)

*** ERROR **** Specifying DTI window NE coordinates should exceed SW coordinates

*** WARNING *** Specified window exceeds matrix limits Window will be truncated to fit

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> WINDOW 10 10 120 120<CR>
DTICOMBINE>

WORD COMMAND

--------------------------------------------------------------------------------
WORD

--------------------------------------------------------------------------------
FORMAT: WORD=expression

--------------------------------------------------------------------------------
Command parameters:

--------------------------------------------------------------------------------
DESCRIPTION:

The WORD command enables specification of the combination expression and instructs DTICOMBINE to place the results into a WORD valued DTI file.

--------------------------------------------------------------------------------
Messages:

The following messages are specific to the WORD command:

*** ERROR *** Word underflow detected at post X = 'integer', Y = 'integer'

*** ERROR *** Word overflow detected at post X = 'integer', Y = 'integer'

--------------------------------------------------------------------------------
Examples:


DTICOMBINE> WORD=A*(B-C)<CR>
DTICOMBINE> --------------------------------------------------------------------------------

DTICOMBINE EXAMPLES

--------------------------------------------------------------------------------

EXAMPLES

EXAMPLES


$ DTICOMBINE<CR>
MATRIX module DTICOMBINE of 15:27:43  9-MAR-88
DTICOMBINE> @XXX<CR>
Command input now being read from SYS$DISK:[]XXX.COM;0
DTICOMBINE> FILEA POLYOVER_SOILS<CR>
DTI file LSL$DTI:POLYOVER_SOILS.DTI;0 opened for read
File    :  LSL$DTI:POLYOVER_SOILS.DTI;0
Header  :  LSLA Data:  WORD
Units are DTI Matrix Values
Matrix Coverage   SW:     1     1  NE:   101   101
Matrix Interval    E:     1         N:     1
Value Range         :    29   to   1020
By default WINDOW commands for this file must be specified in DTI matrix units 
Use the UNITS command to change the default units
DTICOMBINE> FILEB POLYOVER_SLOPES
DTI file LSL$DTI:POLYOVER_SLOPES.DTI;0 opened for read
File    :  LSL$DTI:POLYOVER_SLOPES.DTI;0
Header  :  LSLA Data:  WORD
Units are DTI Matrix Values
Matrix Coverage   SW:     1     1  NE:   101   101
Matrix Interval    E:     1         N:     1
Value Range         :     0   to   2000
By default WINDOW commands for this file must be specified in DTI matrix units
Use the UNITS command to change the default units
DTICOMBINE> WORD=A-B
DTICOMBINE> FILEOUT TEST5
DTICOMBINE> GO
Output file now open:
File    :  LSL$DTI:TEST5.DTI
Header  :  LSLA Data:  WORD
Units are DTI Matrix Values
Matrix Coverage   SW:     1     1  NE:   101   101
Matrix Interval    E:     1         N:     1
Value Range         :     0   to      0
25 columns of output DTI file complete
50 columns of output DTI file complete
75 columns of output DTI file complete
100 columns of output DTI file complete
101 columns of output DTI file complete
 ELAPSED:    0 00:00:14.18  CPU: 0:00:10.11  BUFIO: 14  DIRIO: 11  FAULTS: 165 
_$

^MESSAGES

-------------------------------------------------------------------------------- MESSAGES

DTICOMBINE produces no messages of the %DTICOMBINE-severity-mnemonic variety of it's own. All the DTICOMBINE messages are of the more conversational *** WARNING *** and *** ERROR *** variety, as all are directly or indirectly attributable to the effects of commands the user has specified.

In addition to the above messages which are generated by DTICOMBINE itself, other messages may be produced by the command line interpreter and by Laser-Scan libraries. In particular, messages may be generated by the DTI library and by the Laser-Scan I/O library, LSLLIB. DTI library messages are introduced by '%DTI' and are documented in the DTI library users' guide. In most cases DTI errors will be due to a corrupt input file, and this should be the first area of investigation. If the cause of the error cannot be traced by the user, and Laser-Scan are consulted, then the output file should be preserved to facilitate diagnosis. LSLLIB messages are introduced by '%LSLLIB' and are generally self-explanatory. They are used to explain the details of program generated errors.

EXPRESSIONS

EXPRESSION SYNTAX

--------------------------------------------------------------------------------

SYNTAX

An expression is a mathematically correct combination of_:

Operands, Operators and Functions

Operands:

An operand is an integer or floating point constant_, or a variable chosen from the set A through H. The letter chosen to symbolise the variable should match that selected when opening the corresponding DTI input file.

Operands may take the form of sub-expressions. These are expressions which are surrounded by parentheses and are contained in an expression.

E.g.

Sub-expressions are evaluated by DTICOMBINE and their return values are treated as operands within the expression.

Operators are chosen from the set:
 
  Arithmetic operators:
	unary minus		-		e.g.	- A
	addition		+		e.g.	A + B
	subtraction		-		e.g.	A - 3
	division		/		e.g.	A / 2
	multiplication		*		e.g.	A * 3
	exponentiation		**		e.g.	A **1.2

   Bitwise operators:
	bitwise AND		&		e.g.	A & 127
	bitwise OR		|		e.g.	A | B
	bitwise NOT		~		e.g.	~ A
	bitwise XOR		^		e.g.	A ^ B

   Logical operators:
	logical AND		&&		e.g.	( A > 1 ) && B
	logical OR		||		e.g.	(A<3) || (B>20)
	logical NOT		~~		e.g.	~~(A = 4)
	logical XOR		^^		e.g.	(A = 3)^^(B < 3)

   Relational operators:
	less than		<		e.g.	A < 3
	greater than		>		e.g.	D > 4
	equal to		=		e.g.	A = B
	not equal to		<>		e.g.	A <> 6.7
	less than or equal to	<=		e.g.	C <= A
	greater or equal to	>=		e.g.	B >= (10*A)

Functions available are:

	absolute		ABS		e.g.	ABS(A)
	nearest integer		NINT		e.g.	NINT(3.1415927)
	arc cosine		ACOS		e.g.	ACOS(.32)
	arc sine		ASIN		e.g.	ASIN(A)
	arc tangent		ATAN		e.g.	ATAN(B/A)
	cosine			COS		e.g.	COS(90)
	sine			SIN		e.g.	SIN(D)
	tangent			TAN		e.g.	TAN(A/B)
	maximum			MAX		e.g.	MAX(A,B,C,D,E,F)
	minimum			MIN		e.g.	MIN(2,D,B)
	conditional		IF		e.g.	IF(A>3,A,B)

PRECEDENCE IN EXPRESSIONS

--------------------------------------------------------------------------------

PRECEDENCE

The list below shows the order of precedence in descending order as used by DTICOMBINE while evaluating expressions:

Operators of equal precedence are evaluated from left to right. Parentheses _'_(_' and _'_)_' may be used to force the order of evaluation.

INTERPRETATION OF TRUTH VALUES

--------------------------------------------------------------------------------

TRUTH VALUES IN EXPRESSIONS

When an expression contains logical operators, the operands of the operation are interpreted by DTICOMBINE as having logical values - either TRUE or FALSE.

If a numeric operand is used in a logical operation, then any non-zero values are interpreted as having the logical value TRUE, while zero is interpreted as having the logical value of false.

The result of the expression is

EXAMPLE EXPRESSIONS

--------------------------------------------------------------------------------

EXAMPLES

For the purpose of these examples_, The values of the variables A through to H are set to be 1_,2_,3_,4_,5_,6_,7_,8 respectively_.

Examples of parentheses used to force evaluation order

without parentheses 2*6_+3 15 with parentheses 2*(6+3) 18

some examples of expressions involving sub-expressions: