Amira-Avizo Software and PerGeos Software

Introduction

This content is intended to provide recommendations for the choice of a suitable workstation to run Thermo Scientific Amira-Avizo Software and PerGeos Software.

The four most important components that need to be considered are the graphics card (GPU), the CPU, the RAM, and the hard drive.

The performance of direct volume rendering of large volumetric data or large triangulated surface visualization extracted from the data depends heavily on the GPU capability. The performance of image processing algorithms depends heavily on the performance of the CPU. The ability to quickly load or save large data depends heavily on the hard drive performance. And, of course, the amount of available memory in the system will be the main limitation on the size of the data that can be loaded and processed.

Because the hardware requirements will vary widely according to the size of your data and your workflow, we strongly suggest that you take advantage of our supported evaluation version to try working with one of your typical data sets.

In this document, the term “Amira” refers to all Amira Software editions and extensions, the term “Avizo” refers to all Avizo Software editions (including Avizo ToGo) and all Avizo Software extensions, and the term “PerGeos” refers to all PerGeos Software editions and extensions.


Operating systems

  • Microsoft Windows® 10 (64-bit). Testing on Windows versions older than Windows 10 has been discontinued.
  • Linux x86_64 (64-bit). Supported 64-bit architecture is Intel64/AMD64 architecture. Supported Linux distribution is CentOS 7.
  • IMPORTANT: Amira-Avizo Software version 2020.3 is the last version which supports macOS platform.  Support of macOS has been discontinued starting 2021.1.There will be no new product development nor update on  macOS.
  • Some of the editions, extensions, or functionalities are limited to some platforms:
    • Avizo for Industrial Inspection Edition is supported only on Microsoft Windows (64-bit).
    • XWind Extension: The Meshing workroom and Generate Tetra Mesh module are supported only on Microsoft Windows, not on Linux.
    • Avizo XReadIGES Extension, Avizo XReadSTEP Extension, Avizo XReadCATIA5 Extension, Avizo XReadCATIA6 Extension, Avizo XReadJT Extension, Avizo XReadXMT Extension, Avizo XReadPROE Extension, Avizo XReadSOLIDEDGE Extension, Avizo XReadSOLIDWORKS Extension, Avizo XReadUG Extension, Avizo XReadVDA Extension are supported only on Microsoft Windows, not on Linux.
    • XLabSuite Extension molecular diffusivity, formation factor and thermal conductivity computation are supported only on Microsoft Windows, not on Linux.
    • Amira for Cell Biology Edition is available only on Microsoft Windows, not on Linux.
    • Olympus and TXM file formats are supported only on Microsoft Windows, not on.
    • Deep Learning Prediction and Deep Learning Training modules are supported only on Microsoft Windows, not on Linux. A NVIDIA GPU supporting CUDA Compute Capability 3.5 or higher is also required, with up-to-date drivers.

Prioritizing hardware for Amira-Avizo Software and PerGeos Software

Graphics cards

The single most important determinant of Amira-Avizo Software and PerGeos Software performance for visualization is the graphics card.

Amira-Avizo Software and PerGeos Software should run on any graphics system (this includes GPU and its driver) that provides a complete implementation of OpenGL 2.1 or higher (certain features may not be available depending on the OpenGL version and extensions supported).

However, bugs with graphics boards and drivers are not unusual.

The amount of GPU memory needed depends on the size of the data. We recommend a minimum of 1 GB on the card. Some visualization modules may require graphics memory large enough to hold the actual data. High-end graphics cards have 16 to 32 GB of memory. Optimal performance of volumetric visualization at full resolution requires that data fit in graphics memory (some volume rendering modules of Amira-Avizo Software are able to go around this limitation).

Amira-Avizo Software and PerGeos Software will not benefit from multiple graphics boards for the purpose of visualization on a single monitor. However, some of the image processing algorithms rely on CUDA for computation, and while the computation can run on the single CUDA-enabled graphics board, this computation can also run on a second CUDA-enabled graphics card installed in the system. A configuration featuring multiple graphics boards can be useful to drive many screens or in immersive environments.

