-
Notifications
You must be signed in to change notification settings - Fork 0
Home
##1. Startup and overview
This wiki-page will give you a general overview about the submodules of Ubitrack, the required tools and libraries. Afterwards, it is explained how to download, compile and configure the libraries. You can compile Ubitrack for the following target platforms:
-
Windows
-
Linux
-
Android
However, the cross-compilation for Android is only possible on Linux. Because the steps to setup Ubitrack are different for each target platforms, the platform specific details are explained in seperate wiki pages.
##2. Components of Ubitrack as submodules
There are several components represented by repositories which can be added as submodules to ubitrack. These components have to be placed in the <ubitrack>/modules folder. Usually you will need utcore, utvision, utdataflow, utfacade, utcomponents and utvisioncomponents:
Component | Description | Repository |
---|---|---|
utvisualization | contains a standalone 3D rendering module. Mostly for quick visualizations and debugging | https://github.com/Ubitrack/utvisualization.git |
utvisioncomponents | contains algorithms working on (mostly) camera images. | https://github.com/Ubitrack/utvisioncomponents.git |
utfacade | contains frontend adapters for ubitrack dataflow networks. Also contains the utConsole. | https://github.com/Ubitrack/utfacade.git |
utdataflow | contains the dataflow network and related graph methods. | https://github.com/Ubitrack/utdataflow.git |
utcore | contains fundamental datastructures and algorithms. Needed by all other modules. | https://github.com/Ubitrack/utcore.git |
utcomponents | contains basic dataflow modules. These cover most common tracking and registration cases. | https://github.com/Ubitrack/utvisioncomponents.git |
directshow | contains MS Windows specific directshow framegrabber | https://github.com/Ubitrack/directshow.git |
buildenvironment | contains general build scripts | https://github.com/Ubitrack/utvisualization.git |
To build Ubitrack from the source code, clone the buildenvironment repository which provides the basic buildenvironment. Afterwards, you can pick the submodules manually or alternatively add all existing components at once by executing a script. The target specific instrustuctions will be explained in the appropriate platform section.
##3. Required tools
In order to build ubitrack the following tools have to be installed:
-
Git
-
C++ Compiler like gcc or MSVC
-
Python (at least Version 2.7, e.g. PythonXY )
-
cmake (only required for building OpenCV for Android)
##4. Required libraries
Ubitrack is based on the following libraries:
Mandatory
- Boost (> 1.35)
Optional
These libraries have to be downloaded and configured. In order to configure them, there exist three possible ways, the first uses the Ubitrack library finder which needs all the libraries in one specific folder and represents the fastest way. The second, configures the libraries by the command line and gives you the ability to set different paths for each library. In the third method, each possible configuration and path is manually set by editing a textfile which is automatically generated if you have chosen the first or second method.
###4.1 Ubitrack library finder
Ubitrack is able to find the libraries and set the paths to the header and lib-files automatically. Therefore, the libraries have to be placed in a specific folder structure that looks like this:
<LibrariesDirectory>/[linux|windows|android]_[x64|x86]/LibraryName/[bin|include|lib|lib_debug].
An example for windows would be:
external_libraries\windows_x64\boost
external_libraries\windows_x64\boost\include
external_libraries\windows_x64\boost\lib
external_libraries\windows_x64\boost\lib_debug
As already mentioned, the steps to be taken in order to compile Ubitrack differ for each target platform. Therefore, have a look at platform specific description for the target platform of your choice:
Ubitrack Compilation for Windows