; TVMOVIE ;--------------------------------------------------------------- ;! Verb to load a cube into tv channel(s) & run a movie ;# VERB TV ;----------------------------------------------------------------------- ;; Copyright (C) 1995, 1999, 2006, 2009-2010, 2013-2015 ;; 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 DOALL > 0 => loop over multiple axes if present in the image 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 -410.0 410.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. DOALL.......<= 0 -> find the first axis > 2 with multiple pixels (after application of TBLC and TTRC) and loop over those pixels included. > 0 -> find all axes > 2 with multiple pixels (after application of TBLC and TTRC) and loop over all pixels included. 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. Labelling type, see HELP LTYPE for details: 3 or 7 = standard, 4 or 8 = relative to ref. pixel, 5 or 9 = relative to subimage (BLC, TRC) center, 6 or 10 = pixels. 7-10 all labels other than tick numbers and axis type are omitted. Add n * 100 to alter the metric scaling. TVMOVIE has very limited space for labels and may not honor your LTYPE. If DOALL > 0 and there are in fact multiple axes over which the task loops, the labels will be simple plane number (over all planes not just TBLC-TTRC/ZINC). 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. ----------------------------------------------------------------