When comparing graphics boards, there are many different criteria and performance numbers to consider. Some are more important than others, and some are more important for certain kinds of rendering. Thus, it is important to consider your specific visualization requirements. Integrated graphics boards are not recommended for graphics-intensive applications such as Amira-Avizo Software and PerGeos Software, except for basic visualization.

Wikipedia articles on NVIDIA GeForce/Quadro and AMD Radeon/FirePro cards will detail specific performance metrics:

  • Memory size—This is very important for volume visualization (both volume rendering and slices) to maximize image quality and performance because volume data is stored in the GPU’s texture memory for rendering. It is also important for geometry rendering if the geometry is very large (large number of triangles).
  • Memory interface/Bandwidth—This is important for volume rendering because large amounts of texture data need to be moved from the system to the GPU during rendering. The PCI Express 3 buses are the fastest interfaces available today.
  • Number of cores (also known as stream processors)—This is very important for volume rendering because every high-quality rendering feature you enable requires additional code to be executed on the GPU during rendering.
  • Triangles per second—This is very important for geometry rendering (surfaces, meshes).
  • Texels per second/Fill rate—This is very important for volume visualization (especially for volume rendering) because a large number of textures will be rendered and pixels will be “filled” multiple times to blend the final image.

 

Professional graphics boards

VendorFamilySeries
NVIDIAQuadroMaxwell, Kepler, Pascal, RTX, Turing
AMDFireProW, V

All driver bugs are submitted to the vendors. Fixes may be expected in future driver releases.

 

Standard graphics boards

VendorFamilySeries
NVIDIAGeForceMaxwell, Kepler, Pascal, RTX, Turing
AMDRadeonsince GCN 1.1
IntelHD GraphicsBroadwell, Skylake

Due to vendor support policies, we are not able to commit to providing a fix for bugs caused by the driver on standard graphics boards.

  • Professional graphics boards will benefit from the professional support offered by the vendors (driver bug fixes).
  • Always use a recent driver version for your graphics board.
  • You should also ensure that your monitor is plugged to the graphic card instead of the integrated chipset.
  • With an NVIDIA Quadro board, we recommend you use the driver profile “3D App – Visual Simulation”. In case of rendering or performance issues, you may want to experiment with different “3D App” profiles.
  • Turning off the Vertical sync feature improves frame rate.
  • Click here for more information  and a complete list of NVIDIA boards and comparisons.
  • Click here for more information  and a complete list of AMD boards and comparisons.
  • Some visualization modules, such as Volume Rendering, may not support Intel graphics cards.

 

System memory

System memory is the second most important determinant for Amira-Avizo Software and PerGeos Software users who need to process large data.

You may need much more memory than the actual size of the data you want to load within Amira-Avizo Software and PerGeos Software. Some processing may require several times the memory required by the original data set. If you want to load, for instance, a 4 GB data set in memory and apply a non-local means filter to the original data and then compute a distance map, you may need up to 16 or 20 GB of additional memory for the intermediate results of your processing. Commonly, you will need 2 or 3 times the memory footprint of the data being processed for basic operations. For more complex workflows, you may need up to 6 or 8 times the amount of memory, so 32 GB may be required for a 4 GB dataset. Due to the potentially high memory requirement, we highly recommend running on a 64-bit computer and operating systems.

Also note that size of the data on disk may be much smaller than the memory needed to load the data, as the file format may have compressed the data (for instance, loading a stack of JPEG files).

Amira-Avizo Software and PerGeos Software can handle data that exceed your system's physical memory using Large Data Access (LDA) or Smart Multichannel Series (SMS) technologies – SMS requires Xplore5D extension. They are excellent ways to stretch the performance, but it is not a direct substitute for having more physical memory. The best performance and optimal resolution is achieved by using Amira-Avizo Software and PerGeos Software large data technologies in combination with a large amount of system memory.

Avizo 3D Pro and Amira 3D Pro Software provide another loading option to support 2D and 3D image processing from disk to disk, without requiring loading the entire data into memory; modules then operate per data slab. This enables processing and quantification of large image data even with limited hardware memory. Since processing of each slab requires loading data and saving results from/to the hard drive, it dramatically increases processing time. Thus, processing data fully loaded in memory is always preferred for best performance.


