; TAFFY
;---------------------------------------------------------------
;! User definable task to operate on an image
;# TASK PARAFORM
;-----------------------------------------------------------------------
;;  Copyright (C) 1995
;;  Associated Universities, Inc. Washington DC, USA.
;;
;;  This program is free software; you can redistribute it and/or
;;  modify it under the terms of the GNU General Public License as
;;  published by the Free Software Foundation; either version 2 of
;;  the License, or (at your option) any later version.
;;
;;  This program is distributed in the hope that it will be useful,
;;  but WITHOUT ANY WARRANTY; without even the implied warranty of
;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;  GNU General Public License for more details.
;;
;;  You should have received a copy of the GNU General Public
;;  License along with this program; if not, write to the Free
;;  Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,
;;  MA 02139, USA.
;;
;;  Correspondence concerning AIPS should be addressed as follows:
;;         Internet email: aipsmail@nrao.edu.
;;         Postal address: AIPS Project Office
;;                         National Radio Astronomy Observatory
;;                         520 Edgemont Road
;;                         Charlottesville, VA 22903-2475 USA
;-----------------------------------------------------------------------
;---------------------------------------------------------------
TAFFY     LLLLLLLLLLLLUUUUUUUUUUUU CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
TAFFY     User definable task to operate on an image
INNAME                             Input image name (name)
INCLASS                            Input image name (class)
INSEQ             0.0     9999.0   Input image name (seq. #)
INDISK            0.0        9.0   Input image disk unit #
OUTNAME                            Output image name (name)
OUTCLASS                           Output image name (class)
OUTSEQ           -1.0     9999.0   Output image name (seq. #)
OUTDISK           0.0        9.0   Output image disk unit #.
BLC                                Bottom left corner of input
TRC                                Top right corner of input
OPCODE                             Operation code.
CPARM                              User supplied array
DPARM                              User supplied array
----------------------------------------------------------------
TAFFY
Task:  User definable task which sends an image one row at a
       time to a subroutine.  Will handle real or integer input,
       blanking and data cubes.  The program already takes care
       of input and output, most of the bookkeeping and most of
       the history.  TAFFY can also provide scrolling buffer
       ability.  For more details see the comments in the
       source version of the task which should be in the
       APLPGM: area.  Also see HELP NEWTASK or EXPLAIN TAFFY.
Adverbs:
  INNAME.....Input image name (name).       Standard defaults.
  INCLASS....Input image name (class).      Standard defaults.
  INSEQ......Input image name (seq. #).     0 => highest.
  INDISK.....Disk drive # of input image.   0 => any.
  OUTNAME....Output image name (name).      Standard defaults.
  OUTCLASS...Output image name (class).     Standard defaults.
  OUTSEQ.....Output image name (seq. #).    0 => highest unique.
  OUTDISK....Disk drive # of output image.  0 => highest disk
             number with sufficient space.
  BLC........Bottom right corner in input image of desired
             subimage.  Default is entire image.
  TRC........Top right corner in input image of desired
             subimage.  Default is entire image.
  OPCODE.....User specified operation code.
  CPARM......User specified array
  DPARM......User specified array
             Not used in the provided code but may be need by
             the users application.
----------------------------------------------------------------
TAFFY:  Task which reads and modifies an image file as specified
        by a user supplied routine.
DOCUMENTOR: W. D. Cotton, NRAO.
RELATED PROGRAMS:  All AIPS image tasks.

                          PURPOSE

     TAFFY is designed as a skeleton task to allow a user
access to a image data file and to generate a new image from
the old image.  The user modifies one or two routines and can
ignore the details of cataloguing files and the I/O.  TAFFY can
handle up to 7 dimensional images in either integer or real
format and supports blanking.  A subimage of the input image
may be selected.

    The user may or may not have to modify the subroutine which
creates the output catalogue header from the input catalogue
header but must supply the routine which operated on the
images.  This latter routine is sent the image one row at a
time in floating point format with blanking fully supported.
The user supplied routine may opt to defer returning a row to
allow the use of a scrolling buffer.  Also supported are
operations which compress a row into a single value.

     The necessary control information can be passed to the
program via OPCODE,  CPARM, and DPARM.  Other adverbs may be
added if necessary. For further information about modifying
TAFFY see the comments in the source code.  For information
about compiling, link-editing and running TAFFY see HELP
NEWTASK or the AIPS programmers manual.
