FAQ

General


Installation, hardware and platform related questions


Resources, examples, documentation
Technology
Data input/output, printing
Visualization
Specific features
Developing applications with Amira

 

 

 

Answers


General

What is Amira?
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 Life Sciences.

What is the latest version of Amira?

The latest version is Amira 5.2.


How can I test Amira? Are there demo keys available?

For evaluation purposes a fully functional version of Amira can be downloaded from http://www.amira.com after electronic registration. A temporary license key will be sent to you via e-mail. If you need a longer evaluation period, or want to purchase a permanent license, please contact us.

 


Installation, hardware and platform related questions

What are the supported platforms for Amira?

Amira runs on:

  • Windows 2000/XP/Vista, 32-bit code
  • Windows XP/Vista (Intel 64/AMD64 architecture) 64-bit code.
  • Linux x86_64 (Red Hat Enterprise Linux 5.0, AMD64 architecture) 64-bit code.
  • Mac X 10.5 (Leopard) 32-bit application.

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. 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 Amira, for memory, disk, CPU, graphics?

Amira 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 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 Resolve RT deconvolution extension use multiple processors for acceleration. The AmiraVRPack edition uses multiple processors for rendering on multi-graphics-pipe systems. If you use Amira Developer 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 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.


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. If you have specific questions you will find contact information on these web sites.


How can I check the version of my Amira package?

To get the version of Amira open the Help->About menu. You can also 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 newsgroup?

There is no Amira specific newsgroup yet.


Is there a mailing list?

No.


Is there a web site?

For sales and marketing contact see contact page .


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.


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.


Technology


What graphics libraries are used by Amira ?

Amira is based on the Open Inventor graphics toolkit. Furthermore, Amira 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. Amira has a built-in Tcl interpreter. This way Amira 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 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.


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:

 

512 x 512 x 600 x 2B / 1024 / 1024 = 300MB

 

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 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 Amira Developer 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 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 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 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

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 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. However, the Very Large Data Pack can be used to deal with large data sets in some cases.

The Very Large Data 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 DisplayColormap.


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 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 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 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 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 AmiraVRPack edition.


Can I use anti-aliasing?

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 Amira Developer Pack 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 Amira Developer 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 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 Amira Developer 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 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 Amira Developer Pack 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 MeshViz with an Amira Developer License?

If you have the Amira Developer Pack 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 Amira Developer 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 Amira modules will not be released.


What is the compatibility with MeshViz ?

Amira 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 Amira?

Yes.


What is the difference between the Amira Developer Pack version and the end-user version?

In addition to the end-user version Amira Developer Pack 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 Amira Developer Pack 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.