Hard drives

When working with large files, reading data from the disk can slow down your productivity. A standard hard drive (HDD) (e.g., 7200 rpm SATA disk) can only stream data to your application at a sustained rate of about 60 MB/second. That is the theoretical limit; your actual experience is likely to be closer to 40 MB/second. When you want to read a 1 GB file from the disk, you will likely wait 25 seconds. For a 10 GB file, the wait is 250 seconds—over 4 minutes. Large data technologies (LDA, SMS, …) will greatly reduce wait times for data visualization, but disk access will still be a limiting factor when you want to read data files at full resolution for data processing. Compared to traditional HDDs, solid state drives (SSD) can improve read and write speeds.

For best performance, the recommended solution is to configure multiple hard drives (3 or more HDDs or SSDs) in RAID5 mode. Note that RAID configurations may require substantially more system administration. For performance only, RAID 0 could be used, but you may risk data loss upon hard drive failure. If you want performance and data redundancy, RAID 5 is recommended.

Reading data across the network (for example, from a file server) will normally be much slower than reading from a local disk. The performance of your network depends on the network technology (100 Mb, 1 Gb, etc.), the amount of other traffic on the network, and the number/size of other requests to the file server. Remember, you are (usually) sharing the network and server and will not get the theoretical bandwidth. Large data technologies may also facilitate visualization of volume data through the network, but if data loading is a bottleneck for your workflow, we recommend making a local copy of your data.


CPU

While Amira-Avizo Software and PerGeos Software mostly rely on GPU performance for visualization, many modules are computation-intensive, and their performance will be strongly affected by CPU performance.

More and more modules inside Amira-Avizo Software and PerGeos Software are multi-threaded and as such can take advantage of multiple CPUs or multiple CPU cores available on your system. This is the case for most of the quantification modules provided with Amira Software XImagePAQ and Avizo Software, a number of modules of the XLabSuite Extension, and also various computation modules.

Fast CPU clock, number of cores, and memory cache are the three most important factors affecting Amira-Avizo Software and PerGeos Software performance. While most multi-threaded modules will scale up nicely according to the number of cores, the scaling bottleneck may come from memory access. From experience, up to 8 cores show almost linear scalability, while more than 8 cores do not show much gain in performance. A larger memory cache improves performance.


Special considerations regarding Avizo ToGo

All hardware recommendations listed above are also relevant for Avizo ToGo when loading a .togo file generated by Avizo Software.

The amount of memory needed will be greater than the total memory footprint of the data stored in the .togo file plus the memory footprint of the application itself. Note, since data are compressed when stored in the .togo file, and the compression rate varies hugely depending on the data, there is no way to predict from the file size the amount of memory needed to load a . togo file.

Graphics recommendations are the same as above and will vary depending on the complexity of the geometry to be displayed and the size of the data to be rendered with volume rendering.

The CPU recommendations are less demanding than above, as .togo stores only the result of computation and does not run the computation itself.

It is highly recommended, before exporting a .togo file from Avizo Software, that you remove all unnecessary data and modules in order to minimize the size of the file and also the amount of memory that will be needed by Avizo ToGo. In order to get an estimate of the required system memory for the workstation where the Avizo ToGo file will be loaded, you can use the Task Manager or other system utility to look at the current Avizo Software memory usage at the time of export. You may want to provide this information to the recipient of the .togo file so they can provide appropriate hardware resources.


How hardware can help optimization

Here is a summary of hardware characteristics to consider for optimizing particular tasks.

Visualizing large data (LDA or SMS technologies):

  • Fast hard drive
  • System memory
  • GPU memory
  • Memory to GPU/CPU bandwidth

Basic volume rendering:

  • GPU fill rate (texels per second)

Advanced volume rendering (Volume Rendering module):

  • Heavy use of pixel shaders
  • GPU clock frequency, number of GPU cores

Large geometry rendering such as large surfaces from Isosurface or Generate Surface, large point clusters, large numerical simulation meshes, etc.:

  • GPU clock frequency, number of triangles per second

