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.
What is the latest version of amira?
The latest version is amira 3.1.
How can I test amira? Are there demo keys available?
For evaluation purposes a fully functional version of amira can be
downloaded from www.amiravis.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://www.amiravis.com/contact.html
Installation, hardware and platform related questions
What are the supported platforms for amira?
amira 3.1 runs on Microsoft Windows 98SE/ME/2000/XP, HP-UX 11.00,
SGI Irix 6.5.x, Sun Solaris 8, and on Linux (RedHat 8.0 or
compatible). 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 amira on a remote screen?
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.
Do I need to have root or administrator privileges in order to
install 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.
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 (16
bits for Linux). At least 64 MB of main memory are required, 512 MB 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 amira, for memory, disk, CPU,
graphics?
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.
Does amira make use of multiple processors ?
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 amira 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.
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 amira support the VolumePro volume rendering hardware?
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.
Resources, examples, documentation
Where should I start to learn how to use amira?
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 amira?
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.
Can I get training courses?
Yes, training courses and consulting services are available. For more
information refer to the web sites www.amiravis.com or www.tgs.com.
What is the relevant documentation? Where can I find help?
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.amiravis.com and also on www.tgs.com. If you have
specific questions you will find contact information on these web
sites.
How do I see what command line options amira accepts?
Command line option are documented in the user's guide in
Section 4.2. In addition, starting amira with -help gives you a short summary of options.
How can I check the version of my amira package?
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.
Are there any examples or demos?
Yes. The amira 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 newsgroups?
There is no amira specific newsgroup yet.
No.
For technical information refer to www.amiravis.com. For
sales and marketing contact see
http://www.amiravis.com/contact.html or www.tgs.com.
Where can I find (free) modules for amira? Is there a public
repository for 3rd party contributions?
In the future a public repository for 3rd
party contributions will be set up at www.amiravis.com.
What is Tcl and how can I learn Tcl?
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.
Technology
What graphics libraries are used by amira ?
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.
Is amira data-flow oriented?
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.
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. 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.
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 amira to import/export image formats other than the
amira image format?
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.
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 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.
What are the data/mesh/UCD cell types supported by amira?
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)?
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.
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 amira? 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 amira? How can I take a snapshot of the viewer
window?
In the viewer, on the left hand side, there is an icon showing a photo
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 amira 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 amira images or animations on the Web?
Make snapshots and save them as JPEG images, or create
animation sequences as described below.
Visualization
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 amira?
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.
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 amira.
Is it possible to start amira 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 amira with the -no_gui command line option in
order to execute scripts in batch mode.
How does amira behave with large data sets?
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.
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 camera icon in the upper left corner of the viewer window or
via the command viewer <n> setBackgroundColor <color>. The
secondary color used in gradient and checkerboard mode can be adjusted
via 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 Working Area. This can be
done by selecting the Show or Show All item of Edit
in the menu bar of the Working Area. 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 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.
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 Working 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
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.
Specific features
Does amira 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 amira support VR devices, such as a 3D mouse, head-mounted
displays or CAVE systems?
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.
Developing applications with amira
Is it possible to extend amira ?
Yes, a special version of amira called amiraDev allows you to write
your own modules, data classes, editors, and I/O methods.
Is amira 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 (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.
Can I record user interaction in ``macros'' ?
No. But you can save the current network.
Can I automate operations with amira?
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 amiraDev.
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 amira? Are all amira
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 ...?
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.
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 amira visualization to my computation code?
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.
Can I develop with Open Inventor or DataViz with an amira
Developer License?
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.
Can I get the source code for an amira module?
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.
What is the compatibility with TGS DataViz ?
amira doesn't use DataViz components. However, you can
use such components in your own modules without limitations.
Can I (re)use Open Inventor or DataViz code with amira?
Yes.
What is the difference between the amiraDev version and the
end-user version?
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.
Can I execute custom modules, created with amiraDev, with an
ordinary amira 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 amira end-user
version.