INNAME Input image name INCLASS Input image class INSEQ 0.0 9999.0 Input image seq. no. INDISK 0.0 9.0 Input image disk no. OUTNAME Output image name OUTCLASS Output image class OUTSEQ 0.0 9999.0 Output image seq. # OUTDISK 0.0 9.0 Output image disk drive BLC BLC of input image TRC TRC of input image PIXRANGE Allowed range input values OPCODE Operator code: LOG, ALOG, LOGN, EXP, POWR CPARM CPARM(1:5): Output map is formed from C1+C2*OP[C3*IN+C4] except for 'POWR' when its C1+C2*[C3*IN+C4]**C5

SCLIM Type: Task Use: SCLIM is similar to MATHS but is really designed to produce images scaled from 0 to 1 with blanked pixels set to zero and clipped pixels set either to 1 or 0. It operates on an image, pixel by pixel, with a mathematical function. Current choices are LOG, LOGN, ALOG, EXP, and POWR. The output images are mostly used as inputs to LAYER. Adverbs: INNAME........Input image name INCLASS.......Input image class INSEQ.........Input image seq. # INDISK........Input image disk drive # OUTNAME.......Output image name OUTCLASS......Output image class, blank = OPCODE OUTSEQ........Output image seq. # OUTDISK.......Output image disk drive # BLC...........BLC of input image TRC...........TRC of input image PIXRANGE......Clip image below PIXRANGE(1) and above PIXRANGE(2). The former end up 0.0 and the latter end up either 1.0 or 0.0 depending on CPARM(6). If PIXR(2) <= PIXR(1), the full range of the input image is used. OPCODE........LOG and LOGN: These take the base 10 and base e (natural) logarithm of the input image. If the input pixel is <= 0.0, then the output pixel is blanked. OUT = C(1) + C(2) * OP [C(3) * (IN + C(4))] ALOG and EXP: These take the base 10 and base e (natural) anti-logarithm of the input image. OUT = C(1) + C(2) * OP [C(3) * (IN + C(4))] POWR: Each OUTput pixel is formed from the INput pixel according to: OUT = C(1) + C(2)*[C(3) * (IN+C(4))]**C(5) Let X = C(3)*(IN+C(4)) The output pixel is blanked when X is negative, or when X and C(5) are both zero. The special case of X < 0 and C(5) = 2.0 is trapped and blanked output pixel that would usually occur is avoided. OUT is then scaled linearly from 0 to 1.0. Special OPCODEs to match FUNCTYPEs in TVLOD are also allowed. They are 'LN', 'NE', 'SQ', 'NQ', 'LG', NG'. See EXPLAIN. CPARM(1)-CPARM(5) are ignored with these OPCODEs. CPARM.........C(1:5): Additive and multiplicative factors for the input image. The defaults depend on the operator For OP = LOG, ALOG, LOGN, EXP, POWR C(2) = 0 -> C(2) = 1 C(3) = 0 -> C(3) = 1 C(6) <= 0 -> values above PIXRANGE(2) end up 1 C(6) > 0 -> values above PIXRANGE(2) end up 0

The normal transfer functions used in TV loading are 'LN', 'NE', 'SQ', 'NQ', 'LG', NG'. The translations of these into the terms of SCLIM are as follows with PIXRANGE(1) called P1 and PIXRANGE(2) called P2. Linear 'LN' : OPCODE = 'POWR' but OPCODE = 'POWR' also works CPARM(1) = 0 CPARM(1) = 0 CPARM(2) = 1 CPARM(2) = 1 CPARM(3) = 1/(P2-P1) CPARM(3) = 1 CPARM(4) = -P1/(P2-P1) CPARM(4) = 0 CPARM(5) = 1 CPARM(5) = 1 Negative linear 'NE' : OPCODE = 'POWR' CPARM(1) = 0 CPARM(2) = 1 CPARM(3) = -1/(P2-P1) CPARM(4) = P2/(P2-P1) CPARM(5) = 1 Square root 'SQ' : OPCODE = 'POWR' CPARM(1) = 0 CPARM(2) = 1 CPARM(3) = 1/(P2-P1) CPARM(4) = -P1/(P2-P1) CPARM(5) = 0.5 Negative square root 'NQ' : OPCODE = 'POWER' CPARM(1) = 0 CPARM(2) = 1 CPARM(3) = -1/(P2-P1) CPARM(4) = P2/(P2-P1) CPARM(5) = 0.5 Logarithmic 'LG' : OPCODE = 'LOGN' CPARM(1) = 0.0 CPARM(2) = 1.0/ln(6501.0) CPARM(3) = 6500.0/(P2-P1) CPARM(4) = 1.0 - 6500.0 P1/(P2-P1) CPARM(5) = 0.0 Negative logarithmic 'NG' : OPCODE = 'LOGN' CPARM(1) = 0.0 CPARM(2) = 1.0/ln(6501.0) CPARM(3) = -6500.0/(P2-P1) CPARM(4) = 1.0 + 6500.0 P2/(P2-P1) CPARM(5) = 0.0