OptiTUIO – Manual

This OptiTUIO Manual describes the operation of the calibration software OptiTUIO. It is a tool to calibrate optical sensor devices. Using this software it is possible to use laser contour scanners like, for example, the Leuze ROD4plus or the Sick LMS serie for controlling any number of applications. OptiTUIO generates and detects unlimited touch points which can then be detected and processed by compatible applications and devices.

OptiTUIO has 3 different output modes, TUIO, Windows mouse and Windows touch. Typical applications are the realtime 3D software VENTUZ or simple control of Powerpoint documents.

Supported operating systems

  • Mac OS X 10.8 Mountain Lion (64-bit only) or newer
  • Windows 7 or newer
  • Ubuntu 12.04 Precise Pangoline or newer


  • A recent x86 or x86-64 CPU supporting SSSE3
  • Intel starting from COre 2 and Atom
  • AMD starting from Bobcat APU
  • VIA starting from Nano
  • At least 100 MiB of free HDD space
  • At least 256 MiB of free RAM
  • For the calibration an OpenGL compatible graphics adapter is required


OptiTUIO uses different libraries to guarantee optimal functionality. The software consists of two tools, OptiTUIO Calibration and OptiTUIO Runtime. The calibration tool is used to calibrate the laser. This tool generates a le that can be processed by the server, which runs in the background and processes the data of the laser and sends it to the application. Currently the software can also run directly without the server, but the nished calibration le should be started with the server because it uses less resources. OptiTUIO does not need to be installed. The only requirement is an in-
stalled Visual C++ 2015 runtime, which can be found in the OptiTUIO package (/bin32 or /bin64 folder, depending on system architecture). To start OptiTUIO use the OptiTUIO.Calibration.exe !


Device license / Offline License (Payed License)

OptiTUIO is licensed by the serial number of the laser that is used. This license is created by Interactive Asia and will be sent to the customer by email. When you buy the OptiTUIO package the corresponding license is already included. OptiTUIO can be licensed for an unlimited number of devices, for every device a new license has to be bought.

Online license – Demo / Trial License

Additionally there is the possibility to use OptiTUIO as an online demo for a certain duration. For this the machine on which OptiTUIO runs has to be online to make sure that the online license is still active. This function is meant only for testing and demonstration purposes.

Installation of the license

The license file will be generated by Interactive Asia and sent to the customer by email. To activate the file the license file has to be selected through the menu /Help/Install license in the OptiTUIO application.


The calibration of OptiTUIO is very simple. Using the GUI you can create devices and screens. OptiTUIO only needs exact dimensions of the screen(s) and the position of the device(s). An automatic calibration is planned but not implemented yet.

Quick Calibration

  1. Add a sensor
  2. Start the sensor
  3. Add a screen
  4. Specify the exact dimensions of the screen in Size
  5. Specify the oset of the screen to the laser in Oset
  6. Assign the created screen to the device in the devices Screen setting
  7. Add an output
  8. Test the setup in the Sensor view and make ne tuning
  9. Save the setup
  10. Close the calibration tool
  11. Start the server and load the generated .otxml calibration file

Detailed calibration

  1. Ensure that the sensor and the PC on which OptiTUIO runs are in the same network and the firewall does not block communication. Using the software of the device manufacturer you can change the IP address of the device
  2. Start the OptiTUIO.Calibration.exe
  3. Click on the tab Devices
  4. Click on Add and select the type of device you use
  5. Select the newly created device
  6. Ensure that the IP address of the device is correct
  7. Click on the Start button
  8. If the device is in the same network and a valid license is installed, you will see the outline of the device in the Sensor view
  9. Now click on the tab Screens
  10. Click on Add to create a new screen
  11. Select the screen and enter the exact dimensions in millimeters in Size X and Size Y
  12. After this you can adjust either the device or the screen to each other using their Oset X and Oset Y parameter
  13. Go back to the Devices tab and select the newly created screen for the device in the devices Screen setting
  14. From this point on the Sensor view should detect red touch points as soon as one or more hands are inside the laser of the calibrated device
  15. If the device is not standing completely level or the screen is rotated in the Z axis, you can correct that using the Rotation parameter of the device
  16. Also you can use the Flip X and/or Flip Y parameter to ip the outline of the device over the selected axis. This is needed if the device is mounted sideways or on the ceiling
  17. After you calibrated the device for the screen exactly, click on the Outputs tab
  18. There you create one or more TUIO outputs using the Add button
  19. Specify to which Host and which Port the TUIO communication should go
  20. From this point the device is completely functional. We recomment starting the calibration file using the OptiTUIO server because it uses less resources than the calibration software.

