; TVMOVIE
;---------------------------------------------------------------
;! Verb to load a cube into tv channel(s) & run a movie
;# VERB TV
;-----------------------------------------------------------------------
;;  Copyright (C) 1995, 1999, 2006, 2009-2010, 2013
;;  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
;-----------------------------------------------------------------------
TVMOVIE   LLLLLLLLLLLLUUUUUUUUUUUU CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
TVMOVIE:  Verb to load a cube into tv channel(s) & run a movie
INNAME                             Image name(name).
INCLASS                            Image name(class).
INSEQ           0.0      9999.0    Image name(seq. #). 0=>high
INDISK          0.0         9.0    Disk drive #. 0=>any
TBLC            0.0      4096.0    Bottom Left Corner of image
                                     0 => entire image
TTRC            0.0      4096.0    Top Right Corner of image
                                     0 => entire image
TXINC           0.0       256.0    Load every TXINC'th column
TYINC           0.0       256.0    Load every TYINC'th row
TZINC           0.0       256.0    Load every TZINC'th plane
TVCHAN          1.0         4.0    Image channel to load with
                                      first frame
PIXRANGE                           Min,Max  of image intensity
                                     0 => entire range
FUNCTYPE                           Image intensity transfer func
                                     'LN' Linear, unknown=> 'LN'
                                     'LG' Logarithmic
                                     'L2' More logarithmic
                                     'SQ' Square root
                                     'NE' Negative linear
                                     'NG' Negative logarithmic
                                     'N2' Negative more log.
                                     'NQ' Negative square root
LTYPE         -10.0        10.0    Label type: 1,2 => none,
                                     3 => physical, 4 => rel to
                                     ref pixel, 5 => rel to
                                     subimage center, 6 => pixel
DOCIRCLE       -1.0         1.0    <= 0 => reverse direction of
                                     movie at each end
DOPOS          -1.0         1.0    > 0 => put a pointer in
                                     each subimage
DOCENTER       -1.0         1.0    > 0 => use zoom factor FACTOR
                                     and force TV window to be
                                     centered, workstations only
FACTOR          0.0        16.0    zoom factor to use
----------------------------------------------------------------
TVMOVIE
Type:  Verb
Use:   To load a number of subportions of planes of a cube into the TV
       memory and then to display them in sequence at user chosen
       rates (like a movie).  The verb can load up to NC TV memories
       with various combinations of number of images and sub-image
       size in each plane, where NC = #TV memories + 1 - TVCHAN.
       Thus, movies of many spectral channels, for example, may be
       shown on a TV having 15 memories (XAS by default).  TVs with
       larger screens (in pixels) can do more.  During the movie
       phase, the cursor X position controls the movie frame rate,
       button A starts or stops the movie, button B reverses the
       direction of the movie, button C stops the movie (if needed)
       and allows color or black and white enhancement, and button D
       exits.  While the movie is stopped, the cursor X position
       controls which frame is displayed.  During image enhancement,
       the cursor X position controls the intercept, the cursor Y
       position controls the slope, buttons A or B switch between
       color and black and white enhancement, button C reverses the
       sign of the slope (b & w only), and button D returns to the
       movie mode.  Use REMOVIE to resume the movie display without
       reloading the images.  The verb TVCUBE is similar to TVMOVIE,
       but it loads the images in a pattern which is more pleasing to
       the eye when viewed altogether and less pleasing when viewed as
       a movie.

       We are often asked how to make a movie from an AIPS image cube
       which could be displayed in PowerPoint.  The simplest way is to
       write out the cube as a FITS file on disk. Then
               convert  image.fits  image.gif
       and convert has options like -quality 100, -delay 50, etc.
       which may be useful.  Note that convert does not understand
       magic-value blanks so convert any of them to 0.0 with REMAG
       before writing the fITS file.

       A more elaborate way would be to image each plane with your
       favorite display task (KNTR, GREYS, PCNTR, etc.) and write out
       each image plane as a separate encapsulated PostScript file,
       e.g. imagenn.eps, where nn runs from eg 001 to NNN where NNN is
       the maximum plane number.  This allows you to color, label,
       subimage, etc.  Then
               convert -delay 50  image???.eps image.gif
       to make the animated gif.  Note that "convert" is known on many
       Linux computers but is not normally on Macs.

Adverbs:
  INNAME......Image name(name).       Standard defaults.
  INCLASS.....Image name(class).      Standard defaults.
  INSEQ.......Image name(seq. #).     0 => highest.
  INDISK......Disk drive # of image.  0 => any.
  TBLC........The Bottom Left-hand pixel of the subarray of
              the map to be displayed. The value (0,0,...)
              means take the entire image up to TTRC.
  TTRC........The Top Right-hand pixel of the subarray of
              the map to be displayed.  The value (0,0,...)
              means take the entire image from TBLC.
  TXINC.......Load every TXINC'th column beginning at TBLC.
  TYINC.......Load every TYINC'th row beginning at TBLC.
  TZINC.......Load every TZINC'th plane beginning at TBLC.
  TVCHAN......Image channel to load with the first frame.
              Channels TVCHAN+1,... will be used as needed.
              0  =>  channel 1.
  PIXRANGE....Min,Max intensity to display. 0 => entire range.
  FUNCTYPE....Image intensity transfer function
              'LN' => linear;        'NE' => negative lin.
              'LG' => log;           'NG' => negative log;
              'L2' => extreme log;   'N2' => negative extra log;
              'SQ' => square root,;  'NQ' => negative square root;
              others => linear.
  LTYPE.......A label is place in the upper left corner of each
              frame if LTYPE > 2.  3 => use absolute units,
              4 => use relative to the reference pixel, 5 =>
              use relative to the subimage center, 6 => pixels.
              LTYPE < 0  -> abs (LTYPE)
              LTYPE > 6  -> LTYPE - 4
  DOCIRCLE....False (<= 0.0) means to reverse the direction of
              the movie each time it hits the end.
  DOPOS.......True (DOPOS(1,1) > 0.) means put a pointer in
              each frame to show how far through the movie that
              frame is.
  DOCENTER....If true (> 0), limit the TV window to the size
              needed to hold 1 frame zoomed only to a factor of
              FACTOR.  This is available only on workstations
              and can be used to make TVMOVIE run faster.
  FACTOR......The zoom multiplication factor: 1 => no zoom, 2 =>
              double (linearly) each pixel, 3, 4, 5, ... etc.
              FACTORs between 1 and the number of frames across
              the full screen are meaningful.
----------------------------------------------------------------
