ZEISS Knowledge Base
Help
ZEISS Knowledge Base

Setting up arivis Pro

System requirements

This article explores some of the hardware considerations when configuring a system for use with arivis Pro.

Introduction

arivis Pro has been built from the ground up for the visualization and processing of very large datasets while being RAM independent. This, consequently, has a significant effect on how the software is implemented and affects how we deal with the most common bottlenecks in computing.

CPUs

Because CPUs are generally limited by their clock speeds, a common workaround for this limitation is to use parallelization. Not all processes can be parallelized, but what can be parallelized generally has been in arivis Pro. Therefore, a computer with more cores is generally preferable to a computer with a higher clock rate. Buying computers with 2 or more multi-core CPUs can be a more cost-effective way to increase your core count than buying a single CPU with more cores. However, CPU speed and core count may also be limited by memory usage.

We recommend a minimum of 4 CPU cores (though it will work with fewer if that is what is available), but 8 or more cores are preferable for most image analysis operations.

Memory

Generally speaking, everything that needs to go through the CPU must first be transferred to the RAM. Furthermore, the results of any CPU processing will also typically be stored in RAM, at least temporarily. This means that you generally need twice as much RAM as the data you are trying to process.

arivis Pro has been designed to work around this limitation by using blocking, and temporary documents.

Blocking involves just-in-time loading of portions of the dataset within the available RAM so that it is never necessary to hold the whole dataset in RAM. This means that arivis Pro can process multi-terabyte-sized datasets on a computer with as little as 16GB of RAM or even less.

Having stated this, arivis Pro will use whatever memory is available, and having more RAM may speed up some RAM-intensive processes (e.g. segmentation and processing of very large complex objects).

The other implication is that if we are not holding the whole data in RAM, we need to create temporary documents on the hard disk to store the result of image processing operations which affects how much storage we will need.

Because of this architecture, arivis Pro will allow you to process datasets larger than 500 GB with as little as 4 GB of RAM, but we recommend a minimum of 8 GB while 16 GB is preferable. As RAM gets a lot more expensive the more you add and the Software is not dependent on RAM availability to such an extent, we do not typically recommend that you buy more than 128 GB of RAM, except for systems intended for multi-user concurrent usage. We generally recommend 8 GB of RAM per CPU computing core.

Storage

Local storage is key to arivis Pro's performance. Through extensive use of Just-in-Time loading and temporary documents, arivis Pro relies heavily on local storage. In many ways, more so than it relies on RAM. Therefore, it is important to have plenty of local storage, both to store documents locally while working with them to enable fast just-in-time loading, and to allow for the creation of temporary documents to store the results of any image processing operations.

Using fast solid-state drives (SSDs) can provide marginal gain improvements for many read/write-intensive applications, but generally getting more storage is preferable to buying faster storage. We generally recommend having at least 5x as much free disk space as the documents you are trying to process. Note that both the active and temporary documents can use compression to further increase the size of files that can be processed locally.

Buying RAID storage where multiple relatively slow spinning disk drives run in parallel to increase speed and reliability can be a more cost-effective way to add a lot of fast storage.

Network-based or removable storage is generally not recommended due to the possibility that the connection may be intermittent, and the overheads in data transfer under such conditions can lead to significant slow-downs in performance.

Graphics Cards

Graphics cards are essential to 3D and 4D visualization, highly recommend or for Machine Learning, and necessary for Deep Learning. Because of the high demands that arivis Pro places on such hardware for 3D rendering and ML/DL there are a few things to bear in mind.

First, purely for 3D rendering arivis requires GPUs that support OpenGL 4.6 and above. Most GPUs released after 2017 should meet this requirement, with some exception for integrated graphics.

Typically, integrated graphics are generally not recommended. Computers without a dedicated GPU commonly use these integrated graphics as a low-cost and low-power consumption alternative to dedicated cards but make several sacrifices in the process that can prevent the 4D Viewer from working optimally, or even at all in some cases. Aside from integrated graphics, there are not many GPUs that we do not recommend for 3D visualisation.

