Frequently Asked Questions

 

    General

    1. What is amira?
    2. What is the latest version of amira?
    3. How can I try amira? Are there demo or evaluation keys?

      Installation, hardware and platform related questions
    4. What are the supported platforms for amira?
    5. Compatibility between Windows and Unix version ?
    6. Can I display amira on a remote screen?
    7. Do I need to have root or administrator privileges in order to install the product?
    8. What are the software and hardware requirements?
    9. What is the minimum configuration required for my platform?
    10. What is the recommended hardware for my purpose?
    11. What is the resource consumption of amira, for memory, disk, cpu, graphics?
    12. Does amira make use of multiple processors ?
    13. Are there any limits to the size of textures that graphics boards can use?
    14. Does amira support the VolumePro volume rendering hardware?

      Resources, examples, documentation
    15. Where should I start to learn how to use amira?
    16. How long do I need to learn how to use amira?
    17. Can I get training courses?
    18. What is the relevant documentation available?
    19. How do I see what command line options amira accepts?
    20. How can I check the version of my amira package?
    21. Are there any examples or demos?
    22. Is there a specific newsgroups?
    23. Is there a mailing list?
    24. Is there a web site?
    25. Where can I find (free) modules for amira? Is there a public repository for 3rd party contributions?
    26. How can I learn Tcl?

      Technology
    27. What graphics libraries are used by amira ?
    28. What is Open Inventor?
    29. What is OpenGL?
    30. What is Tcl?
    31. What is Qt?
    32. Is amira data-flow oriented?
    33. How do modules communicate?
    34. What is the firing order of modules?

      Data input/output, printing
    35. What are the supported data formats (input and output)?
    36. How can I use amira to import/export image formats other than the amira image format?
    37. How can I define the pixel size for my 3D image volume ?
    38. What are the data/mesh/UCD cell types supported by amira?
    39. How can I read my data (with some specific file format)?
    40. How can I interface to my database?
    41. How can I reuse my work with amira? Can I compose modules?
    42. How can I print with amira? How can I take a snapshot of the viewer window?
    43. What image formats are supported for snapshots?
    44. How can I create printed reports including amira images?
    45. How can I publish amira images or animations on the Web?

      Visualization
    46. Can I display axes?
    47. Can I do image processing with amira?
    48. Does the surface reconstruction support non-manifold topologies?
    49. 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?
    50. How does amira behave with large data sets?
    51. How can I change the background color of the viewer?
    52. Can I display a colormap in the viewer window as legend?
    53. How can I adjust color and transparency of individual parts of a surface?
    54. How can I create an iso-surface with fewer polygons than the iso-surface module extracts?
    55. How do I visualize data with holes in it?
    56. How can I read a series of single image files such that I get a 3D stack?
    57. How can I quickly switch between two different data sets?
    58. How can I compare two data sets?

      Specific features
    59. Does amira support Stereo viewing?
    60. Does amira support VR devices, such as 3D mouse, head-mounted displays or CAVE systems?
    61. Can I use anti-aliasing?

      Developing applications with amira
    62. Is it possible to extend amira ?
    63. Is amira an application builder?
    64. Can I define my own user interface for my specific application?
    65. Can I record user interaction in "macros"?
    66. Can I automate operations with amira?
    67. Is there an upgrade from End User edition to Developer Edition?
    68. Can I write data input, processing and visualization modules with Tcl?
    69. Is it possible to script any interaction with amira? Are all amira features available through Tcl scripts?
    70. What programming languages can I use: C++, C, FORTRAN ...?
    71. Can I embed executable or shell scripts as modules?
    72. How can I connect amira visualization to my computation code?
    73. Can I develop with Open Inventor or 3D-MasterSuite with an amira End User or Developer License?
    74. Can I get the source code for an amira module?
    75. What is the compatibility with 3D-MasterSuite?
    76. How can I (re)use 3D-MasterSuite or Open Inventor code with amira?
    77. What is the difference between the developer and the end-user version?
    78. Can I execute custom modules, created with amiraDev, with an ordinary amira version ?
    79. What is the runtime policy for your own modules (technically)?


 

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

    Is there a mailing list?

    No.

    Is there a web site?

    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.

    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.

    What are the data/mesh/UCD cell types supported by amira?

    The list of supported data types includes

    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

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

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