amira 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. amira is used for visualization and data analysis in
microscopy, biology, medicine, engineering, geo-sciences, material
science, bio-chemistry and many other fields.
The latest version is amira 4.0.
For evaluation purposes a fully functional version of amira can be
downloaded from http://www.mc.com/tgs 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://www.tgs.com/corp/contact_technical_sup.htm
amira runs on Microsoft Windows 2000/XP, HP-UX 11.00,
SGI Irix 6.5.x, Sun Solaris 8, Linux (Red Hat Enterprise 3.0),
Mac OS X Tiger (10.4). Details are described in the user's guide in section
System Requirements.
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.
In general, it is not recommended that you use an X11 remote display
for demanding interactive 3D graphics applications like amira.
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 amira.
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 amira 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.
Software and hardware requirements are described in the user's guide in
section System Requirements.
You need a graphics board with at least 24 bits of color per pixel (16
bits for Linux). At least 64 MB of main memory are required, 512 MB or
more are recommended.
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.
amira needs roughly about 60 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.
The bottleneck for most visualization modules in amira 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 amiraVR edition uses multiple processors for
rendering on multi-graphics-pipe systems. If you use amiraDev for
custom module development you can use parallelized code in your own
modules as well.
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.
Yes, amira 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.
Probably, the best starting point are the tutorials
in the user's guide. They provide a step-by-step learning-by-doing
introduction.
amira 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 amira wizard and becoming familiar
with all the features available in the system will take
substantially more
time.
Yes, training courses and consulting services are available. For more
information refer to the web sites www.mc.com/tgs.
The primary source for documentation is the amira user's guide. This
guide, as well as additional information, is provided on the amira web
site www.mc.com/tgs. If you have specific questions you will find
contact information on these web sites.
Command line option are documented in the user's guide in
Section 11.2. In addition, starting amira with -help gives you a short summary of options.
To get the version of amira type app -version in
amira's console window. In order to see when amira
was compiled use app -built. Please indicate the version
string or compilation date whenever your report bugs or problems.
Yes. The amira distribution contains tutorials and example with
demo data. The tutorials are contained in Chapter 9 of
the user's guide. Demos are listed in the
reference section of the user's guide.
There is no amira specific newsgroup yet.
No.
For technical information refer to www.mc.com/tgs. For
sales and marketing contact see
www.tgs.com/corp/contact_technical_sup.htm.
In the future a public repository for 3rd
party contributions will be set up at www.mc.com/tgs.
Tcl is the scripting language used by amira. You do not
need to know Tcl for normal use of amira, 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 amira.
There are many Tcl online tutorials in the Internet. Simply type
``TCL tutorial'' into a search engine like www.google.com to
find some.
amira is based on the Open Inventor graphics toolkit. Furthermore,
amira contains a number of custom Inventor nodes which implement
special visualization techniques. These nodes apply direct OpenGL
rendering.
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.
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.
Tcl is a popular scripting language. Tcl has a simple syntax, so you
can learn Tcl in one afternoon. amira has a built-in Tcl interpreter.
This way amira is script-able.
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.
No, amira is not data-flow oriented. amira 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.
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.
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. amira 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.
A list of supported file formats is
contained in the index section of the user's guide.
amira supports several standard image formats such as TIFF, JPEG,
SGI-RGB, ACR-NEMA, or DICOM. When amira reads data it can usually
determine the file format automatically. You simply select the
file in
the file browser and click OK. When amira 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.
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 amira'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.
The list of supported data types includes
amira 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, amira 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 amira called
amiraDev is required.
Data I/O is handled via files. The developer version, of course,
allows the
user to add any database interface he/she wants.
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.
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.
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.
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.
Make snapshots and save them as JPEG images, or create
animation sequences as described below.
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.
Basic image processing functionality is provided although amira is not
a dedicated image-processing program. For example, the Image
Filters editor supports smoothing, sharpening, as well as certain
morphological operations.
Yes. In contrast to many other products, non-manifold topologies are
handled in a consistent way by amira.
You can start amira with the -no_gui command line option in
order to execute scripts in batch mode.
amira is an interactive visualization system. Therefore, data sets
must be loaded into main memory in order to be processed. In some
projects very large dynamic data sets (up to several 100 GB) have been
visualized with amira. In this case special reader modules have been
used which only read subsets of the data at once.
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.
First make the colormap icon visible in the Properties Area. This can be
done by selecting the Show or Show All item of Edit
in the menu bar of the Properties Area. Then click on the green colormap
icon with the right mouse button and select
Show Colormap.
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.
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.
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 Edit 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 amira
command Isosurface showBox.
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.
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.
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
rectangle 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.
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.
Yes. Depending on your exact requirements you will need the
amiraVR edition.
Yes. On SGI Infinite Reality systems amira 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.
Yes, a special version of amira called amiraDev allows you to write
your own modules, data classes, editors, and I/O methods.
No, it isn't.
You cannot customize the user interface of existing modules. With
the end user version you can write scripts with a specific set of
ports (amira 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 amira 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 amira components.
No. But you can save the current network.
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.
Yes, the end-user license can be upgraded to amiraDev.
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.
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.
amira is written in C++. Implementing a new module with amiraDev
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.
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.
You can write simulation results (e.g., time steps) to files and
than tell a running amira to read them. To do that use the -cmd option
of amira, i.e. call amira -cmd somecmd where somecmd
typically will be a Tcl procedure.
If you have the amiraDev version, you can either embed your
simulation code in an amira module (possibly as a separate thread), or
you can write a module which communicates with your simulation via
sockets or shared memory.
If you have the amiraDev version, you may use Open Inventor in
your own amira modules, but you can't compile standalone Open Inventor
applications. This would require a separate Open Inventor SDK license.
The amiraDev version contains source code for demo modules which you
may use as a template for your own modules. In general, the source
code of amira modules will not be released.
amira doesn't use MeshViz components. However, you can
use such components in your own modules without limitations.
Yes.
In addition to the end-user version amiraDev contains all files
(like header files of amira base modules and a makefile environment)
needed to compile specific extensions. It also contains a ``wizard'' to
create skeletons of new modules and readers.
You may distribute your own modules without limitations. In order to
use them, other users will have to purchase an amira end-user
version.
Answers
General
Installation, hardware and platform related questions
Resources, examples, documentation
Technology
Data input/output, printing
Visualization
Specific features
Developing applications with amira