Secondly, the other thing that arivis uses GPUs for is to accelerate Machine Learning and Deep Learning tasks. This acceleraration uses NVIDIA CUDA libraries and so only NVIDIA GPUs are supported for ML and DL. Also, a minimum of 8GB of video memory (VRAM) is required.

Finally, when it comes to recommendations for specific GPUs, since this is a highly dynamic environment with multiple specs available, we do not recommend any specific specification or manufacturers, but the following points may make your decision easier.

First, as mentioned above, we require NVDIA GPUs with at least 8GB of VRAM as a minimum requirement for DL and this is a good starting point for choosing a GPU. even if you do not intend to use ML and DL in the immediate future, having these specifications will minimize the chances that a hardware change will be required if the analysis requirements change.

Second, gaming GPUs generally provide a much better price/performance balance (EUR 800 for a high-end gaming GPU Vs EUR 4500 for an equivalent Professional card). In most cases the price difference will not be reflected in a noticeable improvement in performance for either visualisation of ML Tasks. But ""Pro"" cards do offer some features that can be useful depending on your usage. 

For example, gaming cards often do not provide good levels of support for use with Remote Desktop Protocols or Virtual Machines. Some specialized drivers may be available for some cards, but generally using 3D rendering over RDP is not recommended. However, since having access to a machine with enough local storage for processing very large data may only be possible with server-style machines that aren't typically well suited to an office environment, using RDP or VMs in such cases is a preferable compromise. If that is your case, we recommend Pro Server cards because they provide better support for shared usage. 

Also, Pro cards often add features that we cannot make use of that are intended specifically for industrial CAD applications. This adds a lot of cost for few benefits that arivis Pro can actually leverage. However, Pro cards can also typically be configured with a lot more video memory, and while we typically won't use this additional memory for pure 3D visualization and navigation since it would most likely be beyond the capabilities of the GPU to handle such amounts of data smoothly for these applications, the extra memory can be useful to speed up the rendering of high-resolution snapshots and animations of large datasets, and for ML/DL tasks.

For basic usage, a mid-range gaming GPU will prove more than adequate. However, for highly demanding applications like VR we recommend a minimum of RTX 2080 Ti or better.

Operating system

arivis Pro is a program for Windows 64-bit operating systems. There is no MacOS or Linux version. Please have a look at this article for more information on Installing arivis Pro on Apple hardware. The minimum requirement for support is Windows 10, but Windows 11 is also supported. The software may work partially on earlier versions, but note that these are not supported configurations.

Also, while the low memory requirements of arivis Pro make it theoretically capable of processing large datasets in 32-bit environments, the high cost of maintenance of two separate builds of the software and the relative scarcity of 32-bit systems means we no longer offer a 32-bit version. 

Conclusions

So, which hardware configuration should you choose?

The computer you already have, as long as it runs Windows 10 or better, has 100GB or more of free hard disk space, and has a dedicated GPU that supports OpenGL 4.3 will probably be fine for most image analysis tasks and visualization. But if you want to buy a new machine dedicated to arivis Pro then the following recommendations are useful guidelines.

Also, please see this article Choosing the right license type for recommendations regarding licensing options.

Installation and configuration

arivis Pro is a Windows OS application for image analysis. It has been designed to make optimal use of computer resources to enable the processing and analysis of data sets that can be much larger than the available computer memory. Several optimizations are dependent on the installation and configuration of the software.

Installing arivis Pro

  1. Download the installer for the latest version of arivis Pro, see https://downloads.zeiss.com/arivis/Pro/latest
  1. To start the installation double click on the installer package.
  2. We recommend to install to the default applications folder.
  3. We recommend installing the GPU acceleration for systems that support it.
  4. Activate your license if needed, see Activating the license.
  5. Once installed, check the directories for temporary documents and change them if needed.
  6. Configure the GPU for optimum use of system resources as needed.

Activating the license

For all new installations you need to activate your license but not for updates to existing installations.

For detailed descriptions of the process of activating, updating or transferring licenses is covered, see this article.

  1. Start the application and, when prompted, open the arivis License Tool.
  2. Select the Online Activation option.
  3. Enter the activation key and activate the license.

GPU configuration

Graphics acceleration

As part of the installation process the software will also detect any GPU present and enable the use of the GPU for graphics acceleration and machine learning data processing if compatible.

