The library uses a very nice data storage format that can contain arbitrary lists of objects with arbitrary user defined attributes. For example, an Ogis Range image can be stored in a single file which contains the intensity band, the three bands for X, Y and Z coordinates, the camera calibration parameters (as an attribute of the images) and any other data relevant to the image such as an object name or pose parameters of a robot etc. Edges and arbitrary data vectors are also supported by the same file format.
Vista source code is freely available and distributable. That means you can modify it and distribute it if you need to.
Postscript conversion is available and edges can be overlayed in postscript which works quite nicely. The edges are actually postscript lines and thus show up cleanly at any resolution (no more raster edges in your papers or talks).
Vista is installed for both Suns and SGI's and can be ported easily to any UNIX platform.
Locally, we have image converters from GIL and many other formats (including GIF and PNM).
setenv VISTA /usr/vasc/local/pkg/vistaThen add to your paths:
$VISTA/bin $VISTA/lib $VISTA/man
man Vindex
The most useful command is the simplest. Try typing
vxviewi $VISTA/src/data/einstein.vwhich lets you view a sequence of images in a window which may be arbitrarily resized and allows you to zoom in/out and pan and examine pixel values in single or multi band images.
Vista programs support UNIX stdin and stdout conventions, thus you may pipe the output to the viewer or an output file, e.g.,
vcanny $VISTA/src/data/einstein.v | vxviewi vxviewi < $VISTA/src/data/einstein.vMost Vista commands follow the following convention: Input files can be either from stdin, the first non-option filename or specified by -in input.v, and likewise for output files, e.g.,
vcanny -in $VISTA/src/data/einstein.v -out out.v
$VISTA/local/examples/cannycopy that directory, read through the Makefile and make sure everything is set correctly (the Makefile is documented sufficiently for you to check this) and type
make vista_cannythen try it using:
vista_canny $VISTA/src/data/einstein.v | vxviewiThis should pop up a window displaying the Canny edge operator image of the input. for more fun try
vista_canny $VISTA/src/data/einstein.v | vlink > out.v vxviewe $VISTA/src/data/einstein.v out.vwill show linked Canny edges overlayed on top of the original image. You must press Next Object under the View menu to see the edges overlayed.
Once you are able to compile and run the programs, you can take a look at the other example programs that come with the distribution in:
$VISTA/src/examples/If you wish to write a C program that interacts with a Vista Image widget and Tcl/Tk look at the example in:
$VISTA/local/examples/tcltkFirst familiarize yourself with Tcl/Tk and try the Vista and Tcl/Tk example which does not require any C programming. The example in $VISTA/local/examples/tcltk is fairly comprehensive and involves some detail, but you should be able to take it and go, adding features fairly easily.
man Vindex
plaintov pnmtov raw2v v1to2 vadjust vblur vcalsyn vcamcal vcamcalnorad vcanny vcat vcatbands vcomplex vconvert vconvolve vcrop vfft vflip vflow vgauss vgrad vinvert vistat vlayout vlink vmag vnegate vop vpdc vphase vrgbtogray vrotate vscale vsegedges vselbands vselect vsynth vtopgm vtops vtranspose vxadjust vxcrop vxview vxviewe vxviewi vzeroc
any2v convert Compuserve GIF, PPM/PGM/PBM, IRIS RGB, SUN Raster
among others to Vista format.
gil2v convert CMU GIL image to Vista format
rfx2v convert CMU GIL OGIS data *.{x,y,z,i}.gif + the .pa
parameter file} to Vista image file *.rfx.v
rfxv2ply convert *.rfx.v to PLY triangulated data format
rfxv2plygrid convert *.rfx.v to PLY range grid format
rgbgil2v convert CMU GIL *.{r,g,b}.gif image to Vista *.rgb.v format
v2gil convert a vista image to CMU GIL format
vaddparam Add camera parameters to the attribute list of a vista image
vivwish Tcl/Tk shell which includes Tix library and the Vista image widget
The widget can be used for displaying vista images or digitizing
(see this Tcl/Tk example
the widget can be manipulated directly from C using
the libvistaTkDig.a library.
vrow extract a row of data from an image, can be used with
vtranspose to get a column
Vista is one of many options, there are many others, including GIL, available locally.
See the Source Code section of the Computer Vision Home Page for more options.
For more on using Vista with Tcl/Tk see:
Mark D. Wheeler (mdwheel@cmu.edu)
06 NOV 1995 Created by Mark D. Wheeler (mdwheel@cmu.edu)
Go back to VASC help page