Vicon Tracker Python API Quick Start Guide
About this guide
The Tracker API lets you control certain features of Tracker via a Python API. The API enables you to automate some common functions of Tracker, such as loading, playing and exporting data, activating or deactivating different objects, or triggering parts of the workflow.
This document enables you to get started with the Tracker API.
Install the Tracker API
To use the Tracker API with Python, you must make sure that you have both installed.
The Tracker API provides support for Python 2.7 and Python 3. Vicon recommends that you use the latest full release of Python 3, unless your project requires you to use a specific version of Python.
These procedures guide you through the installation process:
- Check Python version
- Installing Python
- Installing the Tracker Python module
- Check that the Python module installed correctly
Check Python version
If you are not sure if you have Python installed or which version of Python you are using, you can open a command prompt and run the py command. For example:
c:\>py Python 3.11.3 (tags/v3.11.3:f3909b8, Apr 4 2023, 23:49:59) [MSC v.1934 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>>
If you do not have Python installed, see Install Python.
Install Python
To install Python 2 or 3:
- Go to https://www.python.org/downloads/
-
Locate the required version and install Python, ensuring that Add python.exe to PATH is selected:
In the above image, ABC is replaced with your username for the installation folder.
Install the Tracker Python module
The following steps assume you are using Python version 3 and Tracker 4.1.
To install the Tracker Python module:
-
Locate the installation files. If you installed Tracker in the default location, they are found in this folder:
C:\Program Files\Vicon\Tracker4.1\SDK\Python
These files are displayed:
-
Install the Tracker Python module in either of the following ways, depending on your particular installation:
-
The simplest way is to run the batch file (install_tracker_api.bat) that is included in the Tracker installation (as shown in the above image). This usually works well if:
-
Python was installed to the PATH variable; or
-
Multiple versions of Python are installed, but you want to install the API to the latest version that you installed; or
-
Only a single version of Python is installed.
If any of these conditions apply, see Install the python module by running the batch file.
-
-
In all other cases, install the Python module by using pip. This usually applies if:
-
Multiple versions of Python are installed, but you want to install to a specific version; or
-
Multiple different versions of Python are installed and you want to install to all of them (in this case, you must install the module for each version); or
- Only a single version of Python is installed, but you didn't install to PATH.
If any of these conditions apply, see Install the Python module by running pip.
-
-
Install the Python module by running the batch file
To install the Python module by running the batch file:
-
Navigate to the Python install folder:
C:\Program Files\Vicon\Tracker4.1\SDK\Python
-
Double-click install_tracker_api.bat.
The installation process initializes automatically.
Install the Python module by running pip
Important
If you are using Python 3, you must copy the SDK folder from the Program Files directory to a new folder that doesn't require Administrator permission. This is due to a permissions issue with pip versions 21.3 or later.
By default, you can find the SDK folder at:
C:\Program Files\Vicon\Tracker4.1\SDK
(If you installed Tracker elsewhere, use this path to find the SDK folder.)
We recommend copying the SDK folder into a new folder with an easy-to-access location, for example, C:\TrackerAPI. You can delete this folder after the pip installation is complete.
The steps in this guide assume you have copied the SDK folder to:
C:\TrackerAPI
To install the Python module by running pip:
- Navigate to the Scripts folder for the Python that you want to use:
- For Python 3, the default installation folder is:
C:\Users\<username>\AppData\Local\Programs\Python\Python<version>\Scripts - For Python 2.7, the default installation folder is:
C:\Python27\Scripts
- For Python 3, the default installation folder is:
- Open a command window or powershell in that folder.
-
Run the following command to install the Vicon Core API:
.\pip.exe install "C:\TrackerAPI\SDK\Python\vicon_core_api"
-
Run the following command to install the Tracker API:
.\pip.exe install "C:\TrackerAPI\SDK\Python\tracker_api"
Note
The above examples use a Python 3.11 installation with Tracker 4.1. Your path and commands may differ slightly.
Check that the Python module installed correctly
Check that the following modules have been installed:
- vicon_core_api: This is the core remote control API and includes a client for communication with the terminal server.
- tracker_api: Services API for accessing Tracker-specific application functionality.
To test that the Tracker Python module installed correctly, try importing one of the modules in Python:
>>> import vicon_core_api
If the above process fails to recognize the module, try the following:
- Check the site-packages folder in the Python installation for the tracker_api orvicon_core_api folder. For Python 3.11, the location of the default installation folder is:
C:\Users\<username>\AppData\Local\Programs\Python\Python311\Lib\site-packages - Check your system environment variables and ensure that the scripts folder for the Python installation you want to use is the highest in the list. For Python 3.11, the default location of the installation folder is:
C:\Users\<username>\AppData\Local\Programs\Python\Python311\Scripts
If either of the modules folders is missing, and you have verified the path, re-run through the installation process described in Installing the Tracker Python module.
Connect to the terminal server
To connect to the terminal server, first import the Vicon Core API module:
>>> import vicon_core_api >>> from vicon_core_api import *
Next, create a client. This automatically tries to connect to the specific host address on the default port (52800)
>>> c = Client('localhost')
Check that the client successfully connected to the server:
>>> print(c.connected) True
If the response is False
, ensure that you have an instance of Tracker running at the specified host address and your firewall is not blocking traffic on port 52800, before creating a new client.
When you have successfully connected, you can access the services provided by the Tracker terminal server.
This example uses basic object services:
>>> import tracker_api >>> from tracker_api import BasicObjectServices >>> services = BasicObjectServices(c)
When it is connected, you can call methods on the Tracker instance.
For example, to get a list of objects in the Tracking panel, use:
>>> result, object_list = services.basic_object_list() >>> print(result) Ok: the function succeeded >>> print(object_list) ['Object1', 'Object2'...]
All API calls return a result code, which are described in vicon_core_api/result.py. One possible failure code is Result.RPCNotConnected
, which is received if the connection to the terminal server is lost. For example:
>>> result, object_list = services.basic_object_list() ... vicon_core_api.client.RPCError: RPCNotConnected: The connection to the remote function or callback is not open
To display a list of all available functions and documentation:
>>> help( tracker_api)
Example scripts
You can find example scripts showing the use of common API functions at:
C:\Program Files\Vicon\Tracker4.1\SDK\Python\sample_scripts
All the scripts have documentation and take a --help option that gives details of the relevant arguments.
To run a sample script, open a command window or power shell in the scripts folder above. You can do this in one of two ways:
-
Open the command prompt and change your directory to the scripts folder:
c:\> cd "C:\Program Files\Vicon\Tracker4.1\SDK\Python\sample_scripts"
or
- Hold SHIFT+right-click in the scripts folder and select Open command window here or Open Powershell window here.
From here you can run the example script of your choice.
The following examples use the command window.
camera_calibration_wave.py
This script demonstrates how to use API functions to control the calibration process of starting and stopping the wand wave.
C:\Program Files\Vicon\Tracker 4.1\SDK\Python\sample_scripts> py camera_calibration_wave.py
If successful, calibration controls are displayed.
capture_control.py
This script shows how to capture live data.
C:\Program Files\Vicon\Tracker 4.1\SDK\Python\sample_scripts> py capture_control.py
The Capture name is listed before the controls. To change the capture name, use capture_services
and SetCaptureName
.
For questions on using the Tracker API, contact Vicon Support.