The first time we start the 4D Viewer the software will automatically optimize the render settings based on the GPU capabilities:

These settings are optimized so as to balance render quality with interactivity. However, users may prefer to prioritise faster navigation or higher render quality based on their own preferences. These settings can be found in the 4D Viewer pane of the preferences window.

The settings can be reconfigured back to the recommended arivis defaults for your GPU by using the Run Auto-Detection button. Note that laptop systems may not default to using the dedicated GPU. If arivis is installed on a laptop system you should check this article about configuring arivis for laptop GPUs.

Activating, updating and transferring licenses

The application note purpose is to guide the user in performing a license activation procedure.

Introduction

ZEISS arivis products, including ZEISS arivis Pro (formerly arivis Vision4D) and ZEISS arivis Pro VR (formerly arivis VisionVR) are protected from unauthorised usage using a licensing system. This licensing system limits the features available to the user, the number of users who can use a license simultaneously, what updates can be applied, and how the license can be accessed.

The licenses can come as either "Soft" licenses based on physical characteristics of a computer, or "Hard" license tied to a USB "dongle".  The licenses can also be fixed, where only the machine where the license resides can use it, or floating, where the license resides on a license server and is then distributed out to clients on the network.

Hard licenses do not normally require activation, but soft licenses do. 

 This article describes how to:

License activation

If the license is tied to a dongle, activation is not required. If experiencing problems with a hard license, please check our article HASP License Troubleshooting.

If the license is tied to a PC (soft license), a product activation key is normally sent to the license purchaser along with download links for the software installation.  Once the software is installed the license can be activated using the key provided on as many machines as the key has been licensed for.

Note that in the case of multiple user server/floating licenses, activation is only required once on the server machine.

There is no need to activate for each user. Please check this article for further information on configuring server licenses.

The software activation requires a connection to the licensing server hosted by ZEISS arivis and therefore also requires an internet connection. Since not all computers are connected to the internet, alternative methods of license activation are available.

Online license activation

The simplest way to activate a soft license is through the online license activation process. This online activation is prompted automatically if no license is detected when starting the software:

In that case, simply click on the link to License tool. This will open the arivis License tool where you can proceed with the rest of the activation procedure. Alternatively, you can open the License Tool as described below.

Once open, click on the Online Activation button and, when prompted, enter your product key.

Then click Activate. Typically, within a couple of seconds, your license will be activated and a message will appear to confirm that this is so. You can then start using your license by launching the software.

Installing the license tool

Managing licenses relies on a software tool called the arivis License Tool which can be used to perform most tasks relating to license management. The License Tool is installed automatically with any arivis software installation unless it is already present, but can also be installed independently for older systems or use on server machines that are used for license distribution but not intended to actually run the software. 

It can be downloaded independently here: https://www.arivis.com/download/arivisLicensing/latest

Opening the license tool

If the License Tool was installed as part of an arivis installation, the easiest way to access it through the Windows Start menu > Search tool:

Alternatively, it can also be accessed through the Help menu.

If the software can't be opened because of licensing issues, or if trying to access the License Tool on a computer where Vision4D/arivis Pro is not installed (e.g. server machine),  it can be accessed by navigating to the application within the Windows Explorer. 

If the License Tool was downloaded independently it can be found wherever the ZIP download was extracted. Otherwise it can be found in the software installation path (typically C:\Program Files\arivis Vision4D\LicenseTool\arivisLicensing.exe).

Once opened, the License Tool should look something like this:

Transferring a license

Since the license is locked to specific hardware, the process of transferring a license depends on the type of license you have.

If you are using a dongle, all you need to do is unplug the key from the computer where it is no longer needed and plug it into the one where it is. When you start the software it will look for this key and provided the version number is allowed will start. See HASP License Troubleshooting article if you have any problems with this.

In the case of soft licenses, it's a little more complicated and you will need to use the License tool and some way to transfer files from between the computers where the license will be installed and where it will be activated (e.g. USB storage device).

Open the License Tool on the computer where you want to install the license to start a 3-step process that will:

  1. Create a fingerprint for the computer where you want to install the license.
  2. Reconfigure the license from the computer where it is currently installed based on the fingerprint for the destination machine.
  3. Install the license on the destination machine.