Image processing and quantification (Amira 3D Pro, Avizo 3D Pro):

  • Multiple CPU cores (for many modules, including most image processing modules)
  • CPU clock frequency

Anisotropic Diffusion, Non-Local Means Filter (high-performance smoothing and noise reduction image filters), XLabSuite (absolute permeability computation):

  • GPU speed, number of GPU cores (stream processors), CUDA-compatible (NVIDIA)

Other compute modules, display module data extraction:

  • CPU clock frequency
  • Multiple CPU cores (for a number of multi-threaded modules, such as Generate Surface, Register Images, Resample, Arithmetic)

GPU computing using custom module programmed using Amira-Avizo XPand and GPU API:

  • GPU clock frequency, number of GPU cores (stream processors)
  • Multi-GPU systems such as NVIDIA Tesla
  • CUDA support

Amira-Avizo2D Software

Introduction

The following recommendations are intended to help you choose a suitable workstation to run all the applications.

Amira-Avizo2D Software applications run on Windows 10 (64-bit). Other than the operating system requirement, the most important components to consider are the graphics card (GPU), the CPU, the RAM, and the hard drive.
 

Graphics Cards

Avizo2D Software Analyzer is a 2D application; therefore, it does not require a high-end graphics card for visualization. Any graphics system (GPU+driver) that provides a complete implementation of OpenGL 2.1 or higher is sufficient. However, some algorithms are optimized with a CUDA implementation. The amount of GPU memory required depends mainly on the use of CUDA-optimized algorithms. The minimum recommendation is 1 GB of GPU memory if your sole use of Avizo2D Software Analyzer is for visualization. For CUDA usage, we highly recommend either 16 or 32 GB of GPU memory. When choosing the graphics card for your workstation, consider whether you require CUDA support. The CUDA technology is available only on NVIDIA graphics cards.

Avizo2D Software Trainer requires an NVIDIA graphics board that supports CUDA Compute Capability 3.5 or higher. Compatible GPUs can be found here:

Avizo2D Software Labeler can run with any graphics card supporting at least OpenGL 2.1. A high-end graphics card is not required.

Also note that none of the applications take advantage of multi-GPU configurations.
 

System Memory

For Avizo2D Software Analyzer, system memory is an important consideration if you need to process a large amount of data. At a minimum, you need the size of your complete tile set. In practice, you are likely to need much more memory than the actual size of the data being loaded. Some processing can require several times the memory required by the original data set. For example, if you load a 4 GB data set in memory, apply a non-local means filter to it and then compute a distance map, you might need as much as 16 to 20 GB of additional memory for the intermediate results.

Workflow processing occurs separately for each tile of the tile set; therefore, when computation is performed, only a single tile is loaded in memory at a time. For a basic workflow, you need, in addition to the size of the input data set, 2 or 3 times the memory footprint of a single tile in the tile set. For a complex workflow, you need up to 6 or 8 times the size of a tile.

Also, keep in mind that certain file formats might compress the data so that the disk size of the data is significantly smaller than the memory required to load it.

There are no specific recommendations for Avizo2D Software Trainer and Labeler.
 

Hard Drives

It is recommended to store data on a fast local hard drive (SSD preferred) for quicker data access.

For best performance, the recommended solution is to configure multiple hard drives (3 or more HDDs or SSDs) in RAID 5 mode; however, be aware that RAID configurations might require substantially more system administration. For performance only, you could use RAID 0, but you may risk data loss upon a hard drive failure. If you want both performance and data redundancy, RAID 5 is recommended.
 

CPU

For Avizo2D Software Analyzer, a fast CPU clock, the number of cores, and the memory cache are the most important factors affecting performance. While most multi-threaded modules scale up nicely according to the number of cores, a scaling bottleneck might come from memory access. From experience, up to 8 cores show almost linear scalability, while more than 8 cores do not show much gain in performance. A larger memory cache improves performance.

There are no specific recommendations for Avizo2D Software Trainer and Labeler.
 

Network

Internet access is necessary to activate the product; however, your firewall might prevent the connection to the license server. For more information, refer to activation documentation. Also, be aware that reading data across the network (a file server, for example) is normally much slower than reading from a local disk. The performance of your network depends on the network technology (100 Mb, 1 Gb, etc.), the amount of other traffic on the network, and the number and size of other requests to the file server, so in practice, you are unlikely to achieve the theoretical bandwidth.
 


