AIPS NRAO AIPS HELP file for SCLIM in 31DEC25



As of Tue Dec 10 5:46:29 2024


SCLIM: Task to operate on an image with mathematical functions

INPUTS

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

HELP SECTION

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

EXPLAIN SECTION


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

AIPS