Installation questions

Windows 8 is more strict with handling unknown installation packages, like the Huygens installation package. It will by default block it. However, there is an easy way to still install the package. When you click the installation package a large pop-up will appear explaining you that Windows is protecting your PC. The installation of Huygens will NOT continue when you press OK. You need to press the More info link which will give you the opportunity to install the package anyway. For more info and clear screenshot how to solve it, go to Windows Installation page.

You can install a license by using any Huygens Product and going to the Help -> License overview menu to add, delete, explain and check the license. Start the software by clicking its icon or typing the corresponding command at the Unix shell prompt. All products use the same license file, thus it does not matter which product you use to install a license string.

On Unix systems, you can also add the string with a regular text editor in /usr/local/svi/huygensLicense. On Mac OS X it might be in a different place, depending on where you installed the software. Typically that would be /Applications/SVI/huygensLicense. You probably need to have root access to edit this file. On a Windows PC it is by default 'Program Files\SVI\huygensLicense'. Best put the new license above the old ones.

On Unix systems you can also store the license in a text file named huygensLicense in your home directory. This is especially useful on Mac OS X.

Huygens can be installed in a path of your choice. After installing the Huygens .deb or .rpm package in a customized path via dpkg, yum, etc., you can edit the Huygens bin wrapper files. For example, for Huygens Core, edit /customized/path/bin/hucore file and add the following two lines:

export SVIHOME="/customized/path/svi exec $SVIHOME/bin/hucore.bin "$@"

Then add a symbolic link: /usr/local/bin/hucore -> /customized/path/svi/hucore

They can be shared. The license reader stops after the first valid license for a particular date and machine id. It is not necessary to share /usr/local/svi: if the SVIHOME environment variable is set it follows that.

You can download the latest releases and patches available on our download page http://www.svi.nl. The existing license will work as long as the license product number is the same as the number of the Huygens release:






The above licenses are valid for the Huygens 16.10.XpX versions. Huygens version 17.04.XpX or higher will not work with 16.10 licenses or lower. When there's a new release customers with valid maintenance receive new licenses updated for the new Huygens version.

Yes, for Mac and Linux you can specify a different installation location than the default '/' with the '-r' option to the command line installer 'inst' or the software manager 'swmgr'. Example from your home directory:
inst -f dist65 -r TestInstall
(this assumes the distribution is in 'dist65'). This places the executable in
In addition you need to set the SVIHOME environment variable, in this case to
The license string should be in '~/TestInstall/usr/local/svi/huygensLicense'.
To run huygens type

When the Installer program gives the error: "The install package cannot be opened. The Bill of Materials for this package was not found." it tells us that certain needed files inside the installer cannot be found.

It seems that this error can have more than one cause. Probably the most common reason is a corrupted installer file. The file could have been corrupted during transfering from one computer to another.

The following command sets the number of cpus:
huOpt cpu ?-min integer? ?-max integer? ?-mode <compliant|ignore (compliant)>?

By default the system complies to values suggested by the system. If the mode is set to ignore Huygens will try to force the requested number of threads from the system. E.g. to limit the number of cpu to 4, run the following in the tcl-shell:
huOpt cpu -max 4

The Huygens compute engine (CE) uses the OpenMP standard for multiprocessing. The multiprocessing behavior of the CE can controlled with OpenMP environment variables or from the Huygens-Tcl layer.

Environment variables:
  • The number of threads to be used is controlled through OMP_NUM_THREADS, for example: 'setenv OMP_NUM_THREADS 2'
  • Allow the operating system to dynamically adjust the number of threads depending on system load: OMP_DYNAMIC (TRUE, FALSE), for example 'setenv OMP_DYNAMIC TRUE'. If OMP_NUM_THREADS is set then the number of threads varies between 1 and OMP_NUM_THREADS.

Huygens-Tcl layer:
huOpt cpu ?-min <integer>? ?-max <integer>? ?-mode <compliant|ignore>? ?-query <system|min|max|mode>

This allows setting of the minimum and maximum to the number of threads. Mode compliant is equal to OMP_DYNAMIC TRUE. With -mode ignore the CE tries to always use the max thread number. With the -query mode the curent state can be queried.
Example: huOpt cpu -max 4 -mode ignore to run on four threads regardless of system load.

Yes. All versions of Huygens are multithreaded.

If you view an image with the slicer, for each update a 2D image must be sent over the network. The amount of pixels in the 2D image is determined by the number of pixels in the slice, not the display size on the screen. The images are in full color (RGBA) which means 4 bytes/pixel. So, for a 5122 image it is 1 Mbyte per plane, i.e. one second at best over 10Mbps ethernet. This is indeed roughly the update rate we get when running Huygens over a 10Mbps ethernet at SVI. So for smooth slicing with slice planes in the 1Mbyte range a 100Mbps connection is required.

To enable you to operate the Slicer over much slower networks the update rate is measured by the software. If the update rate falls below a certain threshold, currently about 0.5 s., the Slicer switches from smooth scrolling to jump scrolling. In the latter mode, the screen is only updated after you release the slider.

This means you have run out of swap space... You could of course increase the swap space by adding a swap file but it is also possible to have Huygens consume less memory by switching off the undo/redo system. Especially when running scripts it might not be really necessary to have an undo function. It is also good practice to destroy all images you have created in the script as soon as you don't need them anymore.

Some possible sources of error:
  1. The string was not pasted in in its entirety.
  2. The string got corrupted, for instance because it got split into two lines, see below.
  3. There is a mismatch between the software release and your license.
  4. You do not have sufficient rights to install the license, usually you need administrator rights, see below.
  5. The system ID was for a different computer, see below.
  6. The system's clock is not set to the correct date.

Typical problems when copy/pasting license strings are:
  • The email client has split the string in different lines. The license string must be a single line, without any space or line break.
  • The email client has converted a double dash (-+--+-) into a single long dash (—). A valid license string contains only 7 bit ASCII characters: basic English letters (a-Z or A-Z), numbers (0-9), dashes (-+-+-), at signs (@), curly braces (-+{ }+-), dots (-+.+-) and maybe other very basic symbols like underscores (-+_+-).

Normally you must have 'administrator or root rights' to install the license and will get an error message if you try to install the license without the proper rights. However, some Windows versions do not give a warning while afterwards the message cannot find a valid license keeps popping up. Right-click on the Huygens icon, and then choose 'run as administrator' and log in. Installing the license now will be successful.

Maybe the license string you are using is syntactically valid, but not intended for your computer. License strings are restricted to work only on a single computer, identified by its System Id. This ID is generated based on serial numbers of some of your hardware components. If you change any of these the System ID may change and the License Strings generated for it no longer work. A typical problem is caused by the change of a Network card. Consult your maintenance contract and Contact Svi to see how to update your license strings in such a case.

Does your license string not enable all the expected functionalities? The license string as used by SVI has the same appearance on all supported platforms. For each product you need to have a license string installed. Select an installed license string in the License manager and press the Explain license button. All details for the current license will be listed. If you run into licensing problems you may use this information to analyze the problem.

See wiki article License String and License String Details.

A license entitlement represents a proof of purchase of a particular SVI software product. It entitles its owner to a single node locked license. It can only be used once. The license entitlement consists of an unlocked license string and a unique system ID. It can be requested here, or by sending the systemID together with name, organization and address information by email to SVI. Alternatively, this information can also be faxed to +31 35 683 79 71.

You can download both RPM and Debian-style distribution packages from the download page. Simply double-click on the package or run the package installer. For debian, this is dpkg -i, for rpm, this is rpm -i install.