General
- What is Avizo?
Avizo is a professional general-purpose visualization and 3D
reconstruction software. Visualization means that you can display
various data sets, notably 3D image data, vector fields, and
finite element data. 3D reconstruction means that you can create
polygonal surface models as well as tetrahedral grids from 3D
image data. Avizo is used for visualization and data analysis in
Engineering & Manufacturing, Non-Destructive Testing,
Material Sciences, Geosciences, Immersive VR and other industrial and scientific domains.
- What is the latest version of Avizo?
The latest version is Avizo 5.0. Altough this is the first version of the Avizo product range,
the version number has been kept from the amira product family for highlighting the strong link between the two products.
See point 1.4 for more information on amira.
- How can I test Avizo? Are there demo keys available?
For evaluation purposes a fully functional version of Avizo can be
downloaded from http://3dviz.mc.com after electronic registration. A
temporary license key will be send to you via e-mail. If you need a
longer evaluation period, or want to purchase a permanent license,
please contact us http://3dviz.mc.com/support/support.asp
- How does Avizo compares to amira?
amira grows and evolves. Initially known and widely used as the 3D visualization
tool of choice in the Life Sciences research market, amira® has become a more and
more sophisticated product, delivering powerful visualization and analysis capabilities
in all visual simulation fields. Application areas such as Material sciences,
Computer Aided Engineering post-processing, Virtual Reality and more, are becoming
active adopters of the product.
To highlight our focus and commitment to these application areas, Mercury is introducing
a new product name: Avizo. Using the same great core software plus domain specific
extensions, amira® will continue to serve the Life Sciences market, while Avizo will
address all other industries, such as Engineering & Manufacturing, Non-Destructive Testing,
Material Sciences, Geosciences, Immersive VR and other industrial and scientific domains.
Installation, hardware and platform related questions
- What are the supported platforms for Avizo?
Avizo runs on:
- Windows 2000/XP/Vista, 32-bit code
- Windows XP/Vista (AMD Opteron, Intel Xeon 64, etc.) 64-bit code.
- Linux x86 (Red Hat Enterprise Linux 4.0/5.0) 32-bit code.
- Linux AMD64 (Red Hat Enterprise Linux 4.0/5.0, AMD Opteron, Intel Xeon 64, etc...) 64-bit code.
- Linux IA64 (Red Hat Enterprise Linux 3.0, Itanium 2) 64-bit code.
- Mac OS X 10.4 Universal Binary.
Details are described in the user's guide in section System Requirements.
- Compatibility between Windows and Unix version ?
The Windows version and the Unix version provide de-facto the same
functionality. Data files can be exchanged between Windows and Unix
without limitations. Minor differences between the versions are due
to differences of the underlying hardware. For example, direct volume
rendering via 3D textures requires a suitable graphics card. Support
for the VolPro 500/1000 cards currently is only available for Windows.
- Can I display Avizo on a remote screen?
In general, it is not recommended that you use an X11 remote display
for demanding interactive 3D graphics applications like Avizo.
However, in principle you can redirect the output of the Unix version
to a remote display. For IRIX, HP-UX, and SunOS, the remote X server
needs to support the GLX extension. Call xdpyinfo to find out
whether your computer has that extension installed. Then simply set the DISPLAY variable and start Avizo.
- Do I need to have root or administrator privileges in order to
install Avizo?
No. On Windows systems you can run the setup tool without having
administrator privileges. On Unix systems simply extract the provided
tar file. In order to install Avizo for all users of the system,
Administrator privileges may be needed.
However, on Sun and HP-UX it is recommended that you set the
default visual
of the X server to 24-bit true color. This may require root
privileges. In addition, on some HP-UX systems it is recommended that you
increase certain kernel parameters like process data size or stack
limit. This requires root privileges as well.
- What are the software and hardware requirements?
Software and hardware requirements are described in the user's guide in
section System Requirements.
- What is the minimum configuration required for my platform?
You need a graphics board with at least 24 bits of color per pixel. At
least 512 MB of main memory are required, 1 GB or more are recommended.
- What is the recommended hardware for my purpose?
In principle, all features are available even on low-end machines
as well. However, for most applications it is highly recommended to have
a sufficiently large amount of main memory (512 MB or more) and to have
a graphics card which supports both texturing and geometry processing
(transformation and lighting) in hardware.
- What is the resource consumption of Avizo, for memory, disk, CPU,
graphics?
Avizo needs roughly about 600 MB of disk space. Memory, CPU and
graphics performance (of course) depend on the kind of data you
are going to visualize. CPU speed is less critical than graphics
performance. Enough memory should be available in
order to completely store the data to be visualized.
- Does Avizo make use of multiple processors ?
The bottleneck for most visualization modules in Avizo is the
performance of the graphics board, which is in general not increased
by using multiple processors. Some computational modules, like
the resolveRT deconvolution extension use multiple processors for
acceleration. The Avizo XScreen Pack VR edition uses multiple processors for
rendering on multi-graphics-pipe systems. If you use Avizo XPand Pack for
custom module development you can use parallelized code in your own
modules as well.
- Are there any limits to the size of textures that graphics boards can
use?
Yes. The exact value depends on the graphics board. A typical limit
will be 2048x2048 pixels per texture. On some architectures there is
also a limit to the total amount of texture memory available. This is
of special importance for texture-based volume rendering. Details are
given in the documentation for the Voltex module.
- Does Avizo support the VolumePro volume rendering hardware?
Yes, Avizo supports the VolumePro 500 and the VolumePro 1000 on Windows
2000 and Windows XP. If you need VolumePro support for other platforms,
please contact us.
Resources, examples, documentation
- Where should I start to learn how to use Avizo?
Probably, the best starting point are the tutorials in the user's guide. They provide a step-by-step learning-by-doing
introduction.
- How long does it take to learn how to use Avizo?
Avizo is easy to use. After going through one of the tutorials for 15
minutes you will have an idea of the basic functionality. Usually,
this is sufficient in order to be able to do first visualizations of
your own data. Of course, becoming an Avizo wizard and becoming familiar
with all the features available in the system will take
substantially more
time.
- Can I get training courses?
Yes, training courses and consulting services are available.
- What is the relevant documentation? Where can I find help?
The primary source for documentation is the Avizo user's guide. This
guide, as well as additional information, is provided on the Avizo web
site http://3dviz.mc.com. If you have specific questions you will find
contact information on these web sites.
- How can I check the version of my Avizo package?
To get the version of Avizo open the Help->About menu.
You can also type app -version in Avizo's console window.
In order to see when Avizo was compiled use app -built. Please indicate the version
string or compilation date whenever your report bugs or problems.
- Are there any examples or demos?
Yes. The Avizo distribution contains tutorials and example with
demo data. The tutorials are contained in Chapter 2 of
the user's guide. Demos are listed in the
reference section of the user's guide.
- Is there a specific newsgroup?
There is no Avizo specific newsgroup yet.
- Is there a mailing list?
No.
- Is there a web site?
For sales and marketing contact see http://3dviz.mc.com/support/support.asp.
- What is Tcl and how can I learn Tcl?
Tcl is the scripting language used by Avizo. You do not
need to know Tcl for normal use of Avizo, however it
enables you to extend the functionality by writing
custom scripts.
There are many good Tcl books. For example, you can try Tcl and the Tk Toolkit by John K. Ousterhout, the
creator of Tcl. Like many others this book also covers the Tk GUI
toolkit. Note that Tk is not used in Avizo.
There are many Tcl online tutorials in the Internet. Simply type
``Tcl tutorial'' into a search engine like www.google.com to
find some.
- How do I see what command line options Avizo accepts?
Command line option are documented in the user's guide in Section 4.2. In addition, starting Avizo with -help gives you a short summary of options.
Technology
- What graphics libraries are used by Avizo ?
Avizo is based on the Open Inventor graphics toolkit. Furthermore, Avizo contains a number of custom Open Inventor nodes which implement
special visualization techniques. These nodes apply direct OpenGL
rendering.
- What is Open Inventor?
Open Inventor is a C++ library allowing you to describe and render 3D scenes.
Open Inventor is built on top of OpenGL. This guarantees portability
and hardware-accelerated performance across a wide range of platforms.
- What is OpenGL?
OpenGL is a library for rendering 3D graphics. OpenGL is the industry
standard for professional 3D graphics. It is supported by all
professional graphics hardware and by an increasing number of consumer
graphics cards.
- What is Tcl?
Tcl is a popular scripting language. Tcl has a simple syntax, so you
can learn Tcl in one afternoon. Avizo has a built-in Tcl interpreter.
This way Avizo is script-able.
- What is Qt?
Qt is a multi-platform GUI software toolkit developed by Troll Tech
(www.troll.no). An application written with Qt can be compiled on
Unix/X11 as well as on Windows. While the user interface of amira 2.0
was based on Motif, all releases of amira 2.1 and later (including the
Windows version) are based on Qt. For the end-user this guarantees that
the set of features and the user interface will be compatible across
all platforms.
- Is Avizo data-flow oriented?
No, Avizo is not data-flow oriented. Avizo is object oriented. Data
objects are persistent in memory and represented in the user
interface. Data are accessed by the modules using the C++ interfaces of
the data classes.
- How do modules communicate?
Modules are loaded into a common process space at runtime, by using
shared libraries. This way they can communicate like C++ objects in a
normal C++ program. There is no overhead for module communication.
- What is the firing order of modules?
Most modules are fired in downstream order. If you create a new module
from the popup menu of an existing one the new module will be
downstream. Avizo networks are typically much less complex than in
data-flow-oriented visualization systems. Therefore the firing
order is usually not of concern for the end-user.
Data input/output, printing
- What are the supported data formats (input and output)?
A list of supported file formats is
contained in the index section of the user's guide.
- How can I use Avizo to import/export image formats other than the Avizo image format?
Avizo supports several standard image formats such as TIFF, JPEG,
SGI-RGB, ACR-NEMA, or DICOM. When Avizo reads data it can usually
determine the file format automatically. You simply select the
file in
the file browser and click OK. When Avizo writes data, the file browser
presents an option menu containing all file formats which can be used
to export that data. Use this menu to select a non-default format.
- How can I define the pixel size for my 3D image volume ?
There is a difference between the number of pixels in a 3D image volume
(e.g., 512x512x200) and its physical bounding box (e.g., 30cm x 30cm x
20cm). Often voxels are even not equally sized in all directions.
Many 2D image formats do not contain this extra information. When
reading images, you can supply this information in Avizo's image input
dialog. You can also change this information later by selecting the
data set (green icon) and choosing the Image
Crop Editor button.
- How do I compute the memory consumption of a 3D image volume ?
For a given volume, the memory consumption in bytes is the
number of voxels (x by y by z) times the size of
a single voxel (in bytes).
To compute the size in megabytes, divide this number
by 1024 to get kilobytes (KB), and divide again by 1024 to get megabytes (MB).
Consider, for example, CT data, which is typically 16 bits (2 bytes/voxel).
A common volume resolution could be 512 x 512 x 600. So the amount of
(contiguous) memory required for this CT data volume would be:
Be careful not to confuse the size of the data on disk with the
size of the data in memory. Many file formats, e.g., TIFF and
JPEG, are compressed file formats. When decompressed, a data set could be
orders of magnitude larger in memory than it is on disk. So
please use the above method when computing the amount of
memory required, not the size of the data set on disk.
- What are the data/mesh/UCD cell types supported by Avizo?
The list of supported data types includes
- 2D and 3D grayscale images (8, 16, and 32 bits)
- 32 bit RGBA-color images
- segmentation results based on labeled voxels
- unstructured tetrahedral meshes
- unstructured hexahedral meshes
- scalar and vector fields defined on uniform, stacked,
rectilinear, curvilinear, tetrahedral, or hexahedral grids
- manifold and non-manifold surfaces
- colormaps including transparency values
- Open Inventor scene graphs
- How can I read my data (with some specific file format)?
Avizo supports a number of standard file formats. Therefore it is
likely that you can find a converter if your file format is not supported.
For image data, Avizo provides a powerful Raw-Data interface, which
can handle most simple binary file formats with some additional manual
work.
In order to implement custom I/O methods, the extensible version
of Avizo called Avizo XPand Pack is required.
- How can I get access to my database?
Data I/O is handled via files. The developer version, of course,
allows the
user to add any database interface he/she wants.
- How can I reuse my work with Avizo? Can I compose modules?
You can save networks, and you can save data objects that have been
created or modified. In order to build new modules, you must use
the developer version, or write script objects in Tcl.
- How can I print with Avizo? How can I take a snapshot of the viewer
window?
In the viewer toolbar there is an icon showing a
camera. This allows you to write snapshots of the 3D scene to a file
or to a printer. If no printers show up in the list then probably they
are not properly installed. In the latter case you can still print to
a PostScript file on disk and print that file from a different
computer.
You can also use the command line interface to make snapshots. This
is useful for generating animations via a Tcl script. The syntax is viewer <n> snapshot <filename>, where <n> denotes the
viewer window to be captured. The format of the output file is
determined automatically from the file name suffix.
- What image formats are supported for snapshots?
Snapshots can be stored in TIFF, JPEG, SGI-RGB, PNM, BMP, PNG, or
EPS format. The file type is determined automatically from the file
name suffix.
- How can I create printed reports including Avizo images?
You may use any desktop publishing or word processing system of your
choice. Probably all of them allow you to import either TIFF or JPEG
or EPS files.
- How can I publish Avizo images or animations on the Web?
Make snapshots and save them as JPEG images, or create
animation sequences as described below.
Visualization
- Can I display axes?
Yes. Use the menu entry Axis in the view menu. This will display
global axes located at the origin of the world coordinate system. You
may also attach local axes to any data object by selecting Display LocalAxis from the object's popup menu.
- Can I do image processing with Avizo?
Basic image processing functionality is provided although Avizo is not
a dedicated image-processing program. For example, the Image
Filters editor supports smoothing, sharpening, as well as certain
morphological operations.
- Does the surface reconstruction support non-manifold topologies?
Yes. In contrast to many other products, non-manifold topologies are
handled in a consistent way by Avizo.
- Is it possible to start Avizo up with NO display in order to do batch
processing of data or to generate pictures and plots without displaying
anything on the console?
You can start Avizo with the -no_gui command line option in
order to execute scripts in batch mode.
- How does Avizo behave with large data sets?
Avizo is an interactive visualization system. Therefore, data sets
must be loaded into main memory in order to be processed. However, the XLVolume pack can be used to deal with large data sets in some cases.
The XLVolume Pack allows you to load and visualize data sets larger than the amount of RAM installed on your system,
as well as convert these data sets into LDA (Large Data Access) files.
These LDA files can be used to visualize very large data (hundreds of gigabytes),
such as seismic or microscopy data, using a limited amount of memory.
It is possible to convert original data of the following types: AmiraMesh, RawData, and StackedSlices (stacks of SGI, TIFF, GIF, JPEG, BMP, PNG, JPEG2000, PGX, PNM, and RAS raster files).
LDA data allows subvolume extraction to display parts of the volume, or multi-resolution access to have a full subsampled view or accurate refined local views.
- How can I change the background color of the viewer?
There are three different background modes, namely uniform, gradient, and checkerboard. These modes can be set for all
viewers via the View Background menu of the main window or via
the command viewer <n> setBackgroundMode <mode> for a particular viewer. The primary background color can be adjusted
via the View Background menu or
via the command viewer <n> setBackgroundColor <color>. The
secondary color used in gradient and checkerboard mode can be adjusted
via the View Background menu or the command viewer <n> setBackgroundColor2 <color>.
You can also place an arbitrary raster image in the background using
the command viewer <n> setBackgroundImage <filename>. Any image
file in TIFF, SGI-RGB, JPEG, PNM, BMP, or PNG format can be read.
However, note that the image is not shown if its size is greater than
that of the viewer window.
- Can I display a colormap in the viewer window as legend?
First make the colormap icon visible in the Properties Area. This can be
done by selecting the Show or Show All item of Pool in the menu bar of the main window. Then click on the green colormap
icon with the right mouse button and select Show Colormap.
- How can I adjust color and transparency of individual parts of a
surface?
A surface object may consist of multiple patches referring to different
materials. The color of each material can be adjusted using the Tcl
command setColor described in Surface.
Likewise, for each material a specific transparency value may be set
using the command setTransparency. In this way certain parts of a
surface may be highlighted. Note that you must choose draw style transparent in order to enable transparencies. Also note that
color mode mixed is most appropriate for transparent surfaces in
terms of performance and meaning.
- How can I create an iso-surface with fewer polygons than the
iso-surface module extracts?
First of all, the iso-surface module provides a special option
called compactify which produces about 40 percent fewer triangles
than standard method. Moreover, very large data sets may be
downsampled on-the-fly during isosurface generation.
If you need more flexibility, you can create a separate surface object
by selecting create surface from the more options menu of
the iso-surface module. You may then use the simplification editor in
order to remove as many triangles from the surface as you want. You
can display the resulting simplified surface using the SurfaceView
module.
- How do I visualize data with holes in it?
There are several choices. You can apply a slicing module such as
OrthoSlice or ObliqueSlice. Alternatively, you can clip away parts of a
3D geometry using an arbitrary slicing module. Slicing modules are
indicated by an orange icon. Such modules provide a little push button
that must be pressed in order to activate clipping. An empty
clipping module can be created via the Create menu of the main
window.
If you want to visualize surfaces or finite-element grids you can also
use the selection box feature of the corresponding viewing modules.
Most of these modules such as SurfaceView or GridVolume support a buffer concept which allows you to select which parts of the
object should be displayed. Even the Isosurface module has such
a buffer. For this module it can be enabled using the Avizo command Isosurface showBox.
- How can I read a series of single image files such that I get a 3D
stack?
Select all image files in the file browser at once. This can be done
by clicking the first file and then shift-clicking the last one.
Individual files can be selected and deselected by ctrl-clicking.
After pressing the Ok button all images will be combined in a single
3D data stack. Note that the images should be of the same size.
- How can I quickly switch between two different data sets?
Click with the left mouse on the blue line connecting one of the data
icons and the visualization module icon in the Properties Area and
- holding the left mouse button down - move the line to the icon of the
other data object.
- How can I compare two data sets?
One solution is to display each data set in a different viewer. You
can activate up to four viewers via the View Layout menu. If two
viewers are visible attach a display module to each data set. You can
control in which of the viewers the output of a module is displayed by
selecting the module and setting or unsetting the orange viewer
toggles. If you are using two OrthoSlice modules, make sure that
the same slice is displayed in both viewers.
In order to get the same camera settings in both viewers use the Tcl
command viewer 0 setSlaveViewer 1. Whenever you navigate in
viewer 0 the camera of viewer 1 will be adjusted as well.
An alternative method to compare two different data sets is to compute
and visualize the difference of both. To subtract two fields from each
other use the Arithmetic module. Connect the
module to both data sets by activating the popup menu over the small
white square on the left side of the module's icon. Then enter an expression like A-B in
order to compute the difference. You can visualize the result of the Arithmetic module by any of the ordinary display modules.
Specific features
- Does Avizo support Stereo viewing?
Yes. You will need special shutter glasses, e.g., Stereographics
Crystal Eyes. Stereo viewing is successfully being used on SGI and
HP-UX systems. The Windows version is also be stereo enabled. You can use
red/blue stereo as well as shutter stereo, if your hardware supports
stereo for OpenGL applications.
- Does Avizo support VR devices, such as a 3D mouse, head-mounted
displays or CAVE systems?
Yes. Depending on your exact requirements you will need the Avizo XScreen Pack VR edition.
- Can I use anti-aliasing?
Yes. On SGI Infinite Reality systems Avizo will automatically
use a multi-sample visual. On other systems you can switch on
anti-aliasing in the graphics driver.
If your system does not support hardware anti-aliasing, you
may use the command viewer 0 antiAlias 3 to enable 3-pass jittered rendering. To
reset, type viewer 0 antiAlias 1.
Developing applications with Avizo
- Is it possible to extend Avizo ?
Yes, a special version of Avizo called Avizo XPand Pack allows you to write
your own modules, data classes, editors, and I/O methods.
- Is Avizo an application builder?
No, it isn't.
- Can I define my own user interface for my specific application?
You cannot customize the user interface of existing modules. With
the end user version you can write scripts with a specific set of
ports (Avizo GUI elements). With the developer version you can
write modules with any user interface you like. For non-standard
components this might require a Qt developer license which is not
part of the Avizo developer version. If you want to build an
application with a completely customized look-and-feel, you will
have to implement your own user interface to wrap and hide the
existing Avizo components.
- Can I record user interaction in ``macros'' ?
No. But you can save the current network.
- Can I automate operations with Avizo?
Yes, you can use Tcl scripts and script
objects. Script objects allow you to specify parameters for your
scripts using pre-defined GUI elements such as buttons, option menus, or
sliders.
- Is there an upgrade from End User edition to Developer Edition?
Yes, the end-user license can be upgraded to Avizo XPand Pack.
- Can I write data input, processing and visualization modules with Tcl?
The Tcl interface is intended to access special features of modules,
to automate routine tasks, or to solve certain problems by combining
existing modules and components. Writing new visualization or data
processing modules in Tcl is difficult and is not recommended. Writing
data I/O methods in Tcl can make sense in some situations.
- Is it possible to script any interaction with Avizo? Are all Avizo features available through Tcl scripts ?
Any interaction with modules is fully scriptable. There are features
in interactive editors which are not scriptable. These are mainly
interactions with the 3D viewer.
- What programming languages can I use: C++, C, FORTRAN ...?
Avizo is written in C++. Implementing a new module with Avizo XPand Pack version requires you to derive from an existing C++ class. Inside
this class, of course, you can call routines written in other
languages such as C or FORTRAN.
- Can I embed executable or shell scripts as modules?
You can use Tcl scripts and script objects. From within
these scripts you can call external programs using the system command. Data exchange with these programs typically will be via
files.
- How can I connect Avizo visualization to my computation code?
You can write simulation results (e.g., time steps) to files and
than tell a running Avizo to read them. To do that use the -cmd option
of Avizo, i.e. call Avizo -cmd somecmd where somecmd typically will be a Tcl procedure.
If you have the Avizo XPand Pack version, you can either embed your
simulation code in an Avizo module (possibly as a separate thread), or
you can write a module which communicates with your simulation via
sockets or shared memory.
- Can I develop with Open Inventor or MeshViz with an Avizo Developer License?
If you have the Avizo XPand Pack version, you may use Open Inventor in
your own Avizo modules, but you can't compile standalone Open Inventor
applications. This would require a separate Open Inventor SDK license.
- Can I get the source code for an Avizo module?
The Avizo XPand Pack version contains source code for demo modules which you
may use as a template for your own modules. In general, the source
code of Avizo modules will not be released.
- What is the compatibility with MeshViz ?
Avizo uses MeshViz components for managing polyhedral meshes. You can
use other MeshViz components in your own modules without limitations.
- Can I (re)use Open Inventor or MeshViz code with Avizo?
Yes.
- What is the difference between the Avizo XPand Pack version and the
end-user version?
In addition to the end-user version Avizo XPand Pack contains all files
(like header files of Avizo base modules and a makefile environment)
needed to compile specific extensions. It also contains a ``wizard'' to
create skeletons of new modules and readers.
- Can I execute custom modules created with Avizo XPand Pack with an
ordinary Avizo version?
Yes, you can. Details are given in the programmer's guide.
- What is the runtime policy for my own modules (technically)?
You may distribute your own modules without limitations. In order to
use them, other users will have to purchase an Avizo end-user
version.