Converts X, Y position on the image array to the the X,Y position
in the current window. (These positions are identical
only for an unroamed, zoomed image with with pixel (0,0) of the
image placed at position (0,0) on the TV.)
ZOOM_XY, Xim,Yim,Xtv,Ytv, [ OFFSET =, ZOOM = ]
XIM - Scalar or vector giving X position(s) as read on the image
display (e.g. with CURSOR,XIM,YIM,/DEVICE)
YIM - Like XTV but giving Y position(s) as read on the image display.
If only 2 parameters are supplied then XIM and YIM will be modfied
on output to contain the converted coordinates.
Optional Keyword Input
OFFSET - 2 element vector giving the location of the image pixel (0,0)
on the window display. OFFSET can be positive (e.g if the
image is centered in a larger window) or negative (e.g. if the
only the central region of an image much larger than the window
is being displayed.
Default value is [0,0], or no offset.
ZOOM - Scalar specifying the magnification of the window with respect
to the image variable.
XTV,YTV - REAL*4 X and Y coordinates of the image corresponding to the
cursor position on the TV display. Same number of elements as
If present, ZOOM_XY will use the TV and IMAGE common blocks which are
defined in the MOUSSE software system (see
http://archive.stsci.edu/uit/analysis.html) If the user is not using
the MOUSSE software (which keeps track of the offset and zoom in each
window) then the common blocks are ignored.
The integer value of a pixel is assumed to refer to the *center*
of a pixel.
Adapted from MOUSSE procedure of the same name W. Landsman HSTX Mar 1996
Converted to IDL V5.0 W. Landsman September 1997
Properly include ZOOM keyword W. Landsman May 2000
Put back common blocks for MOUSSE compatibility September 2004