Start by installing the software and License Tool on the destination computer if not yet installed, then open the License Tool.

Click the + sign for more options and click on Transfer License.

Then, click on Prepare for License Transfer.

You will be prompted to select where to save the ID file for your computer. Make a note of the saving location and then transfer this file to the computer where the license is currently installed.

Open the License Tool on the computer where the license is currently installed, click the + sign for more options and click Transfer License.

Select the license to be transferred from the list of available licenses and then Select.. to load the ID file created previously. Click Transfer to create the new license key that can be transferred to the destination computer (H2H file).

Finally, copy the H2H file over to the destination computer, open the License Tool, and again go to Transfer License. Click Install License and select the H2H file that was just transferred. 

Conclusion

Most license related functions can be managed through the arivis Licensing Tool. If your questions have not been addressed by this article, start by checking our other HASP related resources, like HASP License Troubleshooting article, or create a support ticket.

Using the GPU package installation

This article provides background, download links and installation instructions for the stand-alone GPU package installation.

Overview

  • If you use ML and have a compatible GPU you should install this and use it
  • The installation is normally part of the standard installation process
  • If you've already installed the software, or you're installing it on an offline workstation, you can download and install this package independently using the instructions below 

Introduction

With the release of Vision4D 3.6, arivis added the ability to use Deep Learning (DL) inference for segmentation of images. This can significantly improve the accuracy of segmentation of complex structures in a range of applications and images.

To optimize the DL operations we use the ONNX runtime libraries. These can be used with both GPU and CPU, but using the GPU to run these operations can dramatically improve the speed of processing. However, the GPU libraries are quite large (600MB) and only compatible with NVIDIA GPUs. Since not all users will require this, either because they have no need for DL or no compatible GPU, we do not include the GPU package as part of the Vision4D installation files and instead download it on request during the installation process. 

Using the GPU for ML Operations

Once the GPU packages have been installed, the option to use the GPU for ML acceleration will appear in the application preferences:

Note that this option may remain greyed out if the GPU drivers that are currently installed are not compatible. In that case, the user should update the drivers and restart the system. Once this option is enabled the software will default to using the GPU for any ML operation.

 

Compatible GPUs

This package makes use of CUDA, a proprietary technology available on NVIDIA GPUs. Please see this Wikipedia article or consult the NVIDIA documentation to find out if your GPU is supported. 

 

Using arivis Pro on laptops with a GPU

Introduction

Most modern laptop systems CPUs, and many desktop CPUs also, are configured with a graphics processing unit (GPU), built into the CPU a configuration often referred to as on-board or integrated graphics. These systems are intended to provide better graphics capabilities without the need for a dedicated GPU which can help preserve battery life on mobile systems. However, these onboard graphics typically offer much lower performance than a dedicated GPU. Since most applications can only use 1 GPU at a time, this means that on systems with both onboard graphics and dedicated GPUs the system must choose which GPU to use when launching applications. The windows default for laptop systems is usually to use the onboard GPU as these are more energy-efficient and provide longer battery life. However, for most use cases in arivis Pro that require 3D visualization the use of a dedicated GPU is preferable. Configuring your system to use one GPU over the other can be done in a variety of ways depending on your system.

Setting default GPU

On systems running Windows version earlier than windows 10

On older systems the default GPU selection is done through the driver interface. We can start by right-clicking on the arivis Pro app icon and then select Run with graphics processor> Change default graphics processor...

On newer systems we need to do this through the graphics control panel. Depending on your installation it can be opened in a variety of ways (e.g. through the Start menu, Taskbar shortcuts, or right-clicking on the desktop). This will open the driver window for the GPU you are using. In this example we are using a NVIDIA GPU and so this opens the NVIDIA Control Panel:

We can then click the Add button to select the path for the arivisPro.exe application and then select which GPU to use by default below.

From then on, the system will default to that GPU when launching the application.

For system running Windows 10 and higher

On newer Windows 10 systems the GPU preference is set through the Settings application. Start by opening the Settings app from the Start menu.

