VISTA

A Software Environment For Computer Vision Research

Vista is a software environment for processing images, edge sets and arbitrary data vector sets in an object oriented framework. It handles every conceivable type of image format including sequences, arbitrary bands and floating point pixel values for example. The library uses a very nice data storage format that can contain arbitrary lists of objects with arbitrary user defined attributes. Postscript conversion is available. Locally, we have converters from GIL and many other formats. Other hilites: command line argument parsing, a simple set of routines for developing Xwindows graphical interface, a Tcl/Tk widget (locally developed) for displaying Vista images.

Table of Contents


Overview

Vista is a software environment for processing images, edge sets and arbitrary data vector sets in an object oriented framework. It handles every conceivable type of image format including sequences, arbitrary bands and floating point pixel values for example.

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).

Cool Stuff

or "Why should you use Vista?"
Here's a few good reasons.
  • Great image file format
  • Arbitrary image types (bands, frames, pixel types)
  • "Object Oriented" (written in C but callable from C++ also)
  • Command line argument parsing and usage generation
  • Postscript conversion of images and edges (which can be overlayed)
  • freely distributable source code (and readable)
  • excellent online documentation
  • Xlib and now Tcl/Tk interface makes it easy to build stand along programs with nice user interfaces
  • very lightweight and extensible (i.e., fast to learn, compile and run)

  • Vista Examples


    Getting Started with Vista

    Vista is installed locally for both Suns and SGI's. To begin you want to set your environment variables and paths. For both the Suns and SGI's use:
    setenv VISTA /usr/vasc/local/pkg/vista
    
    Then add to your paths:
    $VISTA/bin     $VISTA/lib     $VISTA/man
    

    Command-line Examples

    Vista provides many command line programs. For a complete list of the command line programs and what they do look at the man page:
    man Vindex
    

    The most useful command is the simplest. Try typing

    vxviewi $VISTA/src/data/einstein.v
    
    which 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.v
    
    Most 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
    

    Programming Examples

    An example with a makefile for use with both Suns and SGI's is in:
    $VISTA/local/examples/canny
    
    copy 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_canny
    
    then try it using:
    vista_canny $VISTA/src/data/einstein.v | vxviewi
    
    This 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.v
    
    will 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/tcltk
    
    First 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.

    Documentation and References

  • Vista Home Page
  • Introduction to Vista (Postscript)
  • MAN Pages for all programs, functions, and overviews are available in $VISTA/man
  • man Vtutorial for general overview
  • man Vista for a more in depth overview with details about file formats etc.
  • man Vindex for a list of the command line programs and what they do
  • man Vlib about calling the library from C (includes info about includes libs and conventions and types used

  • Command-line programs with man pages

    Each of the following programs has its own man page.
    A nice listing of brief descriptions of each can be found via:
    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
    

    Locally available Command-line Programs for which no man pages exist:

    Note: these are currently only installed for Suns.
    The source is in $VISTA/local directory.
    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
    

    See Also

    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:

  • Tcl/Tk example using the Vista image widget
  • A brief introduction to TCL/TK
  • Tcl/Tk Help Page
  • TIX: Tk Interface eXtension: file selection dialog boxes and other fancy high level widgets including notebooks, resizable scrolling windows, balloon help boxes

  • Vista History

    Vista was created by Art Pope and David Lowe of the University of British Columbia, Canada. It is in use at more than 100 sites around the world.


    VASC Contact

    Mark D. Wheeler (mdwheel@cmu.edu)


    History

    06 NOV 1995 Created by Mark D. Wheeler (mdwheel@cmu.edu)

    Go back to VASC help page

     

    This page has been accessed [count] times.