Special considerations

Environment variables

QT_PLUGIN_PATH must not be exported as a system-wide environment variable because it can interfere with this application.

Firewall

An internet access is necessary to activate Amira-Avizo Software and PerGeos Software. Your firewall may prevent the connection to the license server.

Linux

Amira-Avizo Software and PerGeos Software are only available for Intel64/AMD64 systems.

The official Linux distribution for Amira-Avizo Software and PerGeos Software is CentOS 7 64-bit. Nevertheless, Amira-Avizo Software and PerGeos Software is likely to work on some other 64-bit Linux distributions if the required version of system libraries can be found, but technical support of those platforms will be limited. Here is a non-exhaustive list of these 64-bit Linux distributions:

  • CentOS® 7, the official Linux distribution on which Amira-Avizo Software and PerGeos Software has been fully tested.
  • Red Hat® Enterprise Linux® 7.x.

Notes:

  • After a standard installation of Linux, hardware acceleration is not necessarily activated, although X-Windows and Amira-Avizo Software and PerGeos Software may work fine. To enable OpenGL hardware, acceleration specific drivers may have to be installed. This can drastically increase rendering performance. Sometimes it is necessary to disable the stencil buffers (by starting Amira-Avizo Software or PerGeos Software with the option -no_stencils) to get acceleration.
  • On some distributions, some parts of the user interface, the segmentation editor for example, may not display correctly. This is a known Qt issue. You can work around this by disabling the composite option in the extension section of your Xorg.conf configuration file:
Section "Extensions"
Option: "Composite" or "disable"
End Section
  • To work properly on Linux systems where SELinux is enabled, Amira-Avizo Software and PerGeos Software requires the modification of the security context of some Amira-Avizo Software and PerGeos Software shared object files so they can be relocated in memory. The user (maybe root) that installs Amira-Avizo Software or PerGeos Software has to run the following command from a shell console in order to set the right security context:

chcon -v -t texrel_shlib_t "${AMIRA_ROOT}"/lib/arch-Linux*-*/lib*.so

  • Even if Amira-Avizo should work with any desktop (like KDE), it has been validated only with GNOME
  • Since the switch to Qt 5.9 and for CentOS < 7.7 (cat /etc/centos-release to check the version), you need to update the freetype library of your system as follow:
    • Log as root
    • sudo yum update freetype
       

XPand the C ++ API for Custom Extensions

To create custom extensions for Amira-Avizo with the C++ API available in Amira-Avizo 3D Pro on Windows, you will need Microsoft Visual Studio® 2013, Update 4. The compiler you need depends on the version of Amira-Avizo you have. You can obtain the version information by typing app uname into the Amira-Avizo console. It is important to install Visual Studio prior to run Amira-Avizo in debug mode.

To create custom extensions for Amira-Avizo with the C++ API available in Amira-Avizo 3D Pro on Linux, you will need gcc 4.8.x on RHEL 7. Use the following command to determine the version of the GNU compiler:

gcc --version

MATLAB

Currently supported version of MATLAB on all platforms is 2020a. To use the Calculus MATLAB module that establishes a connection to MATLAB (MathWorks, Inc.), follow these installation instructions:

Windows

If you did not register during installation, enter the following command on the Windows command line: matlab /regserver.

In addition, add MATLAB_INSTALLATION_PATH/bin and MATLAB_INSTALLATION_PATH/bin/win64 in your PATH environment variable to allow Amira to find MATLAB libraries.

Linux

The LD_LIBRARY_PATH environment variable should be set to MATLAB_INSTALLATION_PATH/bin/glnxa64 on Linux 64-bit.

The PATH environment variable should be also set to MATLAB_INSTALLATION_PATH/bin.

If you still have trouble starting Calculus MATLAB after setting the environment variable, it might be because the GNU Standard C++ Library (libstdc++) installed on your platform is older than the one required by MATLAB. You can check MATLAB's embedded libstdc++ version in MATLAB_INSTALLATION_PATH/sys/os/glnxa64 on Linux 64-bit.

