surface: Make a surface plot of an image

Package: plot

Usage

surface image

Parameters

image
Image or image section to be plotted.
floor = INDEF
Data values below floor are clipped. If floor = INDEF, the data minimum is used for the floor.
ceiling = INDEF
Data values above ceiling are clipped. If ceiling = INDEF, the data maximum is used for the ceiling.
angh = -33.0
Horizontal viewing angle, degrees.
angv = 25.0
Vertical viewing angle, degrees.
device = "stdgraph"
Output device (stdgraph, stdplot, or the name of a physical device).
title = "imtitle"
A title string is centered above the plot. The user can specify a title string; the default is the image title.
label = no
The axes are drawn and the corner points of the plotting area are labeled if label = yes.
xres = 64, yres = 64
The input image is block averaged or subsampled to this resolution.
preserve = yes
If preserve = yes, the aspect ratio of the image is preserved when achieving the resolution specified by xres and yres.
subsample = no
The resolution specified by xres, yres is achieved by block averaging unless subsample = yes.

Description

Surface draws a pseudo-three dimensional perspective of an image section. Hidden lines are removed. The surface may be viewed from any angle. Subsampling or block averaging is used to achieve the resolution specified. A labeled perimeter is optionally drawn around the plot.

To speed up the plot, the resolution of the image can be decreased to xres by yres. When preserve = yes, surface automatically reduces the image in both directions by the same factor, which is the larger of [ncolumns / xres or nlines / yres]. If the aspect ratio is not being preserved, the x and y dimensions are independently reduced to the specified resolution. No reduction is done if xres and yres = 0, if the input image is an image section, or if the image is smaller than xres by yres.

Examples

1. Surface plot of a 512 square image. With the default values of xres and yres, the image would be block averaged by a factor of 8 in x and y.

cl> surface crab.5009

2. Look at the bottom of the surface, but subsample rather that block average to decrease resolution and speed things up. Also, the output device will be the plotter, and the job will run in the background:

cl> surface crab.5009 angv=-30 subsample+ device=stdplot &

3. Surface plot of band 4 of an image cube. Since the image is specified using image section notation, no block averaging or subsampling will be done.

cl> surface cube[*,*,4]

Time requirements

The time required by surface depends on image size and resolution. A surface plot of a 512 square image block averaged to 64 square requires 30 cpu seconds. The same image subsampled would take 23 seconds to plot.

Bugs

It should be possible to input the surface in list form.

See also

contour, graph