diff --git a/CMakeLists.txt b/CMakeLists.txt index 29d6f08..a3be592 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,36 +1,65 @@ cmake_minimum_required(VERSION 2.8) -PROJECT(gazetool) +PROJECT(gazetool_demo) + +set(GAZETOOL_MAJOR_VERSION 0) +set(GAZETOOL_MINOR_VERSION 1) +set(GAZETOOL_PATCH_VERSION 0) +set(GAZETOOL_VERSION + ${GAZETOOL_MAJOR_VERSION}.${GAZETOOL_MINOR_VERSION}.${GAZETOOL_PATCH_VERSION}) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) OPTION(ENABLE_YARP_SUPPORT "Enable yarp support" OFF) + +add_subdirectory(src/lib) +add_subdirectory(data) + set(CMAKE_AUTOMOC TRUE) set(CMAKE_INCLUDE_CURRENT_DIR ON) -FIND_PACKAGE(dlib REQUIRED) FIND_PACKAGE(OpenCV REQUIRED) +FIND_PACKAGE(dlib REQUIRED) FIND_PACKAGE(Boost COMPONENTS system chrono program_options REQUIRED) FIND_PACKAGE(Qt5Core REQUIRED) FIND_PACKAGE(Qt5Widgets REQUIRED) FIND_PACKAGE(Qt5OpenGL REQUIRED) FIND_PACKAGE(Qt5Gui REQUIRED) +ADD_DEFINITIONS(-DENABLE_QT5) + IF(ENABLE_YARP_SUPPORT) FIND_PACKAGE(YARP REQUIRED) ENDIF() -INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIR} ${Boost_INCLUDE_DIR} ${YARP_INCLUDE_DIRS} ${dlib_INCLUDE_DIRS}) +INCLUDE_DIRECTORIES( + ${OpenCV_INCLUDE_DIRS} + ${Boost_INCLUDE_DIR} + ${YARP_INCLUDE_DIRS} + ${dlib_INCLUDE_DIRS} + src/lib + src/ui) + + +QT5_WRAP_UI(UI_HEADERS src/ui/gazergui.ui) + +SET(GAZETOOL_BIN + src/ui/main.cpp + src/ui/gazergui.cpp + src/ui/workerthread.cpp + src/ui/glimageview.cpp + ${UI_HEADERS}) -ADD_SUBDIRECTORY(src) +ADD_EXECUTABLE(gazetool_ui ${GAZETOOL_BIN}) +ADD_DEPENDENCIES(gazetool_ui ${UI_HEADERS}) +TARGET_LINK_LIBRARIES(gazetool_ui gazetool GL) +qt5_use_modules(gazetool_ui Core Widgets Gui OpenGL) -CONFIGURE_FILE(gazetool.sh.in gazetool.sh @ONLY) +CONFIGURE_FILE("src/ui/config/gazetool.sh.in" gazetool.sh @ONLY) -INSTALL(FILES - data/shape_predictor_68_face_landmarks.dat - data/gaze_est_deg.dat - data/lid_est.dat - data/vertgaze_est_deg.dat - DESTINATION share/gazetool) +INSTALL(TARGETS gazetool_ui + RUNTIME DESTINATION bin +) -INSTALL(PROGRAMS ${CMAKE_BINARY_DIR}/gazetool.sh DESTINATION bin) +INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/gazetool.sh DESTINATION bin) diff --git a/README.md b/README.md index 65b55fc..80ff862 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,11 @@ This repository contains a calibration free gaze tracking system based on freely Please cite the above paper when using this module for your research. -## Installation +## Out of the box demo installation Make sure you have the following dependencies available / installed: * QT5: http://www.qt.io/download/ -* opencv 2.x.x: http://opencv.org/downloads.html +* opencv: http://opencv.org/downloads.html * boost: http://www.boost.org/ * dlib: http://dlib.net/ * run `getFaceAlignmentModel.sh` in the `data` directory to download dlib's face alignment model which is required for running gazetool. @@ -21,6 +21,28 @@ Compiling ## Running gazetool * Run `gazetool.sh -c 0` to use the first webcam attached to your system +## Manual library installation (no QT is needed) + +Make sure you have the following dependencies available / installed: +* opencv: http://opencv.org/downloads.html +* boost: http://www.boost.org/ +* dlib: http://dlib.net/ +* run `getFaceAlignmentModel.sh` in the `data` directory to download dlib's face alignment model which is required for running gazetool. + +Compiling +* cmake is used, thus a standard cmake configure run is required in the data and the src/lib folder +* `cd data` +* `mkdir build && cd build && cmake ..` +* run `make` +* run `make install` +* `cd ../../src/lib` +* `mkdir build && cd build && cmake ..` +* run `make` +* run `make install` + +This will install the library and all necessary configuration files to use it. +Furthermore a cmake module file is created in `${CMAKE_INSTALL_PREFIX}/lib/cmake/gazetool` which can be used to link against this library. + ## Technical Notes * Sync to vblank might negatively affect performance diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt new file mode 100644 index 0000000..866c939 --- /dev/null +++ b/data/CMakeLists.txt @@ -0,0 +1,19 @@ +cmake_minimum_required(VERSION 2.8) + +PROJECT(gazetool_data) + +OPTION(ENABLE_INSTALL_DLIB_FACE_MODEL "Install the dlib face landmarks model" ON) + + +INSTALL(FILES + gaze_est_deg.dat + lid_est.dat + vertgaze_est_deg.dat + DESTINATION share/gazetool) + + +IF(ENABLE_INSTALL_DLIB_FACE_MODEL) + INSTALL(FILES + shape_predictor_68_face_landmarks.dat + DESTINATION share/gazetool) +ENDIF() diff --git a/gazetool.sh.in b/gazetool.sh.in deleted file mode 100755 index 06ed675..0000000 --- a/gazetool.sh.in +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -prefix="@CMAKE_INSTALL_PREFIX@" -exec "$prefix/bin/gazetool" -m "$prefix/share/gazetool/shape_predictor_68_face_landmarks.dat" --estimate-gaze "$prefix/share/gazetool/gaze_est_deg.dat" --estimate-verticalgaze "$prefix/share/gazetool/vertgaze_est_deg.dat" --estimate-lid "$prefix/share/gazetool/lid_est.dat" "$@" diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt deleted file mode 100644 index 429cb0e..0000000 --- a/src/CMakeLists.txt +++ /dev/null @@ -1,41 +0,0 @@ -QT5_WRAP_UI(UI_HEADERS gazergui.ui) - -SET(GAZETOOL_SRC - main.cpp - imageprovider.cpp - faceparts.cpp - pupilfinder.cpp - eyelidlearner.cpp - mutualgazelearner.cpp - relativeeyelidlearner.cpp - relativegazelearner.cpp - verticalgazelearner.cpp - facedetectionworker.cpp - shapedetectionworker.cpp - gazehyps.cpp - regressionworker.cpp - gazergui.cpp - glimageview.cpp - workerthread.cpp - eyepatcher.cpp - featureextractor.cpp - abstractlearner.cpp - rlssmoother.cpp - ${UI_HEADERS} - blockingqueue.h -) - - -IF(ENABLE_YARP_SUPPORT) - ADD_DEFINITIONS(-DENABLE_YARP_SUPPORT) - SET(GAZETOOL_SRC ${GAZETOOL_SRC} yarpsupport.cpp) -ENDIF() - -ADD_EXECUTABLE(gazetool ${GAZETOOL_SRC}) -ADD_DEPENDENCIES(gazetool ${UI_HEADERS}) -TARGET_LINK_LIBRARIES(gazetool GL ${Boost_LIBRARIES} ${YARP_LIBRARIES} ${OpenCV_LIBS} ${dlib_LIBRARIES}) -qt5_use_modules(gazetool Core Widgets Gui OpenGL) - -INSTALL(TARGETS gazetool - RUNTIME DESTINATION bin -) diff --git a/src/lib/CMakeLists.txt b/src/lib/CMakeLists.txt new file mode 100644 index 0000000..9ff9852 --- /dev/null +++ b/src/lib/CMakeLists.txt @@ -0,0 +1,84 @@ +cmake_minimum_required(VERSION 2.8) + +PROJECT(libgazetool) + +set(GAZETOOL_LIB_MAJOR_VERSION 0) +set(GAZETOOL_LIB_MINOR_VERSION 1) +set(GAZETOOL_LIB_PATCH_VERSION 0) +set(GAZETOOL_LIB_VERSION + ${GAZETOOL_LIB_MAJOR_VERSION}.${GAZETOOL_LIB_MINOR_VERSION}.${GAZETOOL_LIB_PATCH_VERSION}) + +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + +OPTION(ENABLE_YARP_SUPPORT "Enable yarp support" OFF) + +set(CMAKE_AUTOMOC TRUE) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +FIND_PACKAGE(dlib REQUIRED) +FIND_PACKAGE(OpenCV REQUIRED) +FIND_PACKAGE(Boost COMPONENTS system chrono program_options REQUIRED) + + +IF(ENABLE_YARP_SUPPORT) + FIND_PACKAGE(YARP REQUIRED) +ENDIF() + +INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS} ${Boost_INCLUDE_DIR} ${YARP_INCLUDE_DIRS} ${dlib_INCLUDE_DIRS}) + +SET(GAZETOOL_LIB_SRC + imageprovider.cpp + faceparts.cpp + pupilfinder.cpp + eyelidlearner.cpp + mutualgazelearner.cpp + relativeeyelidlearner.cpp + relativegazelearner.cpp + verticalgazelearner.cpp + facedetectionworker.cpp + shapedetectionworker.cpp + gazehyps.cpp + regressionworker.cpp + eyepatcher.cpp + featureextractor.cpp + abstractlearner.cpp + rlssmoother.cpp + blockingqueue.h +) + +IF(ENABLE_YARP_SUPPORT) + ADD_DEFINITIONS(-DENABLE_YARP_SUPPORT) + SET(GAZETOOL_LIB_SRC ${GAZETOOL_LIB_SRC} yarpsupport.cpp) +ENDIF() + + +ADD_LIBRARY(gazetool SHARED ${GAZETOOL_LIB_SRC}) +target_link_libraries(gazetool ${OpenCV_LIBS} ${dlib_LIBRARIES} ${Boost_LIBRARIES} ${YARP_LIBRARIES}) + + +set(INSTALL_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/gazetool/") + +configure_file("config/gazetoolConfig.cmake.in" + "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gazetoolConfig.cmake" @ONLY) +configure_file("config/gazetoolConfigVersion.cmake.in" + "${PROJECT_BINARY_DIR}/gazetoolConfigVersion.cmake" @ONLY) + +export(TARGETS gazetool + FILE "${PROJECT_BINARY_DIR}/gazetoolTargets.cmake") +export(PACKAGE gazetool) + +INSTALL(TARGETS gazetool + LIBRARY DESTINATION lib +) + +INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/ + DESTINATION "include/gazetool" + FILES_MATCHING + PATTERN "*.h") + +install(FILES + "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/gazetoolConfig.cmake" + "${PROJECT_BINARY_DIR}/gazetoolConfigVersion.cmake" + "${PROJECT_BINARY_DIR}/gazetoolTargets.cmake" + DESTINATION "lib/cmake/gazetool" COMPONENT dev) diff --git a/src/abstractlearner.cpp b/src/lib/abstractlearner.cpp similarity index 100% rename from src/abstractlearner.cpp rename to src/lib/abstractlearner.cpp diff --git a/src/abstractlearner.h b/src/lib/abstractlearner.h similarity index 100% rename from src/abstractlearner.h rename to src/lib/abstractlearner.h diff --git a/src/blockingqueue.h b/src/lib/blockingqueue.h similarity index 100% rename from src/blockingqueue.h rename to src/lib/blockingqueue.h diff --git a/src/lib/config/gazetoolConfig.cmake.in b/src/lib/config/gazetoolConfig.cmake.in new file mode 100644 index 0000000..ffd8565 --- /dev/null +++ b/src/lib/config/gazetoolConfig.cmake.in @@ -0,0 +1,16 @@ +# - Config file for the gazetool package +# It defines the following variables +# GAZETOOL_INCLUDE_DIRS - include directories for FooBar +# GAZETOOL_LIBRARIES - libraries to link against + +# Compute paths +get_filename_component(gazetool_CMAKE_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH) + +set(gazetool_INCLUDE_DIRS "@INSTALL_INCLUDE_DIRS@") + +# Our library dependencies (contains definitions for IMPORTED targets) +if(NOT TARGET gazetool) + include("${gazetool_CMAKE_DIR}/gazetoolTargets.cmake") +endif() + +set(gazetool_LIBRARIES gazetool) diff --git a/src/lib/config/gazetoolConfigVersion.cmake.in b/src/lib/config/gazetoolConfigVersion.cmake.in new file mode 100644 index 0000000..95941c5 --- /dev/null +++ b/src/lib/config/gazetoolConfigVersion.cmake.in @@ -0,0 +1,11 @@ +set(PACKAGE_VERSION "@gazetool_VERSION@") + +# Check whether the requested PACKAGE_FIND_VERSION is compatible +if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_COMPATIBLE FALSE) +else() + set(PACKAGE_VERSION_COMPATIBLE TRUE) + if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}") + set(PACKAGE_VERSION_EXACT TRUE) + endif() +endif() diff --git a/src/eyelidlearner.cpp b/src/lib/eyelidlearner.cpp similarity index 100% rename from src/eyelidlearner.cpp rename to src/lib/eyelidlearner.cpp diff --git a/src/eyelidlearner.h b/src/lib/eyelidlearner.h similarity index 100% rename from src/eyelidlearner.h rename to src/lib/eyelidlearner.h diff --git a/src/eyepatcher.cpp b/src/lib/eyepatcher.cpp similarity index 100% rename from src/eyepatcher.cpp rename to src/lib/eyepatcher.cpp diff --git a/src/eyepatcher.h b/src/lib/eyepatcher.h similarity index 100% rename from src/eyepatcher.h rename to src/lib/eyepatcher.h diff --git a/src/facedetectionworker.cpp b/src/lib/facedetectionworker.cpp similarity index 100% rename from src/facedetectionworker.cpp rename to src/lib/facedetectionworker.cpp diff --git a/src/facedetectionworker.h b/src/lib/facedetectionworker.h similarity index 100% rename from src/facedetectionworker.h rename to src/lib/facedetectionworker.h diff --git a/src/faceparts.cpp b/src/lib/faceparts.cpp similarity index 100% rename from src/faceparts.cpp rename to src/lib/faceparts.cpp diff --git a/src/faceparts.h b/src/lib/faceparts.h similarity index 100% rename from src/faceparts.h rename to src/lib/faceparts.h diff --git a/src/featureextractor.cpp b/src/lib/featureextractor.cpp similarity index 100% rename from src/featureextractor.cpp rename to src/lib/featureextractor.cpp diff --git a/src/featureextractor.h b/src/lib/featureextractor.h similarity index 100% rename from src/featureextractor.h rename to src/lib/featureextractor.h diff --git a/src/gazehyps.cpp b/src/lib/gazehyps.cpp similarity index 100% rename from src/gazehyps.cpp rename to src/lib/gazehyps.cpp diff --git a/src/gazehyps.h b/src/lib/gazehyps.h similarity index 98% rename from src/gazehyps.h rename to src/lib/gazehyps.h index 6c0f42b..dd87604 100644 --- a/src/gazehyps.h +++ b/src/lib/gazehyps.h @@ -6,14 +6,17 @@ #include #include #include -#include #include #include "pupilfinder.h" class GazeHypList; typedef std::shared_ptr GazeHypsPtr; +#ifdef ENABLE_QT5 +#include Q_DECLARE_METATYPE(GazeHypsPtr) +#endif + struct GazeHyp { dlib::rectangle faceDetection; diff --git a/src/imageprovider.cpp b/src/lib/imageprovider.cpp similarity index 100% rename from src/imageprovider.cpp rename to src/lib/imageprovider.cpp diff --git a/src/imageprovider.h b/src/lib/imageprovider.h similarity index 100% rename from src/imageprovider.h rename to src/lib/imageprovider.h diff --git a/src/mutualgazelearner.cpp b/src/lib/mutualgazelearner.cpp similarity index 100% rename from src/mutualgazelearner.cpp rename to src/lib/mutualgazelearner.cpp diff --git a/src/mutualgazelearner.h b/src/lib/mutualgazelearner.h similarity index 100% rename from src/mutualgazelearner.h rename to src/lib/mutualgazelearner.h diff --git a/src/pupilfinder.cpp b/src/lib/pupilfinder.cpp similarity index 100% rename from src/pupilfinder.cpp rename to src/lib/pupilfinder.cpp diff --git a/src/pupilfinder.h b/src/lib/pupilfinder.h similarity index 100% rename from src/pupilfinder.h rename to src/lib/pupilfinder.h diff --git a/src/regressionworker.cpp b/src/lib/regressionworker.cpp similarity index 100% rename from src/regressionworker.cpp rename to src/lib/regressionworker.cpp diff --git a/src/regressionworker.h b/src/lib/regressionworker.h similarity index 100% rename from src/regressionworker.h rename to src/lib/regressionworker.h diff --git a/src/relativeeyelidlearner.cpp b/src/lib/relativeeyelidlearner.cpp similarity index 100% rename from src/relativeeyelidlearner.cpp rename to src/lib/relativeeyelidlearner.cpp diff --git a/src/relativeeyelidlearner.h b/src/lib/relativeeyelidlearner.h similarity index 100% rename from src/relativeeyelidlearner.h rename to src/lib/relativeeyelidlearner.h diff --git a/src/relativegazelearner.cpp b/src/lib/relativegazelearner.cpp similarity index 100% rename from src/relativegazelearner.cpp rename to src/lib/relativegazelearner.cpp diff --git a/src/relativegazelearner.h b/src/lib/relativegazelearner.h similarity index 100% rename from src/relativegazelearner.h rename to src/lib/relativegazelearner.h diff --git a/src/rlssmoother.cpp b/src/lib/rlssmoother.cpp similarity index 100% rename from src/rlssmoother.cpp rename to src/lib/rlssmoother.cpp diff --git a/src/rlssmoother.h b/src/lib/rlssmoother.h similarity index 100% rename from src/rlssmoother.h rename to src/lib/rlssmoother.h diff --git a/src/shapedetectionworker.cpp b/src/lib/shapedetectionworker.cpp similarity index 100% rename from src/shapedetectionworker.cpp rename to src/lib/shapedetectionworker.cpp diff --git a/src/shapedetectionworker.h b/src/lib/shapedetectionworker.h similarity index 100% rename from src/shapedetectionworker.h rename to src/lib/shapedetectionworker.h diff --git a/src/verticalgazelearner.cpp b/src/lib/verticalgazelearner.cpp similarity index 100% rename from src/verticalgazelearner.cpp rename to src/lib/verticalgazelearner.cpp diff --git a/src/verticalgazelearner.h b/src/lib/verticalgazelearner.h similarity index 100% rename from src/verticalgazelearner.h rename to src/lib/verticalgazelearner.h diff --git a/src/ui/CMakeLists.txt b/src/ui/CMakeLists.txt new file mode 100644 index 0000000..aba7654 --- /dev/null +++ b/src/ui/CMakeLists.txt @@ -0,0 +1,49 @@ +cmake_minimum_required(VERSION 2.8) + +PROJECT(gazetool_ui) + +set(GAZETOOL_MAJOR_VERSION 0) +set(GAZETOOL_MINOR_VERSION 1) +set(GAZETOOL_PATCH_VERSION 0) +set(GAZETOOL_VERSION + ${GAZETOOL_MAJOR_VERSION}.${GAZETOOL_MINOR_VERSION}.${GAZETOOL_PATCH_VERSION}) + +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") +SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) + +OPTION(ENABLE_YARP_SUPPORT "Enable yarp support" OFF) + +set(CMAKE_AUTOMOC TRUE) +set(CMAKE_INCLUDE_CURRENT_DIR ON) + +FIND_PACKAGE(OpenCV REQUIRED) +FIND_PACKAGE(gazetool REQUIRED) +FIND_PACKAGE(Qt5Core REQUIRED) +FIND_PACKAGE(Qt5Widgets REQUIRED) +FIND_PACKAGE(Qt5OpenGL REQUIRED) +FIND_PACKAGE(Qt5Gui REQUIRED) +ADD_DEFINITIONS(-DENABLE_QT5) + +INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS} ${gazetool_INCLUDE_DIRS}) + +QT5_WRAP_UI(UI_HEADERS gazergui.ui) + +SET(GAZETOOL_BIN + main.cpp + gazergui.cpp + workerthread.cpp + glimageview.cpp + ${UI_HEADERS}) + +ADD_EXECUTABLE(gazetool_ui ${GAZETOOL_BIN}) +ADD_DEPENDENCIES(gazetool_ui ${UI_HEADERS}) +TARGET_LINK_LIBRARIES(gazetool_ui ${gazetool_LIBRARIES} GL) +qt5_use_modules(gazetool_ui Core Widgets Gui OpenGL) + +CONFIGURE_FILE("config/gazetool.sh.in" gazetool.sh @ONLY) + +INSTALL(TARGETS gazetool_ui + RUNTIME DESTINATION bin +) + +INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/gazetool.sh DESTINATION bin) diff --git a/src/ui/config/gazetool.sh.in b/src/ui/config/gazetool.sh.in new file mode 100755 index 0000000..16e592b --- /dev/null +++ b/src/ui/config/gazetool.sh.in @@ -0,0 +1,3 @@ +#!/bin/bash +prefix="@CMAKE_INSTALL_PREFIX@" +exec "$prefix/bin/gazetool_ui" -m "$prefix/share/gazetool/shape_predictor_68_face_landmarks.dat" --estimate-gaze "$prefix/share/gazetool/gaze_est_deg.dat" --estimate-verticalgaze "$prefix/share/gazetool/vertgaze_est_deg.dat" --estimate-lid "$prefix/share/gazetool/lid_est.dat" "$@" diff --git a/src/gazergui.cpp b/src/ui/gazergui.cpp similarity index 100% rename from src/gazergui.cpp rename to src/ui/gazergui.cpp diff --git a/src/gazergui.h b/src/ui/gazergui.h similarity index 100% rename from src/gazergui.h rename to src/ui/gazergui.h diff --git a/src/gazergui.ui b/src/ui/gazergui.ui similarity index 100% rename from src/gazergui.ui rename to src/ui/gazergui.ui diff --git a/src/glimageview.cpp b/src/ui/glimageview.cpp similarity index 100% rename from src/glimageview.cpp rename to src/ui/glimageview.cpp diff --git a/src/glimageview.h b/src/ui/glimageview.h similarity index 100% rename from src/glimageview.h rename to src/ui/glimageview.h diff --git a/src/main.cpp b/src/ui/main.cpp similarity index 100% rename from src/main.cpp rename to src/ui/main.cpp diff --git a/src/workerthread.cpp b/src/ui/workerthread.cpp similarity index 100% rename from src/workerthread.cpp rename to src/ui/workerthread.cpp diff --git a/src/workerthread.h b/src/ui/workerthread.h similarity index 100% rename from src/workerthread.h rename to src/ui/workerthread.h diff --git a/src/yarpsupport.cpp b/src/ui/yarpsupport.cpp similarity index 100% rename from src/yarpsupport.cpp rename to src/ui/yarpsupport.cpp diff --git a/src/yarpsupport.h b/src/ui/yarpsupport.h similarity index 100% rename from src/yarpsupport.h rename to src/ui/yarpsupport.h