Graphical User Interface (GUI)

The GUI is split into 3 section. On top there is the main menu. Under this is the realtime view of the sensor. In the lower part are the parameter tabs. In the following we will explain the areas from top to bottom.


The three main areas of OptiTUIO:

  • Menu bar (top)
  • Sensor view (upper)
  • Parameter section (lower)

Main Menu

The menu is sorted into 3 sections that are mainly responsible for loading, saving and the management of the licenses.


  • New – to create a new conguration
  • Open – to load an existing .otxml file
  • Save – to save the current file under the same name
  • Save as – to save the current file under a different name
  • Exit – to exit the program


This section is used to change the sensor view.

  • Show raw outline – Shows the measured raw data as outline
  • Show scene center – Shows a visual aid to see where the center of the scene is
  • Show devices – Shows the devices used


  • Install license – Opens a File dialog to navigate to the license file
  • Show license – Shows details about the installed license
  • About – Copyright dialog

Sensor view

Here you can see the data of the laser in realtime. This window can be detached from the main window and changed in size. You have the following navigation functions:

  • Left Mouse Button: Hold the left mouse button to navigate in horizontal and/or vertical direction
  • Mouse Wheel: Turn the mouse wheel to zoom in or out

Parameter section

Here are all the global functions and parameter to set up the software optimally.


  • Language – Here you can change the language of the application. After changing the setting you have to restart the application. Currently English, German and Chinese is available.
  • Max. tracking distance – This value species from which distance to an existing touch point a new touch point is detected or if it is an existing one. Normal values are between 100mm – 400mm
  • Merge distance – This value specifies the distance from which two touch points get merged together into one. Very helpful when applications are controlled with fingers on short distances, for example. Standard value is 40 mm.


  • Add – Here you can add the sensor that you use
  • Remove – Here you can remove a sensor
  • Start – Start the sensor
  • Stop – Stop the sensor
  • Info – Here you can query the serial number of the device
  • Debug (optional) – This opens advanced settings for special needs. Please read details below in the Debug section
  • Name – Assign a name to your device
  • IP address – The IP address from the laser device
  • Config (just for Sick LMS series) – Here you can change the scan frequency and angular resolution
  • Offset X – If the laser is not in the center of the setup you can adjust it here
  • Offset Y – If the laser is mounted below or above the screen here you can setup the exact values
  • Rotation – To adjust the z – rotation of the laser
  • Kalman – This value is used for the filters and can have a value between 0 and 1. A value of 1 means that the predicted values are used 100% and a value of zero uses 100% the real measured data. This value is different for each device.
  • Screen – Here you have to assign the screen to the specific sensor
  • Flip X – To flip the values over the x axis
  • Flip Y – To flip the values over the y axis


  •  Add – Add a screen to your setup
  • Remove – Remove an existing screen
  • Name – The name of the Screen
  • Size X – The size/width of the screen in mm
  • Size Y – The size/height of the screen in mm
  • Offset X – Here you can x – offset the screen from the scene center
  • Offset Y – Here you can y – offset the screen from the scene center

Output (TUIO)

  • Add – Here you can add an output. There are TUIO, Windows mouse and Windows touch available
  • Remove – Remove an existing sensor
  • Name – Rename the sensor
  • Host – the IP address of the server which should receive the TUIO or touch packets
  • Port – the Port of the host where the packets will be received

Output (Windows mouse)

  • Name – Rename the sensor
  • Offset X
  • Offset Y
  • Size X
  • Size Y
  • Screen

Output (Windows touch)

  • Name – Rename the sensor
  • Offset X
  • Offset Y
  • Size X
  • Size Y
  • Pressure
  • Radius
  • Screen

Debug Mode

To run OptiTUIO in debug mode you need to have a debug license. To start OptiTUIO in debug mode you need to create a shortcut of the calibration.exe and you have to add in the target field -debug at the end of the target path.

Debug Window

  • Bilateral Filter
  • Bilateral σ spatial
  • Bilateral σ range
  • Invalid interpolation
  • Margin
  • Max. touch deviation
  • Min. touch segments
  • Min. touch age
  • Record – Records all the values from OptiTUIO into a file.
  • Replay – Replays a recorded file
  • Pause – Pause the Replay
  • Step – Step frame by frame through the replay file

One Comment

  1. Pingback: Interactive Laser Touch Controller | OptiTUIO

Comments are closed