If needed, add this path to LD_LIBRARY_PATH.


Dell Backup and Recovery Application

We have detected some incompatibility issues with former versions ( 1.9) of Dell Backup and Recovery Application which can make Amira crash when opening files with the file dialog. Please update your Dell Backup and Recovery Application to 1.9.2.8 or higher if you encounter this issue.
 

Remote display

Amira is not tested in remote sessions; remote display is not supported.


Services

Amira-Avizo-Introductory-training_1160x600

Introductory training

Shorten your learning curve and maximize your investment with this introductory training specifically designed for new users of Amira, Avizo and PerGeos Software.

The course consists of a lecture with hands-on sessions. The training material highlights the basic features and functionalities of Amira, Avizo and PerGeos Software.

Amira-Avizo-advanced-training_1160x600

Advanced training

Maximize your investment and reduce your time-to-results with this advanced training specifically designed for existing users of Amira, Avizo and PerGeos Software.

The course consists of a lecture with hands-on sessions. The training material highlights advanced features and functionalities of Amira, Avizo and PerGeos Software.

Amira-Avizo-Custom-Dev_1160x600

Custom development

With over 25 years of experience in 3D and image processing and hundreds of custom projects delivered to organizations small and large, Thermo Fisher Scientific can provide you with a solution tailored to fit your specific needs.

We can customize and expand our software solutions at various levels.

Features

Import and process your imaging data

    • Handle any modality, at any scale, of any size:

    - Bio-Formats
    - Bitmap formats
    - Microscopy: electron and optical
    - Medical and neuroimage formats
    - Molecular formats
    - Other acquisition devices (MRI, radiography, etc.)

    • Finite element modeling, geometric modeling, CAD
    • Support for multi-data/multi-view, multi-channel, time series, very large data
    • Scaling, calibration, conversion, re-sampling
    • Image enhancement, comprehensive filtering and convolution, Fourier frequency transforms
    • Artifact reduction algorithms
    • Advanced multi-mode 2D/3D automatic registration
    • Image stack alignment, arithmetic, correlation, fusion

    Easily segment your imaging data

    • Thresholding and auto-segmentation, object separation, automatic labeling
    • Region growing, snakes, interpolation, wrapping, smoothing
    • Morphological processing, including watershed and basins
    • Machine Learning-based segmentation
    • Automatic tracing of individual fibers and filaments
    • Skeletonization and filament network extraction
    • Interactive tools for generation or editing of segmentation and spatial graphs
    • 3D surface reconstruction
    • Grid generation for FEA/CFD

     

    Export your analysis and visualization work to seamlessly publish and present it

    • Animation and video generation
    • Advanced key frame and object animation
    • Mix images, geometric models, measurements and simulations
    • Annotations, measures legends, histograms and curve plots
    • Export spreadsheets, 3D models, high-quality images
    • Active and passive 3D stereo vision
    • Single and tiled screen display
    • Immersive environment

    Visualize and explore your imaging data

    • Interactive high-quality volume and multichannel visualization
    • Orthogonal, oblique, cylindrical and curved slicing
    • Contouring and iso-surface extraction
    • Maximum Intensity or other types of projections
    • Vector and tensor visualization
    • Objects and tracks
    • Molecular visualization

    Analyze your imaging data and obtain quantitative information

    • Intuitive recipe creation, customization, automated replay
    • Built-in measurements, including counts, volumes, areas, perimeters, aspect ratios and orientations
    • User-defined measures
    • Results viewer with spreadsheet tool and charting
    • Automatic individual feature measurements, 3D localization and spreadsheet selection
    • Automated statistics, distribution graphs
    • Feature filtering using any measurement criterion
    • Data registration, deformation, comparison and measurements

     

    Easily and quickly adapt Amira Software to your specific needs

    • Custom C++ modules development
    • MATLAB™ bridge
    • Python scripting API

    Contact us

    Style Sheet for Global Design System
    Style Sheet for Komodo Tabs
    Style Sheet for Support and Service footer
    Style Sheet for Fonts
    Style Sheet for Cards