Unlike most toolkits for image processing, Vista allows easy extension to data types other than images. It's designed to support computer vision research while allowing any user to easily program new modules or add new data types.
Vista includes software for manipulating images, detecting and linking edges, estimating optical flow and camera calibration parameters, viewing images and edge vectors under the X Window System, printing images and edge vectors on PostScript printers, and extensive documentation.
One useful component of Vista is a toolkit allowing rapid development of applications running under X Windows. Using a few standard library routines that do not require knowledge of X internals, a user can create applications that display images, manipulate vectors, create menus, and provide full mouse interaction with display elements. Vista contains an image viewing widget that provides display independence, image scaling, and interactive zooming.
Vista operations can be used both as standalone UNIX programs and as library routines. The programs can be used from the UNIX shell to manipulate files containing images and other objects; they can be piped together to perform a sequence of operations. The library can be used to construct custom applications, including ones that display images interactively under X Windows.
Vista uses its own format for representing images, edge vectors, and other objects in data files. The format is highly flexible -- it can represent a great variety of image types as well as collections of images and other objects. The format is also extensible -- for example, new image attributes can be added without the need to modify existing software or data files. Tools are available for converting images between Vista's format and other formats.
Vista is written in ANSI C for UNIX platforms. It requires the X Window System (X11R4 or R5); some portions also require the OSF/Motif widget library.
Vista's source code and documentation are available by anonymous FTP with no significant restrictions on distribution or use.
Vista has all of the traits needed to fulfill this role. It provides a framework for storing and manipulating not only images, but also other data objects that often arise in conjunction with images -- for example, edge vectors, camera geometry specifications, and model parameters. It is designed as an extensible system to which anyone can contribute. It is comprehensive although not so large as to be unwieldy. And, importantly, it can be freely distributed.
Forward to Vista data file format