Then, select the Systems Settings, and then the Display options. At the bottom of the display setting options, you will find the Graphics settings:

In the Graphics options you can click the Browse button to find the path to your arivis Pro EXE and then select which GPU to use by default when launching the application:

Using arivis software and virtual machines

Considerations when installing and using arivis products with virtual machines.

Introduction

Virtual machines are a convenient way to create environments for software utilization that are unmoored from physical hardware and can be easily reset, copied, or transferred to new machines. However, these same abilities affect several aspects of how the software is licensed and operated.

Licensing

arivis software products are protected from unauthorized use by a licensing system provided by a third-party provider. This licensing system allows institutions who purchase licenses to protect their asset, and us as software vendors from the illegal distribution of our products. Licensing works by locking the software to a specific piece of hardware, typically a computer or dongle.

In the case of a hard key, the license is effectively located on a USB dongle, and whichever machine has the key plugged in is able to read the license and make it available to users. 

In the case of soft licenses, the key is activated on a computer by making a digital fingerprint of the machine on which it is activated and locking the activation to this fingerprint.

This is important when using a virtual machine. If you have a dongle, the dongle must be visible to the virtual machine. If you are using a soft key, changes to the virtual machine, such as copying it to a new computer, will change the VM's fingerprint and irreversibly invalidate the license. Therefore, if you activate a soft license on a VM, you MUST deactivate the license prior to making any changes to the VM and reactivate once the changes are completed. Failure to do this will invalidate the license and support related to License invalidation due to VM changes are not covered by warranty or maintenance and may be chargeable.

Please see the article Activating, updating and transferring licenses to find out more about activating and transferring licenses.

Graphics cards

The 4D viewer in Vision4D and the VR viewer in VisionVR are both highly dependent on access to the graphics hardware to perform. However, graphics support on VMs is somewhat patchy, with different virtualization platforms having a variety of support levels for a variety of device drivers. Problems with 3D rendering on VMs are therefore difficult to pin down and fix and are mostly dependent not on arivis support, but on the specific vendors for your GPU and virtualization software. If you are experiencing problems with GPUs on VMs arivis will try and support you as far as we can, but note that we may be limited in our ability to help by the the specific configuration of your system.

Conclusions

VMs are, of course, very handy in a range of scenarios. Indeed, the arivis development team does use VMs extensively for testing in-house for these very reasons. However, users should be aware of the distinct differences in how VMs operate to ensure that they have a great user experience. arivis is keen to support users in whatever environment they find most useful to them, and making users aware of the consequences of running in such an environment is part of what the support team can do to ensure a great user experience. 

The arivis support team will always try to help users if they are experiencing issues linked to VMs, but you should be aware that our ability to support will be limited by your configuration, and issues caused by user error may not be covered by maintenance agreements and may therefore be chargeable.

Running arivis Pro on Amazon AWS

The purpose of this application note is to provide information on how to run arivis Vision4D on an Amazon AWS EC2 Virtual Machine.

Running arivis Vision4D on an AWS instance requires the same considerations that arise when you want to use arivis Vision4D on an on-premises virtual machine:

  • Fulfil the basic system requirements
  • Provide a proper 3D capable graphics card with OpenGL 4.3
  • Access remotely and also use 3D graphics
  • Install an arivis Vision4D license

Setup 3D graphics

After the first start, only the Basic Display Adapter is available. This does not allow 3D graphics with arivis Vision4D. You can open the Device Manager and check the availability of the corresponding display adapter. 

To install and activate the NVIDIA RTX Enterprise drivers please follow this guide:https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-nvidia-driver.html

Summarized

  • Configure default credentials for the AWS Tools for Windows PowerShell - retrieve the enterprise / gaming driver using the provides PowerShell script
  • Install the driver
  • Register the driver
  • Download and install a certification file
  • Reboot your instance

To verify the installation open the Windows Device Manager. You will see a second display adapter for the NVIDIA card and a second “Generic PnP Monitor” which is located on the NVIDIA graphics card.

Setup arivisPro

Download and run the latest arivis Vision4D installer from: https://www.arivis.com/download/arivisVision4D/latest

At the first start the application reports that a license is missing. Use the provided arivis License Tool to activate with your product key.

