% @(#)computxzpl.hlq	19.1 (ESO-IPG) 02/25/03 14:03:04 
%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
%.COPYRIGHT  (c)  1990 European Southern Observatory
%.IDENT      computxzpl.hlq
%.AUTHOR     KB, IPG/ESO
%.KEYWORDS   MIDAS, help files, COMPUTE/XZPLANE
%.PURPOSE    On-line help file for the command: COMPUTE/XZPLANE
%.VERSION    1.0  12-OCT-1995 : Creation, KB
%----------------------------------------------------------------
\se
SECTION./XZPL
\es\co
COMPUTE/XZPLANE					12-OCT-1995  KB
\oc\su
COMPUTE/XZPLANE result_cube = expression
	compute arithmetic expression on xz_planes of cubes
\us\pu
Purpose:  
	   Compute arithmetic expressions on the xz_planes of image
           cubes.
\up\sub
Subject: 
           Arithmetic.
\bus\sy
Syntax: 
           COMPUTE/XZPLANE result_cube = expression
\ys\pa
           result_cube = frame to get result of expression.
               The result frame will be created using real data format, no
               matter what data format the individual input frames have.
\\
               If descriptor copying is enabled (which is the default, see also
               the command SET/MIDAS_SYSTEM DSCCOPY=..),
\\
               all non-standard descriptors of the first 3-dim input frame in
               the expression are copied to the result frame unless you enter
               `frame,dscname' as result_cube with dscname the name of a frame
               in the expression;
\\
               then, the non-standard descriptors of that frame are copied
               instead of the ones of the first 3-dim frame in the expression
\ap\pa
           expression = arithmetic expression with up to 21 operands, which may
               be functions and frames or/and constants in the usual algebraic
               notation 
\ap\no
Note:      
           The xz_plane of a cube is formed by the x- and z-axis and has 
           NPIX(1) pixels per row and NPIX(3) pixels per column.
\\
           If a frame operand has NAXIS=2, the single plane of that frame is
           used in the computation for all xz_planes of the result frame.
\\
           If a frame operand has NAXIS=1, the single line of that frame is 
           used in the computation for all lines of all xz_planes of the result
           frame.
\\
           There must be at least one 3-dim frame operand in the arithmetic
           expression, from which the dimensions of the result frame are
           taken over.
\\
           If the result frame has the same name as a frame appearing in the
           expression, no new frame is created, but the result frame is
           overwritten. Furthermore, since no new result frame is created, the
           final data is reconverted to the original data format when closing
           the result frame and you could get truncation errors!
\\
           The operations +, -, *, / and ** are supported with the same
           precedence as in FORTRAN. Parentheses may be used to change that
           order as well as to nest operations.
\\
           The functions
\\
           SQRT(a), EXP(a), EXP10(a), LN(a), LOG10(a), SIN(a) ASIN(a), COS(a),
           ACOS(a), TAN(a), ATAN(a), INT(a), ABS(a), ATAN2(a1,a2), MAX(a1,a2),
           MIN(a1,a2) and MOD(a1,a2)
\\
           are implemented as in FORTRAN. Except, that INT(a) will return the
           nearest integer of "a" converted to real. The trigonometric
           functions expect arguments in degrees!
\\
           Results of illegal operations (e.g. division by zero) are set to
           the "null value" stored in the real keyword NULL.
\on\sa
See also:
           COMPUTE/XYPLANE, COMPUTE/ZYPLANE, COMPUTE/IMAGE
\\
           TRANSPOSE/CUBE, SET/MIDAS_SYS
\as\exs
Examples:
\ex
           COMPUTE/XZPLANE res3 = ima3+10*jma3
             Compute the xz-planes of the resulting cube `res3.bdf' from the
             expression combining the xz-planes of the cubes `ima3.bdf' and
             `jma3.bdf'. The size and no. of xz-planes of the cubes `ima3.bdf'
             and `jma3.bdf' must be equal.
\\
             The dimensions of `res3.bdf' are taken from `ima3.bdf'.
\\
             If descriptor copying is enabled, also all non-standard 
             descriptors of `ima3.bdf' (the 1. 3-dim frame in the expression)
             are copied to `res3.bdf'.
\xe\ex
           COMPUTE/XZPLANE res3,jma3 = ima3+10*jma3
            As above, but if descriptor copying is enabled, all non-standard
            descriptors of `jma3.bdf' are copied to `res3.bdf'.
\xe\ex
           COMPUTE/XZPLANE res3 = ima2-ima3
             Compute the xz-planes of the resulting cube `res3.bdf' from the
             difference of the 2-dim frame `ima2.bdf' and all xz-planes of the
             cube `ima3.bdf'. The size of `ima2.bdf' and the size of the
             xz-planes of `ima3.bdf' must be equal. That means, NPIX(1),(2) of
             `ima2.bdf' and NPIX(1),(3) of `ima3.bdf' must be equal.
\\
             The dimensions of `res3.bdf' are taken from `ima3.bdf'.
\xe\ex
           COMPUTE/XZPLANE res3 = ima2-ima3+sin(ima1)
             Compute the xz-planes of the resulting cube `res3.bdf' from the
             expression involving the 2-dim frame `ima2.bdf', the 3-dim
             frame  `ima3.bdf' and the 1-dim frame `ima1.bdf'. The 2-dim frame 
             `ima2.bdf' is used with all xz-planes of the cube `ima3.bdf'.
             Also, the 1-dim frame `ima1.bdf' is used with all lines of
             `ima2.bdf' and all lines of all xz-planes of `ima3.bdf'. The size
             of `ima2.bdf' and the size of the xz-planes of `ima3.bdf' must be
             equal. Also, the no. of pixels of `ima1.bdf' must be equal to
             the no. of pixels per line of the xz-planes of `ima3.bdf'. That
             means, NPIX(1) must be equal for all frames, and NPIX(2) of 
             `ima2.bdf' must be equal to NPIX(3) of `ima3.bdf'.
\\
             The dimensions of `res3.bdf' are taken from `ima3.bdf'.
\xe \sxe
