|
|
University
of Basel Analyzes Microscopic
Images with PV-WAVE® ![]()
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 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." Building the system 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. PV-WAVE in action 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. "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." Because 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!" |