Please be aware of some potential problems with using software licenses in combination with virtual machines. If you want to use V4D on different VMs or change the configuration of the VM frequently, a dedicated license VM in combination with a floating license might be more suitable. To read more about this topic please refer to arivis Network License setup.

Optional: using NICE DCV

To improve the performance of the remote connection to the AWS instance an optional NICE DCV server/client can be installed.

NICE DCV is a remote visualization technology that you can use to connect securely to graphic-intensive 3D applications hosted on remote servers. With NICE DCV, you can bring high-performance processing capabilities to remote users through secure client sessions.

There is no additional charge for using the NICE DCV server on an Amazon EC2 instance.

Download and install the NICE DCV server installer from the NICE DCV website. Make sure that the security group allows to connect using NICE DCV (TCP/UDP port 8443).

Use the client for your operation system from the NICE DCV website to connect to the AWS instance using NICE DCV.

Using arivis Pro over remote desktop

This article highlights some considerations when using Vision4D from a remote machine over RDP.

Introduction

Generally, it is best to use Vision4D on a system that is local to the data storage. Since data storage of very large datasets can be challenging on standard desktop or laptop systems a common workaround is to use a high-end imaging workstation with lots of storage, and to access this workstation using Remote Desktop Protocol (RDP).  However, these configurations have historically been problematic with regard to GPU utilization. This article aims to clarify some of those issues and provide solutions.

GPUs and RDP

Good graphics cards are essential for good 3D rendering performance. Our system hardware recommendation article goes into more details on this topic, but for now, we'll keep it simple and say that Vision4D needs at least OpenGL 4.3 support or higher to display data in the 4D viewer. 

RDP allows users to remotely access the computing resources of a machine other than the one they are physically in contact with. However, using RDP is in many ways significantly different from directly accessing the machine. One of these differences is how the graphics card uses its resources. Historically, using GPUs over RDP has required professional cards with specific drivers, and this is still a good guideline as server cards are generally tuned for multiple concurrent usage and use with RDP. Gaming cards, which are usually significantly cheaper, have historically not provided good support for use with RDP. However, recent driver updates from NVIDIA have significantly improved the compatibility of their GPUs with RDP. 

The following configurations have been tested internally and confirmed to work:

System

1

2

3

4

5

6

Graphics Card

GeForce RTX2080Ti

GeForce GTX1080

GeForce GTX970

GeForce GTX1080Ti

GeForce GTX1080

GeForce GTX1080Ti

Windows Version

20H2

2004

2004

20H2

1909

2004

Driver Version

456.71

456.71

452.06

461.09

451.67

451.67

These systems have been tested using access from a variety of clients, including Mac and Linux clients.

Conclusions

While the configurations tested above work, remote desktop GPU support is mostly outside of arivis' control. However, there are a few things we recommend:

  1. Always make sure you have the most up to date windows version and drivers for your graphics card.
  2. If your GPU doesn't work over RDP, first check that it works when used locally and then contact your IT support team or your GPU manufacturer.
  3. Pro graphics card are generally recommended for server installations and multi-user setups.

Installing arivis Pro on Apple hardware

The purpose of this application note is to support you in installing arivis Vision4D on an Apple computer.

arivis Vision4D is not available as a native macOS application, it requires Microsoft Window 10 (64Bit) or better.

Simply put, arivis Vision4D is a Windows-compatible application only. This means that to run arivis Vision4D on any computer you must have MS Windows installed first. Any such installation also requires a Windows license.

There are two main ways to install Windows on Apple hardware:

  • BootCamp
    • This involves creating a special partition on your hard disk where Windows will be installed. The BootCamp Assistant provided as part of the macOS installation includes all the necessary drivers, but the user must provide a Windows installation disk and license key. Once installed and configured the user can restart their computer under Windows and at this point, the computer behaves like any other Windows PC (more or less). The BootCamp is free and included as part of the macOS installation, but the Windows license is typically not. Note that BootCamp is not supported on Apple Silicon. Please contact Apple for support in installing BootCamp and check the system requirements on the Apple website.
  • Virtual PC
    • This involves installing Virtual PC software, like VMWare Fusion or Parallels Desktop, which creates virtual machines on the computer on which it is installed. Again the user must also provide a Windows license key. 

