THE PROBLEM
When Ph.D. students at the University of Basel in Switzerland wanted
to create a complex visual data analysis application that casual
users could rely on for scanning probe microscopy data, they found
a single solution that could complete the entire job æ PV-WAVE
from Visual Numerics, Inc.
Application development increasingly includes
graphical user interface (GUI) development. Software vendors have
responded with graphically oriented fourth-generation programming
languages (4GLs) and a wide range of visual development tools. Yet
most of these languages and tools don't provide much help when it
comes to specific problems, such as 3D graphics, statistical processing
or data visualization.
As a result, programmers often find themselves
in a quandary. If they want general-purpose application development,
they turn to a fourth-generation language tool. If they want to
do complex graphics development or build visual data analysis applications,
they must fall back on a third-generation language, such as C or
FORTRAN.
THE SOLUTION
The researchers at the University of Basel determined PV-WAVE could
do both. "PV-WAVE is a powerful visual data analysis package
with its own programming language for efficient image processing
and data analysis," says Remo Hofer, a Ph.D. student in the
University's Physics Department. "It includes a high-level
4GL and several interface development options. This allows us to
construct data visualization applications that are both complex
and easy to use."
PV-WAVE combines state-of-the-art graphics, data management and
analytical techniques into a highly interactive environment. Hofer
put the product through its paces while developing the SXM-SHELL,
a data-analysis application for visualizing microscopy data. He
worked with three other Ph.D. students to develop the application,
under the guidance of Professor H. J. Guntherodt.
Above
all, they needed a software tool that would be easy for casual computer
users to learn, while allowing more ambitious users to produce their
own visual data-analysis functions and add them to the SXM-SHELL.
"PV-WAVE allowed us to design a complete visual data-analysis
application with an open-ended menuing system and graphical user
interface," says Hofer. "It can read many file formats
from commercial and proprietary scanning-probe microscopes, which
means the application can grow and evolve as the needs of the department
change over time."
Hofer and his colleagues began by experimenting with PV-WAVE's
integrated functions for common tasks such as filtering, convolution
and edge enhancement. They also explored some of the advanced math
functions in the PV-WAVE library, such as Gaussian integrals, Fast
Fourier Transforms (FFTs), data point differentiation and interpolation
routines. Next, they used PV-WAVE to devise more than 200 custom
visual data analysis functions. Because the product's 4GL is compact
and efficient, researchers quickly built these special functions,
letting them focus on analyzing data instead of developing applications.
"The PV-WAVE development environment is quite easy to learn,
particularly if you have a background in other programming languages,"
says Hofer. "Because it is array-oriented, it analyzes and
displays data in real time, without any compiling, linking or debugging."
The 4GL has operators for data input and output, reduction, processing,
plots and mathematics. It also includes a set of GUI widgets to
simplify the construction of menuing systems and other user interface
items. PV-WAVE offers two GUI-building options so developers can
choose the best way to build a full-featured, point-and-click interface.
All in all, Hofer spent four years developing and refining the
SXM-SHELL application, although the bulk of the work was completed
in the first two months. Currently, 30 people use the SXM-SHELL
at the University of Basel, and there are other installations at
research centers in Europe and the United States, primarily in Switzerland,
Hungary, Sweden and California.
In Hofer's department, microscopy images are captured by a PC-based
data-acquisition system connected directly to the electronic boards
of the Nanoscope® and Omicron® microscopes. The image data
is then transferred to a Silicon Graphics® workstation where
the SXM-SHELL application is running. Users can access SXM-SHELL
functions from any workstation that has a run-time copy of PV-WAVE
installed and can access the application from any X-terminal on
the departmental network.
"Data are input into PV-WAVE primarily in the form of 2D images.
Different microscopes write out different image formats, but the
majority are bit-mapped, 2D pictures with header information about
the gauging, acquisition time and so forth," says Hofer. Once
processed by PV-WAVE, the images can be exported in either PostScriptTM
or TIFF format or stored in the SXM-SHELL native format on a DEC®station
server running Open VMS®, which hosts two optical disk drives.
"The learning curve for typical users entering SXM-SHELL through
the menu system is about an hour," says Hofer. "Some researchers
use SXM-SHELL to study crystalline surfaces in an ultrahigh-vacuum
environment."
Others study the magnetic properties of surfaces with a magnetic
force microscope. Still others study friction on the surface of
thin films with a friction force microscope or biological data such
as viruses. Regardless of the type of research, users can interactively
manipulate and analyze the microscopy data, using built-in GUI functions
to help them identify important features and trends. PV-WAVE also
simplifies the housekeeping of all the gauging parameters needed
to scale microscopic images.
RETURN
ON INVESTMENT
"The nice thing about PV-WAVE is that you can go as deep into
it as you want," Hofer explains. "Some researchers use
the PV-WAVE development environment to create their own custom visual
data analysis routines, which can either be stored in their personal
home directories or added to the menu for other users to access.
Other researchers rely on just the menu functions or perform ad-hoc
data analysis from the command line," he adds.
"In that sense, it is a very flexible
tool," Hofer continues. "PV-WAVE has allowed us to establish
an easy entry point for casual users, but you can also get very
sophisticated if you choose to learn the PV-WAVE 4GL to write your
own procedures."
"Although SXM-SHELL has been designed
to study scanning probe microscopy images," Hofer says, "in
principle it could be applied to other types of microscopy as well.
What we have created is a flexible front-end for all types of image
processing," he says. "Any picture or image you can get
into PV-WAVE can be used, and many of our existing functions can
be easily modified to apply to new domains. You simply have to write
a different procedure to read in the data or read in TIFF images
directly. This has already been done for LEED images." Since
SXM-SHELL is owned by the University, it will continue to change
and evolve long after Hofer and his colleagues are gone. For end-users
and developers alike, PV-WAVE will remain at the heart of a powerful
system for probe microscopy study.
"We were able to develop a useful data-visualization
environment very quickly," Hofer concludes. "Since then,
it has grown to include many specialized visualization functions,
totaling about 30,000 lines of code. I am not aware of any other
product that could have done the job as well."
WORLD CLASS PRODUCTS, SERVICES,
AND SUPPORT
Visual Numerics has provided technical software
solutions for numerical analysis and visualization for over 30 years.
The company's software products help users understand complex data
from a variety of sources and build business-critical applications.
Visual Numerics offers two product lines: the IMSL® Numerical
Libraries for powerful mathematical and statistical analysis and
the PV-WAVE® visual data analysis development environment. Visual
Numerics also offers customized consulting services for applications
that involve mathematical, statistical, or visual data analysis
to meet today’s business analytical needs.