Except where noted, all libraries and other interfaces are upward compatible with V2.0. There has been no change in the data file format, which means that new programs will continue to work with existing data files.
VCamera, models a camera.
The library includes routines for estimating model accuracy, and converting
among world, camera, and image coordinate systems.
VOptFlowWLS) and as a
program (vflow). There is both a program
(vtops) and a library routine
(VGradientImageToPS) for producing PostScript renditions of
optical flow.
VSegEdgesIntoLines) and as a program
(vsegedges).
All of the image display programs now accept a -palette option for specifying the set of display colors to use. You can use this option to speed up and/or improve the quality of image display. (On a 24-bit Sun display, for example, grayscale images are displayed about twice as fast with -palette gray versus the default.)
The vxviewi image display program has been upgraded. It now shows movies, and has commands for going to the first and last frame of the current image. It also now informs the window manager of its preferred aspect ratio so that resizing is faster. The -colormap option has been renamed -palette for consistency with other Vista programs (an incompatible change).
A new routine, VForkImageDisplay, forks a process to
independently display an image. This, for example, allows your program to
display intermediate images using vxviewi while proceeding
with its calculations.
Routines for establishing VColormaps have been enhanced so
that they can be used by Motif-based program. There are now routines for
mapping colors to pixel values.
All VX-based programs now inherit a -palette option like that of vxviewi, described above.
There is a new VX routine, VXReportValidOptions, for reporting the
options parsed by VX.
A new program, vblur, degrades an image by reducing its contrast, blurring it, and adding Gaussian noise.
New options for the vcatband program allow band interpretation
attributes to be set. There is a new routine, VSetBandInterp,
for setting band interpretation attributes.
The vconvolve program will now convolve with a 3D mask, and it
has additional methods of treating border pixels (-pad none and
-pad trim). Similar enhancements have been made to the
VConvolveImage routine. There is a new routine,
VConvolveImageSep, for convolving images with separable
filters.
The vgauss program now takes an option for specifying the size
of Gaussian filter to use. The VGaussianConvolveImage routine
takes an additional argument specifying filter size (this is an
incompatible change). There are new routines for generating Gaussian
kernels and for computing spatiotemporal derivatives.
The vlayout and vtops programs now accept an
-eps option determining whether regular or Encapsulated
PostScript is produced. PostScript produced by vtops is now
more concise, and less likely to cause problems when embedded in other
documents. Any %%EOF, %%Page, and
%%Pages comments are now stripped by vlayout.
The -widths option of vtops has been renamed
-linewidths to distinguish is from -width (an
incompatible change). The VBeginPSDoc and
VBeginVPSDoc routines now take an additional argument,
title, supplying a title for a %%Title comment
(an incompatible change).
The vscale program will now scale edge sets as well as images.
It has an additional option allowing images to be subsampled without
averaging pixel values. This subsampling method is also available as a
library routine (VSampleImage).
A new program, vselbands, selects specified bands from multi-band images.
A new program, vsynth, synthesizes images containing patterns or random noise. There are also new library routines for synthesizing images and filling images with constants.
There is new software to simplify the task of supplying moderate numbers of parameters to programs. A set of parameter names, values, and descriptions may be collected into a single file. A compiler, vpdc, processes the file to produce a header file that can be included by C programs needing those parameters. Library routines allow the program to obtain new, overriding values for the parameters from program options and Vista data files.
Restrictions on the length and character sets of attribute names have been
loosened. Attribute names can be up to 256 characters long, and they may
contain any characters except }, ^,
:, space, tab, or newline.
More data files, including camera models and image sequences, have been included with the distribution or made available on the FTP server.
int in the library are
now declared to be size_t for better conformance with ANSI C.
On systems where size_t is not defined as int, this
amounts to an incompatible change.
The standard routines memcpy() and memset()
are now used instead of the nonstandard bcopy() and
bzero().
All instances of #pragma once have been removed from header
files. This #pragma was recognized by V1 of the
gcc compiler, but complained about by V2.
Static functions now have prototypes that declare them as such, eliminating another source of gcc V2 complaints.
Most platform dependencies are now isolated to a single header file,
src/base/lib/os.h.
VImageView widget's busy
cursor. The problem caused image display programs to produce a ``BadAlloc''
X protocol error when used with some servers.
We fixed a VReportValidOptions bug that affected printing of
multi-value options.
We fixed a dithering bug that affected images with SByte, Short, and Long pixels, sometimes causing a segmentation fault or incorrect display.
The vfft program now takes an -in option without confusing it with -inverse.
We fixed a bug in the way vtops reported bounding boxes for landscape orientation. Bounding box dimensions are now rounded to integers.
VReadPnm, when reading a raw PPM file containing an RGB color
image, would create a Vista image with nframes: 3 (as well as
ncolors: 3). It now creates the image with just
nframes: 1.
We included fixes for two VLinkImage problems, including one that
corrupted dynamic memory allocation.
A missing section has been restored to the vxview man page.
Up to Vista home page