Some key differences between these two solutions:

  1. BootCamp requires that you restart the computer to use Windows applications, while Virtual PCs can be run in parallel with MacOS.
  2. With BootCamp your PC restarts and behaves essentially like any other Windows system with full access to the whole hardware. This means that there should not be any graphics compatibility issues beyond known limitations with regards to so-called ""on-board graphics"". It also gives you full access to the whole of the RAM and every core in your CPU. With a Virtual PC the hardware resources are shared between the two OSs. This means that when a user configures a Virtual PC he/she must assign a certain number of cores and a certain amount of RAM that the Virtual PC can use. These will no longer be available to your Mac OS until the virtual machine is stopped.
  3. Also related to this last point, different Virtual PC software and graphics cards have varying degrees of support for sharing the GPU between the main OS and the Virtual PC. It is recommended that users check the help for their Virtual PC providers for support on this point. 
  4. Running a virtual PC also can limit the use of "soft" licenses. The licensing system is designed to detect any changes in the virtual PC configuration that could indicate that the virtual machine has been copied or modified. Therefore, when using soft licenses on a virtual machine, users should make sure to disable any soft license prior to making changes to the virtual machine environment and re-enable the license once changes are complete to avoid disabling the license. Please check this article Choosing the right license type for more information. 

Note that while we do not know of any specific issues with either type of configuration besides those highlighted above, this guide is provided without any guarantee of support. As stated at the beginning, arivis Vision4D is a Windows application, and as such is only fully supported when running in native Windows machines. 

Why does arivis Pro not use all the computer resources?

When using arivis and looking at the resource monitor, it appears that the software is not using all the CPU, RAM or GPU capabilities. This article aims to explain why this is so.

Introduction

When arivis was started, the software was built on the principle that the file size should never be the issue. The main bottlenecks when it comes to processing large datasets are the CPU processing power, availability of RAM, availability of GPU processing. Each of these affects the ability to process images in different ways. When looking at the Task Manager at the usage of PC resources we may get the impression that arivis is not using all of the computer's resources. This article explains in more details why looking at the Task Manager doesn't tell the whole story and why arivis uses all the resources it needs.

RAM availability

Any data that the CPU processes must be held in the computer's Memory (usually shortened to RAM). But we also need enough RAM to hold the result of the operation, which means we need twice as much RAM as the data we are trying to process. Since RAM is very expensive and even most high-powered computers can't be configured with more than 512GB without going into much more expensive server machines, this would limits our ability to process datasets that are larger than the available RAM.

To better explain why RAM is important, let's consider the simple case of a Mean denoising filter.

Noise is a common problem in imaging, and a simple way to minimise the effect of noise is to consider the value of individual pixels within the context of their immediate neighbourhood.

If we look at this group of pixels:

The pixel in the center is clearly a lot brighter than most of the pixels around it. To soften the effect of noise we can look at each pixel in term, group it with the pixels immediately around it, and change its value to that of the mean of the group. If we do this for all the pixels in the image we've applied a Mean filter.

The way the computer processes this is to load these pixels together in the memory and we call this a kernel. We process the kernel, and store the mean value into the central pixel. However, if we were to modify the existing kernel we would affect how the next pixel is changed and the effect would compound throughout the image. Instead we write this pixel into a new image and we repeat the process for the whole image, loading each kernel and writing the output into a new pixel in the destination image.

Normally, the image we're working on is stored on the hard disk, and reading from a hard disk is slow compared to reading from the memory, so typically we would load the whole image in memory and then process each kernel one at a time, progressively building up the output image which we also keep in memory. This means we would need at least twice as much memory as the data we're trying to process, not including the memory required just for the computer to function.

However, as mentioned above, RAM is expensive compared to hard disk storage. RAM is typically 10x more expensive per GB compared to even a very fast SSD and 100x more expensive than spinning disk drives. If we want to process a 1TB dataset using traditional methods we would need 2TB of RAM which would cost 10s of thousands of euros, whereas we could store this dataset on a fast SSD for a few hundred euros instead.

