TVPLOT: Draw Text and Graphics on the Image Display

 
Form: TVPLOT [with keywords below as needed]
P=(r,c)
Enter a position (use twice as needed)
L=l
Enter line length
C=(r,c)
Enter center (row, column)
TEXT=s
Plot text in quotes or string variable
BOX=n
Plot image subsection box number n
BOX
Plot boxes other than predefined image boxes
W=w
Enter width of box
H=h
Enter height of box
CROSS
Plot cross
CIRC=rad
Plot a circle
COMPASS=rad
Plot a compass
TICKS
Put ticks marks on line
SCALE=s
Use pixel scale for all lengths
PA=f
Position angle
OFF=d
Offset of graphics from center
TVPLOT is used to markup, label, annotate, or otherwise deface the image display. It has loads of options and clever use of defaults, so you don't have to say everything. The origin of the plots is from a predefined center loaded by the AXES command or is given by the C= keyword.

In simple use TVPLOT will draw lines. Use just L=l, or just P= for the default center, or two P=(r,c) endpoints to ignore the default origin. Use SCALE if you mean arcseconds for L and not pixels, PA to rotate, or OFF to give an offset in whatever direction the X axis is for any PA specification. TICKS will give nice scale marks on the line.

Show the image subsection boxes (see BOX) with BOX=n. You can also make up any boxes just for plotting by giving the BOX keyword. This tells TVPLOT to think about BOX plotting instead of lines. Use W and H with the default center or C= keyword, two P= keywords to give opposite corners, P and C together for corners, any of L, W, or H by themselves for square boxes, and so on. Use PA, OFF, SCALE to help out.

Other symetrical plots. Here you have CROSS, CIRC=r, COMPASS=r, all of which follow the AXES, C=, or P= centers. Use PA, OFF, SCALE here, too.

Now you can make any label you want with the TEXT option - except you can't rotate it with PA (sorry - it uses system fonts that I didn't want to muck with). Use P=, or C= to position it - where you give where you want the center of the string to be. Right now VISTA has a little trouble with multiword strings enterred directly on the TVPLOT command line, but they work fine if you load them first with the STRING command.

Examples:

AXES 1 BOX=7
Find the center of the object within the BOX 7 subsection of image 1.
TVPLOT BOX=7
Plot this same box on the TV.
TVPLOT CIRC=10
Draw a 10-pixel radius circle around it.
TVPLOT CROSS
Mark it with a cross.
TVPLOT COMPASS=20
a really cool map compass
STRING BIGDEAL 'This is the object in BOX 7'
TVPLOT TEXT=BIGDEAL
Label the stupid thing.
O.K. so now you want real vector graphics.
TVPLOT P=(101,237)
This will draw a line from where ever the center is to row=101, col=237.
TVPLOT P=(r1,c1) P=(r2,c2)
OK, this is your standard line between any two points.
TVPLOT BOX P=(r1,c1) P=(r2,c2)
Makes a box instead of a line.
TVPLOT TEXT=BIGDEAL P=(r,c)
Stick a label anywhere.
Use procedures to make a neat grid at a funny angle.
   YDIM=25 
   XDIM=15 
   FUNNY=37 
   STEP=5
   DO Y=-YDIM,YDIM,STEP
      TVPLOT P=(-XDIM,Y) P=(XDIM,Y) PA=FUNNY
   END_DO
   DO X=-XDIM,XDIM,STEP
      TVPLOT P=(X,-YDIM) P=(X,YDIM) PA=FUNNY
   END_DO