ISIS Application Documentation
Performs algebra on either one or two cubes
Description
Categories
Groups
History
Description
This program will perform simple algebra on either one or two cubes.
The two cubes may be added, subtracted, multiplied or divided. The
following equations are used:
UNARY: out = (A * from1) + C
ADD: out = ((from1  D) * A) + ((from2  E) * B) + C
SUBTRACT: out = ((from1  D) * A)  ((from2  E) * B) + C
MULTIPLY: out = ((from1  D) * A) * ((from2  E) * B) + C
DIVIDE: out = ((from1  D) * A) / ((from2  E) * B) + C
The FROM2 cube must have either one band or the same number of bands as the
FROM cube. If the FROM2 cube has one band, then the algebraic formula will
be applied to all bands in FROM using that single band in FROM2. If FROM2
is a multiband cube, the algebra will be performed between corresponding
bands from FROM and FROM2.
Categories
Related Applications to Previous Versions of ISIS
This program replaces the following
applications
existing in previous versions of ISIS:
Applications
Parameter Groups
Files
Name

Description

FROM 
First Input cube

FROM2 
Second Input Cube

TO 
Output cube

Operators and Coefficients
Name

Description

OPERATOR 
Operation performed on cubes

A  Multiplicative constant for first input cube 
B  Multiplicative constant for second input cube 
C  Additive constant 
D  Additive constant 
E  Additive constant 
Files:
FROM
Description
Use this parameter to select the cube which is the first term in
the equation.
Type
 cube 
File Mode
 input 
Filter

*.cub

Files:
FROM2
Description
This image will be used as the second term in the equation. This
cube must have either one band or the same number of bands as the
cube in FROM. If this cube has one band, then the single band will
be applied to each band in FROM using the equation. If this cube
has multibands then each corresponding band in FROM2 is applied to
FROM using the equation.
Type
 cube 
File Mode
 input 
Filter

*.cub

Files:
TO
Description
This file will contain the results of the algebraically manipulated
cubes.
Type
 cube 
File Mode
 output 
Pixel Type
 real 
Operators and Coefficients:
OPERATOR
Description
Mathematical operation performed on the two input cubes
Type
 string 
Default
 SUBTRACT 
Option List:

Option 
Brief 
Description 
UNARY  Operate on first input cube 
Apply the following equation:
out = A * from1 + C
Exclusions

ADD  Add images 
Add images together using following equation:
out = ((from1  D) * A) + ((from2  E) * B) + C
Inclusions

SUBTRACT  Subtract images 
Subtract FROM2 from FROM using the following equation:
out = ((from1  D) * A)  ((from2  E) * B) + C
Inclusions

MULTIPLY  Multiply images 
Multiply images together using the following equation:
out = ((from1  D) * A) * ((from2  E) * B) + C
Inclusions

DIVIDE  Divide images 
Divide FROM by FROM2 using the following equation:
out = ((from1  D) * A) + ((from2  E) * B) + C
Inclusions


Operators and Coefficients:
A
Description
This defines the multiplicative constant for the first input
cube.
Operators and Coefficients:
B
Description
This defines the multiplicative constant for the second input
cube.
Operators and Coefficients:
C
Description
This defines the additive constant for entire equation.
Operators and Coefficients:
D
Description
This defines the additive constant for the first input cube.
Operators and Coefficients:
E
Description
This defines the additive constant for second input cube.
History
Jim Mathews  19940209 
Original version

Tracie Sucharski  20020820 
Ported to Isis 3.0, combining add,mad,b16mad and mult.

Tracie Sucharski  20021029 
Was not handling special pixel values correctly. If only one input
file, output the input special pixel value. If two input files and
one of the input values is a special pixel value, output a NULL.

Tracie Sucharski  20021112 
Changed parameters MULT1,MULT2 and ADD to A,B and C respectively.

Tracie Sucharski  20030128 
Removed from Utility category.

Stuart Sides  20030516 
Modified schema location from astogeology... to isis.astrogeology..."

Stuart Sides  20030729 
Modified filename parameters to be cube parameters where necessary

Stuart Sides  20031023 
Fixed typo in algebra.xml which caused IsisGui to display names
and input fields incorrectly.

Jeff Anderson  20040217 
Fixed division by zero problem with DIV operator and bug with
single files by adding UNARY operator.

Jeff Anderson  20040217 
Fixed division by zero problem with DIV operator and bug with
single files by adding UNARY operator.

Drew Davidson  20050727 
Added the D and E coefficients

Kris Becker  20061214 
Modifed how special pixels are propagated to the output file.
Originally, all special pixel values and operations resulted in
Null being set to the output pixel. Now if the FROM pixel
is a special pixel, it is always propagated to the output file
unchanged without regard of the FROM2 pixel. If FROM is
not a special pixel and FROM2 is, the output pixel is set to
Null.

Stacy Alley  20070820 
Fixed segmenation fault error. If the user did not enter a FROM2 value then tried to perform a nonunary operation
the program would crash. FIX:The program will inform the user of the error without crashing so they can make the
proper correction.

Mackenzie Boyd  20110411 
Changed parameter FROM1 to be FROM

Steven Lambright  20120223 
Updated to use the new ProcessByLine API. This program now takes
advantage of multiple global processing threads.