To this end, arivis is built to process images in small blocks, one at a time, and stitching the results together into a temporary document that is stored on the hard disk. This is done while taking care to adequately handle block sizes and overlap to avoid running out of memory or affecting the accuracy of the processing operation.

Typically this results in arivis loading around 2GB of data into the RAM at a time, processing the information in that block, and writing the results to the hard disk.

Some processes, like image filtering, which use a pixel's neighbourhood to affect the results (e.g. denoising, morphological filters, filter based segmentation) will process the blocks with a margin of overlap between blocks equivalent to the radius of the filter to ensure that the results are not affected by the blocking process. Furthermore, we limit the size of most filtering kernels to a maximum diameter of 256 pixels so that we can process blocks that are small enough for most computers, without needing excessive double processing of the data on the edges of the blocks.

So when we look at the Task Manager while executing a pipeline, we might see the memory usage increase by about 2-4GB, and disk usage spikes every time we write the results of the current block and load the next one.

Note that if we look at the CPU core usage, some operations as so fast in the individual task that the refresh rate of the Task Manager window may only show 50% CPU usage. Typically, this means we are using 100% of the CPU, but only 50% of the time while we wait to load and unload data.

Note also that while arivis uses parallelisation wherever possible to speed up processing, not all computing tasks can be parallelised, and the Task Manager will reflect that by showing that on occasion only one core is active.

Visualising images

This topic is covered in more details in this article How does arivis handle large datasets, but in short, most computers are equipped with displays with 2-8million pixels. a 1TB dataset is likely to contain 1 billion pixels. Clearly it is not possible to show every single pixel from the image on the display at once. Usually this means that we load the image in memory and only display as many pixels as we can fit on the screen, either by subsampling (showing every 100th pixel), or cropping (not worrying about pixels outside the field of view).

In this screenshot you can see that we are only displaying in the viewer a small portion of the image, and even this portion only at a reduced resolution:

So why would we need to load 1TB of data in RAM if we only end up displaying a few megabytes worth of data at a time? Well, arivis doesn't. It uses a very efficient file format that allows us to load in RAM only the pixels we can display as and when needed. this means that if you look at the Task Manager with an arivis window open you will see that arivis might use as little as 500MB of memory, even with a very large dataset open, and most of this memory requirement will be down to simply having the program open.

Conclusions

The Task Manager is a very useful feature of Windows operating systems, often allowing the users to identify applications that may be stuck or unresponsive, and gives clues as to what may be the cause of the issues. However, it is not necessarily a great way to measure system optimisation, partially because this tool was created prior to the development of many modern computing methods, and partly because if we wanted it to tell us the full story it would need most of the resources we are using it to monitor.

That is not to say that arivis software is perfectly optimised, and arivis software engineers are constantly working to improve the software performance. If you are concerned, as a user, that your system may not be working optimally, you should contact your local ZEISS arivis support representative who can help you identify any issues and suggest optimisations, or forward your feedback to our engineering team so that we can work towards a even better solution.

Creating a system report

How to create, review and share a system report when troubleshooting software issues.

We build arivis software to be as reliable as possible to ensure that users can always process their data, no matter the size. However, despite our efforts it is possible that some users may experience unexpected behaviors which our engineering team should investigate with a view to constantly improve our products. It is therefore often very useful to be able to collect crucial system information to allow us to quickly focus on the matter at hand. With this in mind, a reporting tool is built into the software to allow us to quickly find out about user's current configuration and issues.

  1. To generate a system report go to the Help menu and select the Run System Check... option.
  2. Wait a few seconds and the system report will be ready. The Send Report tool opens and is automatically configured to send the report to the arivis engineering team.
  3. Type in a valid email address so that we might contact you with additional questions if necessary, or to let you know when the issue is resolved. The system report does include a lot of errors generated by the software and the OS, but a concise description of the steps taken to reproduce the issue are immensely valuable to the engineering team.
  4. To view the report, click View Report prior to sending it if you want to review its content.
  5. Click Save... to save the report in case you will need it at a later date.
  6. Close the Report Viewer and click Send Report to send the report.
Impressum
Carl-Zeiss-Strasse 22
73447 Oberkochen
Germany
Legal