diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index d3c90c6fe899b6eba554eece8283f2829cd9faaf..7fc12e8b051d76854027631531e37eaf69db0fee 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -2,19 +2,23 @@ stages:
   - build
   - test
 
-cache:
-  paths:
-    - ./petrack.exe
-  key: ${CI_COMMIT_REF_SLUG}  # Cache for each branch
-
+before_script:
+  - $env:Path += ";C:\Program Files\CMake\bin"
 
 build_windows:
   stage: build
   tags:
     - windows
   script:
-    - C:\Qt\5.14.1\mingw73_64\bin\qmake.exe C:\Users\Deniz\Documents\petrack\petrack.pro -spec win32-g++ "CONFIG+=debug" "CONFIG+=qml_debug"
-    - mingw32-make.exe -j6
+    - mkdir -Force build
+    - cd build
+    - cmake -G"MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_UNIT_TESTS=TRUE ..
+    - cmake --build . -- -j6
+  artifacts:
+    paths:
+      - "./build/petrack.exe"
+      - "./build/tests/unit_test/petrack_tests.exe"
+    expire_in: 2 hrs 
 
 # Ggf. muss man nicht in den Ordner der Testskripte verzweigen, da PyTest auch rekusrsiv in Unterorndern nach tests sucht
 regression test windows:
@@ -31,3 +35,18 @@ regression test windows:
     reports:
       junit: "tests/regression_test/tests/pytest_report.xml"
   needs: ["build_windows"]
+
+unit test windows:
+  stage: test
+  tags:
+    - windows
+  script:
+    - cd build/tests/unit_test
+    - ./petrack_tests.exe -r junit -o unit_test_report.xml
+  artifacts:
+    when: always
+    paths:
+        - build/tests/unit_test/unit_test_report.xml
+    reports:
+      junit: "build/tests/unit_test/unit_test_report.xml"
+  needs: ["build_windows"]
diff --git a/3rdparty b/3rdparty
index b5c79279add9dba7f7fa17a81811bbe6214baa9d..9a2f13a0dd5400628d8b8432988d1506a83d07e9 160000
--- a/3rdparty
+++ b/3rdparty
@@ -1 +1 @@
-Subproject commit b5c79279add9dba7f7fa17a81811bbe6214baa9d
+Subproject commit 9a2f13a0dd5400628d8b8432988d1506a83d07e9
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..5a50000405a6b0349631c3bf64a176bc1b342413
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,307 @@
+cmake_minimum_required(VERSION 3.16)
+
+project(petrack LANGUAGES CXX)
+include(CMakeDependentOption)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+#**********************************************************
+# Qt and Misc Stuff                                       *
+#**********************************************************
+set(CMAKE_AUTOUIC ON)
+list(APPEND CMAKE_AUTOUIC_SEARCH_PATHS "${CMAKE_SOURCE_DIR}/ui" "./src")
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+
+set(CMAKE_CXX_STANDARD 14)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+find_package(
+  Qt5
+  COMPONENTS Widgets OpenGL Xml Core PrintSupport
+  REQUIRED)
+
+add_library(petrack_core STATIC)
+add_executable(petrack src/main.cpp)
+target_link_libraries(petrack PRIVATE petrack_core)
+target_link_libraries(petrack_core PUBLIC Qt5::Widgets Qt5::OpenGL Qt5::Xml Qt5::Core Qt5::PrintSupport)
+
+
+source_group(TREE .)
+
+#**********************************************************
+# Cache Variables                                         *
+#**********************************************************
+
+set(STEREO
+    FALSE
+    CACHE BOOL "Use Point Grey's Triclops SDK? (currently not supported)")
+
+set(AVI
+    FALSE
+    CACHE BOOL "Use Avi File from Point Grey (currently not supported)")
+
+set(QWT
+    TRUE
+    CACHE BOOL "Use Qwt (currently critical)")
+
+set(LIBELAS
+    TRUE
+    CACHE BOOL "Use Libelas")
+
+set(DISABLE_STEREO
+    TRUE
+    CACHE BOOL "Disable Stereo features (currently must be taken)")
+
+set(CVPATH
+    "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
+    CACHE
+    PATH
+    "Path to OpenCV installation (should usually not be needed to be changed)")
+
+set(QWTPATH
+    "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
+    CACHE PATH "Path to Qwt installation. Ususally shouln't be altered.")
+
+set(BUILD_UNIT_TESTS
+    OFF
+    CACHE BOOL "Whether to build or not to build Catch2 Unit Tests")
+
+cmake_dependent_option(BUILD_UNIT_TESTS_WITH_LLD
+    "Use -fuse-ld=lld flag for linking unit-tests (need lld to be installed)"
+    OFF
+    "BUILD_UNIT_TESTS" OFF)
+
+#*****************************************************************
+# APPLIES ALWAYS                                                 *
+#*****************************************************************
+target_compile_options(petrack_core PRIVATE "-fpermissive")
+target_compile_definitions(petrack_core PUBLIC STEREO_DISABLED)
+
+set(OpenCV_DIR "${CVPATH}")
+find_package(OpenCV REQUIRED)
+message("Building with OpenCV${OpenCV_VERSION_MAJOR}(${OpenCV_VERSION})")
+
+add_library(opencv INTERFACE IMPORTED)
+# Debug Version of slows our debug down to a unusable degree
+set_target_properties(${OpenCV_LIBS} PROPERTIES
+    MAP_IMPORTED_CONFIG_DEBUG RELEASE
+    MAP_IMPORTED_CONFIG_RELWITHDEBINFO RELEASE)
+
+target_link_libraries(petrack_core PUBLIC ${OpenCV_LIBS})
+
+target_include_directories(petrack_core PRIVATE "../ui")
+#*************************************************************
+# Handling of Options                                        *
+#*************************************************************
+
+
+if(BUILD_UNIT_TESTS)
+    enable_testing()
+    find_package(Qt5Test REQUIRED)
+    find_package(trompeloeil REQUIRED HINTS "./3rdparty/trompeloeil/lib/cmake/trompeloeil")
+    add_subdirectory(./tests/unit_test)
+    target_link_libraries(petrack_tests PRIVATE petrack_core)
+    add_subdirectory(./3rdparty/Catch2)
+    target_link_libraries(petrack_tests PRIVATE Catch2::Catch2 Qt5::Test trompeloeil)
+    target_include_directories(petrack_tests PRIVATE "${CMAKE_CURRENT_BINARY_DIR}/petrack_core_autogen/include")
+
+    if(BUILD_UNIT_TESTS_WITH_LLD)
+        target_compile_options(petrack_tests PRIVATE "-fuse-ld=lld")
+        target_link_options(petrack_tests PRIVATE "-fuse-ld=lld")
+    endif(BUILD_UNIT_TESTS_WITH_LLD)
+endif(BUILD_UNIT_TESTS)
+
+if(LIBELAS)
+  message("LIBELAS enabled!")
+  target_compile_definitions(petrack_core PRIVATE LIBELAS)
+  target_sources(petrack_core PRIVATE
+    src/libelas/elasDescriptor.cpp
+    src/libelas/elas.cpp
+    src/libelas/elasFilter.cpp
+    src/libelas/elasMatrix.cpp
+    src/libelas/elasTriangle.cpp
+  )
+endif(LIBELAS)
+
+
+if(QWT)
+  message("Qwt (analysis) enabled!")
+  # in qwt.../install steht, dass QWT_DLL gesetzt werden muss - insbesondere
+  # wegen debug/release mischungs problem
+  target_compile_definitions(
+    petrack_core PRIVATE
+    "QWT"
+    "QWT_DLL")
+  target_include_directories(petrack_core PUBLIC "${QWTPATH}/include")
+  target_link_directories(petrack_core PUBLIC "${QWTPATH}/lib")
+  target_link_libraries(petrack_core PUBLIC qwt$<$<CONFIG:Debug>:d>)
+  target_sources(petrack_core PRIVATE src/analysePlot.cpp)
+else()
+  message("Qwt disabled!")
+endif(QWT)
+
+
+if(AVI)
+  message("AVI enabled!")
+  target_compile_definitions(petrack_core PRIVATE AVI)
+  target_sources(petrack_core "src/aviFile.cpp")
+else()
+  target_sources(petrack_core PRIVATE "src/aviFileWriter.cpp")
+endif(AVI)
+
+
+# WIN32 steht für Windows allgemein, nicht nur 32Bit
+if(WIN32)
+  target_link_libraries(petrack_core PUBLIC psapi)
+endif(WIN32)
+
+#**************************************************************
+# SOURCES                                                     *
+#**************************************************************
+
+# An sich wäre nur target_include_diretories notwendig, aber AUTOUIC
+# sucht nur in target source nach, ob ein ui header included wurde.
+# Aus bequemlichkeit dann einfach alle aus der alten .pro rüberkopiert
+target_include_directories(petrack_core PUBLIC "./include")
+target_sources(petrack_core PRIVATE
+    include/petrack.h
+    include/helper.h
+    include/control.h
+    include/stereoWidget.h
+    include/colorRangeWidget.h
+    include/colorMarkerWidget.h
+    include/codeMarkerWidget.h
+    include/multiColorMarkerWidget.h
+    include/recognitionRoiItem.h
+    include/imageItem.h
+    include/logoItem.h
+    include/gridItem.h
+    include/coordItem.h
+    include/trackerItem.h
+    include/view.h
+    include/animation.h
+    include/player.h
+    include/vector.h
+    include/ellipse.h
+    include/markerCasern.h
+    include/markerJapan.h
+    include/markerHermes.h
+    include/markerColor.h
+    include/tracker.h
+    include/trackerReal.h
+    include/recognition.h
+    include/autoCalib.h
+    include/filter.h
+    include/brightContrastFilter.h
+    include/brightFilter.h
+    include/contrastFilter.h
+    include/blurFilter.h
+    include/borderFilter.h
+    include/backgroundFilter.h
+    include/calibFilter.h
+    include/calibStereoFilter.h
+    include/colorPlot.h
+    include/stereoItem.h
+    include/stereoContext.h
+    include/colorMarkerItem.h
+    include/codeMarkerItem.h
+    include/multiColorMarkerItem.h
+    include/backgroundItem.h
+    include/whitebalance.h
+    include/person.h
+    include/qtColorTriangle.h
+    include/swapFilter.h
+    include/extrCalibration.h
+    include/trackingRoiItem.h
+    include/analysePlot.h
+    )
+
+
+target_sources(petrack_core PRIVATE
+    src/helper.cpp
+    src/control.cpp
+    src/petrack.cpp
+    src/stereoWidget.cpp
+    src/colorRangeWidget.cpp
+    src/colorMarkerWidget.cpp
+    src/codeMarkerWidget.cpp
+    src/multiColorMarkerWidget.cpp
+    src/recognitionRoiItem.cpp
+    src/imageItem.cpp
+    src/logoItem.cpp
+    src/gridItem.cpp
+    src/coordItem.cpp
+    src/trackerItem.cpp
+    src/view.cpp
+    src/animation.cpp
+    src/player.cpp
+    src/vector.cpp
+    src/ellipse.cpp
+    src/markerCasern.cpp
+    src/markerHermes.cpp
+    src/markerJapan.cpp
+    src/markerColor.cpp
+    src/tracker.cpp
+    src/trackerReal.cpp
+    src/recognition.cpp
+    src/autoCalib.cpp
+    src/filter.cpp
+    src/brightContrastFilter.cpp
+    src/brightFilter.cpp
+    src/contrastFilter.cpp
+    src/blurFilter.cpp
+    src/borderFilter.cpp
+    src/backgroundFilter.cpp
+    src/calibFilter.cpp
+    src/calibStereoFilter.cpp
+    src/stereoContext.cpp
+    src/colorPlot.cpp
+    src/stereoItem.cpp
+    src/colorMarkerItem.cpp
+    src/codeMarkerItem.cpp
+    src/multiColorMarkerItem.cpp
+    src/backgroundItem.cpp
+    src/whitebalance.cpp
+    src/person.cpp
+    src/qtColorTriangle.cpp
+    src/swapFilter.cpp
+    src/extrCalibration.cpp
+    src/trackingRoiItem.cpp
+    ui/codeMarker.ui
+    ui/colorMarker.ui
+    ui/colorRange.ui
+    ui/multiColorMarker.ui
+    ui/stereo.ui
+    ui/control.ui
+)
+
+target_sources(petrack PRIVATE
+  petrack.rc
+  icons/icons.qrc)
+
+
+#*****************************************************************************
+# CODE AUS DER ALTEN .PRO DATEI, DER NOCH NICHT IN DIE CMAKE EINGEBAUT WURDE *
+#*****************************************************************************
+
+if(${STEREO})
+  # Should not happen at the moment Code below was at this point in .pro
+  # $$STEREO { !build_pass:message(Stereo enabled!) DEFINES += STEREO
+
+  # # fuer pgr stereo INCLUDEPATH += $${PGRPATH}/include QMAKE_LIBDIR +=
+  # $${PGRPATH}/bin LIBS += -L$${PGRPATH}/lib #LIBS += -ldl LIBS +=
+  # -ltriclops_v100 #LIBS += -lpnmutils } else { !build_pass:message(Stereo
+  # disabled!) }
+
+  # Auch das spielt hier eine Rolle:
+
+  # $$STEREO{ SOURCES += src/pgrAviFile.cpp HEADERS += include/pgrAviFile.h
+  # message("Include pgrAviFile") }else{ SOURCES += src/stereoAviFile.cpp
+  # HEADERS += include/stereoAviFile.h message("Include stereoAviFile") }
+endif(${STEREO})
+
+# Sollte das nicht eigentlich nur aktiv sein, wenn Stereo gesetzt wurde?
+
+# # fuer pgrAviFile win32:LIBS += -lavifil32 win32:LIBS += -lmsvfw32 win64:LIBS
+# += -lavifil32 win64:LIBS += -lmsvfw32
diff --git a/include/animation.h b/include/animation.h
index 7116a9aea295be26b867fcfbec7720f695b3c364..87a68a2052db2b9e3fcbd0249be2650a8ade21da 100644
--- a/include/animation.h
+++ b/include/animation.h
@@ -24,7 +24,7 @@ they can be represented in QT.
 #include <QTime>
 
 
-#include "opencv.hpp"
+#include "opencv2/opencv.hpp"
 
 #include "filter.h"
 #include "helper.h"
diff --git a/include/blurFilter.h b/include/blurFilter.h
index 05688b8f7a600f0e8851a0aab095184eb120aa68..65ffceca2e53be3702cf435e9c530aa419dcc01c 100644
--- a/include/blurFilter.h
+++ b/include/blurFilter.h
@@ -2,7 +2,7 @@
 #define BLURFILTER_H
 
 #include "filter.h"
-#include "opencv.hpp"
+#include "opencv2/opencv.hpp"
 
 class BlurFilter : public Filter
 {
diff --git a/include/calibFilter.h b/include/calibFilter.h
index 2aacde73e6413527adfdbb30afb84a0f7ae120d1..97c76f0754cbb4ef4af1ac3e2c3126e9bb7f4595 100644
--- a/include/calibFilter.h
+++ b/include/calibFilter.h
@@ -19,6 +19,8 @@ private:
     Parameter mK4;
     Parameter mK5;
     Parameter mK6;
+    cv::Mat map1;
+    cv::Mat map2;
 
 public:
     CalibFilter();
diff --git a/include/codeMarkerItem.h b/include/codeMarkerItem.h
index 0b3de32a522e1e2076b369d025cf3e3b6b3b9baa..350054f723760e965f478b4959a52b76fccd4714 100644
--- a/include/codeMarkerItem.h
+++ b/include/codeMarkerItem.h
@@ -15,8 +15,8 @@ private:
     Petrack *mMainWindow;
 //    QImage *mImage;
 
-    vector<int> mIds;
-    vector<vector<cv::Point2f> > mCorners, mRejected;
+    std::vector<int> mIds;
+    std::vector<std::vector<cv::Point2f> > mCorners, mRejected;
     Vec2F mUlc;  // upper left corner to draw
 
 public:
@@ -24,8 +24,8 @@ public:
     QRectF boundingRect() const;
     void setRect(Vec2F& v);
     void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
-    void setDetectedMarkers(vector<vector<cv::Point2f> > corners, vector<int> ids);
-    void setRejectedMarkers(vector<vector<cv::Point2f> > rejected);
+    void setDetectedMarkers(std::vector<std::vector<cv::Point2f> > corners, std::vector<int> ids);
+    void setRejectedMarkers(std::vector<std::vector<cv::Point2f> > rejected);
 };
 
 #endif
diff --git a/include/codeMarkerWidget.h b/include/codeMarkerWidget.h
index accaf91c734644d475976f35f1b1aaf0d88feb53..fded7a1e8b15c3a77f4b6e1ea0c3365215614f2f 100644
--- a/include/codeMarkerWidget.h
+++ b/include/codeMarkerWidget.h
@@ -2,7 +2,7 @@
 #define CODEMARKERWIDGET_H
 
 #include <QtWidgets>
-#include <aruco.hpp>
+#include "opencv2/aruco.hpp"
 
 #include "ui_codeMarker.h"
 
diff --git a/include/colorPlot.h b/include/colorPlot.h
index e3209e238bc4d2caf8d134be7b3bb39424c1fc84..b59fac8439fc44339c8f9c925d1351aec58e7955 100644
--- a/include/colorPlot.h
+++ b/include/colorPlot.h
@@ -48,27 +48,27 @@ public:
         : mColored(true), mMapHeight(DEFAULT_HEIGHT), mInversHue(false)
     {
         setRect(0., 0., 0., 0.);
-        mFromCol.convertTo(QColor::Hsv);
-        mToCol.convertTo(QColor::Hsv);
+        mFromCol = mFromCol.toHsv();
+        mToCol = mToCol.toHsv();
     }
     RectMap(QRectF r)
         : QRectF(r), mInversHue(false)
     {
         setRect(0., 0., 0., 0.);
-        mFromCol.convertTo(QColor::Hsv);
-        mToCol.convertTo(QColor::Hsv);
+        mFromCol = mFromCol.toHsv();
+        mToCol = mToCol.toHsv();
     }
     RectMap(double x, double y, double w, double h, bool colored, double mapHeight)
         : QRectF(x, y, w, h), mColored(colored), mMapHeight(mapHeight), mInversHue(false)
     {
-        mFromCol.convertTo(QColor::Hsv);
-        mToCol.convertTo(QColor::Hsv);
+        mFromCol = mFromCol.toHsv();
+        mToCol =mToCol.toHsv();
     }
     RectMap(QRectF r, bool colored, double mapHeight)
         : QRectF(r), mColored(colored), mMapHeight(mapHeight), mInversHue(false)
     {
-        mFromCol.convertTo(QColor::Hsv);
-        mToCol.convertTo(QColor::Hsv);
+        mFromCol = mFromCol.toHsv();
+        mToCol = mToCol.toHsv();
     }
     inline bool colored() const
     {
@@ -134,6 +134,9 @@ public:
     void changeActMapInvHue(bool b);
     void changeActMapFromColor(const QColor &fromCol);
     void changeActMapToColor(const QColor &toCol);
+    bool getActMapInvHue();
+    QColor getActMapToColor();
+    QColor getActMapFromColor();
     RectMap getMap(int index) const;
     void delMap(int index);
     inline void delMaps()
diff --git a/include/colorRangeWidget.h b/include/colorRangeWidget.h
index 8c16c9104744dd8e82b869a4b3af291b6336c0ae..ce8c747b2795eef30b701d58480d0c5c74e9318a 100644
--- a/include/colorRangeWidget.h
+++ b/include/colorRangeWidget.h
@@ -24,6 +24,7 @@ public:
     void setInvHue(bool b);
     void setFromColor(const QColor &col);
     void setToColor(const QColor &col);
+    void setControlWidget(int toHue, int fromHue, int toSat, int fromSat);
 
 private slots:
 
@@ -38,7 +39,7 @@ private slots:
 
 private:
 
-    void setControlWidget();
+
 
     Petrack *mMainWindow;
     ColorPlot *mColorPlot;
diff --git a/include/control.h b/include/control.h
index a0650c6480232b1e7bad63c8c18af5e3a7b55bd0..58e3e1149c7a3f6cb085a97c10580aaddd2a6d40 100644
--- a/include/control.h
+++ b/include/control.h
@@ -170,6 +170,10 @@ public:
     int getCalibGrid3DResolution();
     void setCalibGrid3DResolution(int i);
 
+    void expandRange(QColor& fromColor, QColor& toColor, const std::array<int, 3>& clickedColor);
+    void saveChange(const QColor& fromColor, const QColor& toColor, RectPlotItem* map);
+    bool getColors(QPoint& p, GraphicsView* graphicsView, std::array<int, 3>& clickedColor, QColor& toColor, QColor& fromColor, RectPlotItem*& map);
+
     void setXml(QDomElement &elem);
     void getXml(QDomElement &elem);
     bool isLoading()
@@ -239,6 +243,9 @@ private slots:
     void on_mapResetHeight_clicked();
     void on_mapResetPos_clicked();
     void on_mapDefaultHeight_valueChanged(double d);
+    void on_expandColor(QPoint p, GraphicsView* graphicsView);
+    void on_setColor(QPoint, GraphicsView*);
+
 
     void on_trackShow_stateChanged(int i);
     void on_trackFix_stateChanged(int i);
@@ -399,6 +406,8 @@ private slots:
 
     //void on_trackExport_released();
 
+    void on_colorPickerButton_clicked(bool checked);
+
 private:
     Petrack *mMainWindow;
     QGraphicsScene *mScene;
diff --git a/include/ellipse.h b/include/ellipse.h
index 240f51e2747d30970d91a76d52f989d1677008ca..94978c97afcdf87b37f1ebfe8405f79219bff362 100644
--- a/include/ellipse.h
+++ b/include/ellipse.h
@@ -2,7 +2,7 @@
 #define ELLIPSE_H
 
 
-#include "opencv.hpp"
+#include "opencv2/opencv.hpp"
 
 #include "vector.h"
 
diff --git a/include/helper.h b/include/helper.h
index 8496c743b0c0c762af672c8d8ef7afce8c4cc786..8f72bde6b6aba9cc3cfcc8b6c3388d62ce3c8f58 100644
--- a/include/helper.h
+++ b/include/helper.h
@@ -18,14 +18,13 @@ extern QString commandLineOptionsString;
 #ifdef QT_NO_DEBUG_OUTPUT
     #define debout //
 #else
-    #define debout cout << __func__ << " in " << __FILE__ << " line " << __LINE__ << ": "
+    #define debout std::cout << __func__ << " in " << __FILE__ << " line " << __LINE__ << ": "
 #endif
 
 #include <iostream>
-using namespace std;
 
 #include <QString>
-inline ostream& operator<<(ostream& s, const QString& t)
+inline std::ostream& operator<<(std::ostream& s, const QString& t)
 {
     s << t.toStdString();
     return s;
@@ -157,7 +156,7 @@ inline QColor getValue(const cv::Mat &img ,int x, int y)
 //     s << "RGB "<< col.red() << " " << col.green() << " " << col.blue() << " / HSV " << col.hue() << " " << col.saturation() << " " << col.value();
 //     return s;
 // }
-inline ostream& operator<<(ostream& s, const QColor& col)
+inline std::ostream& operator<<(std::ostream& s, const QColor& col)
 {
     if (col.isValid())
         s << col.red() << " " << col.green() << " " << col.blue();
diff --git a/include/petrack.h b/include/petrack.h
index e9b74b3083c0fb8975455bd22d22ec93046bb8de..510980f0f8b26b1cd042db4db0302e56caa41d0b 100644
--- a/include/petrack.h
+++ b/include/petrack.h
@@ -7,7 +7,7 @@
 #include <QMouseEvent>
 
 
-#include <opencv.hpp>
+#include "opencv2/opencv.hpp"
 //#include "opencv2/cxcore.h"
 //#include "opencv2/cvaux.h"
 //#include "opencv2/opencv.hpp"
diff --git a/include/player.h b/include/player.h
index 764fb16891f58a96c17054a53065aece8a06cdc7..fc481e6ea3a27d5aa93ec7c80a99788fcbcea7dd 100644
--- a/include/player.h
+++ b/include/player.h
@@ -10,7 +10,7 @@
 #include "aviFileWriter.h"
 #endif
 
-#include "opencv.hpp"
+#include "opencv2/opencv.hpp"
 
 class QLabel;
 class QSlider;
diff --git a/include/tracker.h b/include/tracker.h
index 534f3203179e04fec5f4af48d9e12e688b33e22f..ec4a5df5d8582bd03f15791c2bc16bc2afeb5fa6 100644
--- a/include/tracker.h
+++ b/include/tracker.h
@@ -171,7 +171,7 @@ inline QTextStream& operator<<(QTextStream& s, const TrackPoint& tp)
         s << tp.x() << " " << tp.y() << " " << tp.qual() << " " << tp.colPoint().x() << " " << tp.colPoint().y() << " " << tp.color();
     return s;
 }
-inline ostream& operator<<(ostream& s, const TrackPoint& tp)
+inline std::ostream& operator<<(std::ostream& s, const TrackPoint& tp)
 {
     if (Petrack::trcVersion > 2)
         s << tp.x() << " " << tp.y() << " " << tp.sp().x() << " " << tp.sp().y() << " " << tp.sp().z() << " " << tp.qual() << " " << tp.colPoint().x() << " " << tp.colPoint().y() << " " << tp.color() << " " << tp.markerID();
@@ -385,7 +385,7 @@ inline QTextStream& operator<<(QTextStream& s, const TrackPerson& tp)
     return s;
 }
 
-inline ostream& operator<<(ostream& s, const TrackPerson& tp)
+inline std::ostream& operator<<(std::ostream& s, const TrackPerson& tp)
 {
     s << tp.nr() << " " << tp.height() << " " << tp.firstFrame() << " " << tp.lastFrame() << " " << tp.colCount() << " " << tp.color() << " " << tp.size() << endl;
     s << tp.comment() << endl;
@@ -414,15 +414,15 @@ private:
     cv::Mat mGrey, mPrevGrey;//, mPyramid, mPrevPyramid;
 //    IplImage *mGrey, *mPrevGrey, *mPyramid, *mPrevPyramid;
 //    CvPoint2D32f* mPrevFeaturePoints, *mFeaturePoints;
-    vector<cv::Point2f> mPrevFeaturePoints, mFeaturePoints;
+    std::vector<cv::Point2f> mPrevFeaturePoints, mFeaturePoints;
 //    CvPoint2D32f* mPrevColorFeaturePoints, *mColorFeaturePoints;
-    vector<uchar> mStatus; //, *mColorStatus;
+    std::vector<uchar> mStatus; //, *mColorStatus;
     int mFlags;
     int mPrevFrame;
 //     IplImage *mPrevImg;
 //    int *mPrevFeaturePointsIdx;
-    vector<int> mPrevFeaturePointsIdx;
-    vector<float> mTrackError; //, *mColorTrackError;
+    std::vector<int> mPrevFeaturePointsIdx;
+    std::vector<float> mTrackError; //, *mColorTrackError;
 //    CvTermCriteria mTermCriteria;
     cv::TermCriteria mTermCriteria;
 
diff --git a/include/vector.h b/include/vector.h
index 5cb0682ef9d9f05dfc2bf9e679736a8851fa4224..a55688056458015b16d007238d1d68f7d8a55bbe 100644
--- a/include/vector.h
+++ b/include/vector.h
@@ -89,7 +89,7 @@ inline Vec3F operator*(double f, const Vec3F& v)
     return v*f;
 }
 
-inline ostream& operator<< (ostream& s, const Vec3F& v)
+inline std::ostream& operator<< (std::ostream& s, const Vec3F& v)
 {
     s << "(" << v.x() << ", " << v.y() << ", " << v.z() << ")";
     return s;
@@ -160,7 +160,7 @@ inline Vec2F operator*(double f, const Vec2F& v)
     return v*f;
 }
 
-inline ostream& operator<< (ostream& s, const Vec2F& v)
+inline std::ostream& operator<< (std::ostream& s, const Vec2F& v)
 {
     s << "(" << v.x() << ", " << v.y() << ")";
     return s;
@@ -172,7 +172,7 @@ inline QTextStream& operator<< (QTextStream& s, const Vec2F& v)
     s << v.x() << " " << v.y(); // ohne (,) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     return s;
 }
-inline istream& operator>> (istream& s, Vec2F& v)
+inline std::istream& operator>> (std::istream& s, Vec2F& v)
 {
     double d;
     s >> d; 
diff --git a/include/view.h b/include/view.h
index 41f268f0363411bc029b6056a67c249fb313a6cd..43d9df8ec2102c29d306792b22228459ac70bb69 100644
--- a/include/view.h
+++ b/include/view.h
@@ -27,6 +27,7 @@ public:
     void mouseDoubleClickEvent(QMouseEvent *event);
     //void mouseReleaseEvent(QMouseEvent *event);
     void keyPressEvent(QKeyEvent *event);
+    void mousePressEvent(QMouseEvent *event) override;
 
 signals:
     void mouseDoubleClick();
@@ -36,6 +37,8 @@ signals:
     void mouseRightDoubleClick(QPointF pos, int direction);
     void mouseMiddleDoubleClick(int direction);
     void mouseShiftWheel(int delta);
+    void colorSelected(QPoint p, GraphicsView* graphicsView);
+    void setColorEvent(QPoint p, GraphicsView* graphicsView);
     //void mouseRightClick(QPointF pos);
 };
 
diff --git a/petrack.pro b/petrack.pro
deleted file mode 100644
index 9e60d3f865c2f8056e05f765750832fa15cb20da..0000000000000000000000000000000000000000
--- a/petrack.pro
+++ /dev/null
@@ -1,747 +0,0 @@
-# wichtig: gelinkte dynamische libraries muessen auch in PATH liegen (Systemsteuerung...), sonst kommt aufruf direkt zurueck - cygwin neu starten!!!
-# welche dll bei Aufruf genommen werden koennen ueber Programm DEPENDENCY WALKER herausbekommen werden
-
-# um eine .pro Datei fuer mehrere Rechner nutzen zu koennen
-# die Variable hostname muss auf rechner von console einmalig mit "qmake -set hostname zam852" gesetzt werden (Abfrage aller Var mit qmake -query)
-# hostname = $$[hostname]
-hostname = $$system(hostname)
-unix:hostname = $${QMAKE_HOST.name}
-message($${hostname})
-!build_pass:message(Generating Makefile for ($$hostname)!)
-
-TEMPLATE = app
-CONFIG += console # noetig, damit stdout angezeigt wird
-#CONFIG += debug_and_release # scheint default zu sein!!! build_all
-#CONFIG += build_all
-
-QT += opengl # // wenn opengl widget etc genutzt werden soll
-# opengl qt warn_on
-QT += xml # // wenn xml benoetigt werden soll
-QT += core
-#QT += gui
-QT += widgets
-QT += printsupport
-
-# windows - The target is a Win32 window application (app only). The proper include paths,compiler flags and libraries will automatically be added to the project.
-# console - The target is a Win32 console application (app only). The proper include paths, compiler flags and libraries will automatically be added to the project.
-# dll - The target is a shared object/DLL.The proper include paths, compiler flags and libraries will automatically be added to the project.
-# staticlib - The target is a static library (lib only). The proper compiler flags will automatically be added to the project.
-
-TARGET = petrack
-INCLUDEPATH += include
-# default settings:
-STEREO = false # true / false
-AVI = false # true / false
-QWT = true # true / false
-LIBELAS = true
-
-contains(hostname, [zZ][aA][mM]852) {
-#Hermes rechner #########################################################################################
-  STEREO = false # true / false
-  DEFINES += STEREO_DISABLED
-  AVI = true # true / false
-  #CVPATH = "C:/OpenCV-2.2.0/bin"
-  CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-  CVVERSION = "240"
-  LIBS += -llibopencv_core$${CVVERSION} -llibopencv_highgui$${CVVERSION} -llibopencv_imgproc$${CVVERSION} -llibopencv_calib3d$${CVVERSION} -llibopencv_video$${CVVERSION} -llibopencv_legacy$${CVVERSION} # -lcv$${CVVERSION} -lcvaux$${CVVERSION}
-#  CVPATH = "C:/Programme/OpenCV1.2"
-#  CVVERSION = "120"
-#  CVPATH = "C:/OpenCV2.1"
-#  CVVERSION = "210"
-#  QWTPATH = "C:/Programme/qwt-5.2.0"
-  QWTPATH = "C:/Qwt-5.2.0"
-  PGRPATH = "C:/Programme/Point Grey Research/Triclops Stereo Vision SDK"
-  # noetig fuer qt 5 um u.a. qprinter zu finden
-  QT += printsupport
-QMAKE_CXXFLAGS += -fpermissive
-
-} else:contains(hostname, [zZ][aA][mM]460) {  #.zam.kfa-juelich.de
-# Mac Maik #########################################################################################
-  QMAKE_MAC_SDK = macosx10.12
-  #CVVERSION = ""
-  CVVERSION = "420"
-  CV_MAJOR_VERSION = "4"
-
-  #AVI = true # false
-
-  QWTPATH = "/Users/boltes/Applications/qwt-6.1.3/build-qwt-Desktop_Qt_5_7_0_clang_64bit2-Release/lib/qwt.framework/Versions/6"
-  INCLUDEPATH += $${QWTPATH}/Headers
-  LIBS += -L$${QWTPATH}/
-  # spaeter:
-  # install_name_tool -change qwt.framework/Versions/6/qwt /Users/boltes/Applications/qwt-6.1.3/build-qwt-Desktop_Qt_5_7_0_clang_64bit2-Release/lib/qwt.framework/Versions/6/qwt ./petrack.app/Contents/MacOS/petrack
-
-  QMAKE_LFLAGS += -F/Users/boltes/Applications/qwt-6.1.3/build-qwt-Desktop_Qt_5_7_0_clang_64bit2-Release/lib
-  #LIBS += -framework qwt
-
-  #CVPATH = "/Users/boltes/Applications/opencv-3.1.0/release"
-  CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0"
-
-  #INCLUDEPATH += /usr/local/include
-  #INCLUDEPATH += /usr/local/include/opencv
-  #INCLUDEPATH += /usr/local/include/opencv2
-  INCLUDEPATH += $${CVPATH}/include/
-  INCLUDEPATH += $${CVPATH}/include/opencv
-  INCLUDEPATH += $${CVPATH}/include/opencv2
-  #INCLUDEPATH += /usr/local/Cellar/opencv3/3.1.0_3/include/
-
-  #PGRPATH = "/home/zam/salden/libs/Triclops/release"
-  LIBS += -lopencv_core \
-          -lopencv_highgui \
-          -lopencv_imgproc \
-          -lopencv_calib3d \
-          -lopencv_imgcodecs \
-          -lopencv_videoio \
-          -lopencv_video #\
-       #   -l opencv_ffmpeg \
-       #   -lopencv_legacy
-QMAKE_CXXFLAGS += -fpermissive
-} else:contains(hostname, arne-laptop) {
-# Laptop Daniel ##########################################################################################
-  STEREO = false # true / false
-  DEFINES += STEREO_DISABLED
-
-  #PGRPATH = "C:/Program Files/Point Grey Research/Triclops Stereo Vision SDK"
-
-  CONFIG(debug, debug|release) {
-      # only debug
-        PGRPATH = "../trunk/3rdparty/windows/triclops-3.4"
-        CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-        QWTPATH = "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
-
-    } else {
-        # only release
-        PGRPATH = "../trunk/3rdparty/windows/triclops-3.4"
-        CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-        QWTPATH = "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
-    }
-  #CVPATH = "%OPENCV_DIR%"
-  #CVPATH = "C:\Program Files (x86)\OpenCV\3.0.0\build4qt5\install"
-  CVVERSION = "420"
-  CV_MAJOR_VERSION = "4"
-
-  # to switch between version 2.4.10 and 3.0.0 you have to update your OPENCV_DIR environment variable to the specific path
-
-  #CVPATH = "C:/Program Files (x86)/OpenCV/2.4.10/build"
-  #CVVERSION = "2410"
-
-  INCLUDEPATH += $${CVPATH}/include
-  INCLUDEPATH += $${CVPATH}/include/opencv
-  INCLUDEPATH += $${CVPATH}/include/opencv2
-
-  #QWTPATH = "C:/Program Files (x86)/Qwt/Qwt-5.2.3"
-  #QWTPATH = "C:\Qwt-6.1.2"
-  INCLUDEPATH += $${QWTPATH}/include
-
-
-  #STEREO = false # true / false
-  AVI = false # true / false
-  #QWT = false # true / false
-  #LIBELAS = false
-
-  # fuer 64 bit -lopencv_ffmpeg_64
-  LIBS += -L$${CVPATH}/x64/mingw/bin \
-          -lopencv_core$${CVVERSION} \
-          -lopencv_highgui$${CVVERSION} \
-          -lopencv_imgproc$${CVVERSION} \
-          -lopencv_calib3d$${CVVERSION} \
-          -lopencv_video$${CVVERSION} \
-          -lopencv_videoio_ffmpeg$${CVVERSION}_64\
-          -lopencv_aruco$${CVVERSION} \
-          -lopencv_videoio$${CVVERSION} \
-          -lopencv_imgcodecs$${CVVERSION}
-  # QMAKE_CXXFLAGS += -march=i686
-QMAKE_CXXFLAGS += -fpermissive
-
-} else:contains(hostname, [zZ][aA][mM]197) {
-# Laptop Daniel ##########################################################################################
-  STEREO = false # true / false
-  DEFINES += STEREO_DISABLED
-
-  #PGRPATH = "C:/Program Files/Point Grey Research/Triclops Stereo Vision SDK"
-
-  CONFIG(debug, debug|release) {
-      # only debug
-        PGRPATH = "../trunk/3rdparty/windows/triclops-3.4"
-        CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-        QWTPATH = "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
-
-    } else {
-        # only release
-        PGRPATH = "../trunk/3rdparty/windows/triclops-3.4"
-        CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-        QWTPATH = "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
-    }
-  #CVPATH = "%OPENCV_DIR%"
-  #CVPATH = "C:\Program Files (x86)\OpenCV\3.0.0\build4qt5\install"
-  CVVERSION = "420"
-  CV_MAJOR_VERSION = "4"
-
-  # to switch between version 2.4.10 and 3.0.0 you have to update your OPENCV_DIR environment variable to the specific path
-
-  #CVPATH = "C:/Program Files (x86)/OpenCV/2.4.10/build"
-  #CVVERSION = "2410"
-
-  INCLUDEPATH += $${CVPATH}/include
-  INCLUDEPATH += $${CVPATH}/include/opencv
-  INCLUDEPATH += $${CVPATH}/include/opencv2
-
-  #QWTPATH = "C:/Program Files (x86)/Qwt/Qwt-5.2.3"
-  #QWTPATH = "C:\Qwt-6.1.2"
-  INCLUDEPATH += $${QWTPATH}/include
-
-
-  #STEREO = false # true / false
-  AVI = false # true / false
-  #QWT = false # true / false
-  #LIBELAS = false
-
-  # fuer 64 bit -lopencv_ffmpeg_64
-  LIBS += -L$${CVPATH}/x64/mingw/bin \
-          -lopencv_core$${CVVERSION} \
-          -lopencv_highgui$${CVVERSION} \
-          -lopencv_imgproc$${CVVERSION} \
-          -lopencv_calib3d$${CVVERSION} \
-          -lopencv_video$${CVVERSION} \
-          -lopencv_videoio_ffmpeg$${CVVERSION}_64\
-          -lopencv_aruco$${CVVERSION} \
-          -lopencv_videoio$${CVVERSION} \
-          -lopencv_imgcodecs$${CVVERSION}
-  # QMAKE_CXXFLAGS += -march=i686
-QMAKE_CXXFLAGS += -fpermissive
-
-} else:contains(hostname, ias7185) {
-  # imotion laptop
-  DEFINES += STEREO_DISABLED
-
-  # PointGray
-  PGRPATH = "../petrack/3rdparty/windows/triclops-3.4"
-  #PGRPATH = "C:/Program Files (x86)/Point Grey Research/Triclops Stereo Vision SDK"
-  # OpenCV
-  #CVPATH = "C:/OpenCV/opencv300/build/install"
-  #CVPATH = "3rdparty/windows/opencv-3.1.0"
-  CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-  CVVERSION = "420"
-  CV_MAJOR_VERSION = "4"
-
-  # to switch between version 2.4.10 and 3.0.0 you have to update your OPENCV_DIR environment variable to the specific path
-
-  INCLUDEPATH += $${CVPATH}/include
-  INCLUDEPATH += $${CVPATH}/include/opencv
-  INCLUDEPATH += $${CVPATH}/include/opencv2
-
-  QWTPATH = "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
-  #QWTPATH = "D:/petrack/trunk/3rdparty/windows/qwt-6.1.2"
-  INCLUDEPATH += $${QWTPATH}/include
-
-  STEREO = false # true / false
-  AVI = false # true / false
-  #QWT = false # true / false
-  #LIBELAS = false
-
-  # fuer 64 bit -lopencv_ffmpeg_64
-  LIBS += -L$${CVPATH}/x64/mingw/bin \
-          -lopencv_core$${CVVERSION} \
-          -lopencv_highgui$${CVVERSION} \
-          -lopencv_imgproc$${CVVERSION} \
-          -lopencv_calib3d$${CVVERSION} \
-          -lopencv_video$${CVVERSION} \
-          -lopencv_videoio_ffmpeg$${CVVERSION}_64\
-          -lopencv_aruco$${CVVERSION} \
-          -lopencv_videoio$${CVVERSION} \
-          -lopencv_imgcodecs$${CVVERSION}
-  # QMAKE_CXXFLAGS += -march=i686
-QMAKE_CXXFLAGS += -fpermissive
-
-} else:contains(hostname, ias7176) {
-  # Deniz 32-Bit
-  DEFINES += STEREO_DISABLED
-
-  # PointGray
-  PGRPATH = "../petrack/3rdparty/windows/triclops-3.4"
-  #PGRPATH = "C:/Program Files (x86)/Point Grey Research/Triclops Stereo Vision SDK"
-  # OpenCV
-  #CVPATH = "C:/OpenCV/opencv300/build/install"
-  #CVPATH = "3rdparty/windows/opencv-3.1.0"
-  CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-  CVVERSION = "420"
-  CV_MAJOR_VERSION = "4"
-
-  # to switch between version 2.4.10 and 3.0.0 you have to update your OPENCV_DIR environment variable to the specific path
-
-  INCLUDEPATH += $${CVPATH}/include
-  INCLUDEPATH += $${CVPATH}/include/opencv
-  INCLUDEPATH += $${CVPATH}/include/opencv2
-
-  QWTPATH = "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
-  #QWTPATH = "D:/petrack/trunk/3rdparty/windows/qwt-6.1.2"
-  INCLUDEPATH += $${QWTPATH}/include
-
-  STEREO = false # true / false
-  AVI = false # true / false
-  #QWT = false # true / false
-  #LIBELAS = false
-
-
-
-#  CONFIG(debug, debug|release){
-#      # fuer 64 bit -lopencv_ffmpeg_64
-#      LIBS += -L$${CVPATH}/x64/mingw/bin \
-#              -lopencv_core$${CVVERSION}d \
-#              -lopencv_highgui$${CVVERSION}d \
-#              -lopencv_imgproc$${CVVERSION}d \
-#              -lopencv_calib3d$${CVVERSION}d \
-#              -lopencv_video$${CVVERSION}d \
-#              -lopencv_videoio_ffmpeg$${CVVERSION}_64\
-#              -lopencv_aruco$${CVVERSION}d \
-#              -lopencv_videoio$${CVVERSION}d \
-#              -lopencv_imgcodecs$${CVVERSION}d
-#      # QMAKE_CXXFLAGS += -march=i686
-#  } else{
-      # fuer 64 bit -lopencv_ffmpeg_64
-      LIBS += -L$${CVPATH}/x64/mingw/bin \
-              -lopencv_core$${CVVERSION} \
-              -lopencv_highgui$${CVVERSION} \
-              -lopencv_imgproc$${CVVERSION} \
-              -lopencv_calib3d$${CVVERSION} \
-              -lopencv_video$${CVVERSION} \
-              -lopencv_videoio_ffmpeg$${CVVERSION}_64\
-              -lopencv_aruco$${CVVERSION} \
-              -lopencv_videoio$${CVVERSION} \
-              -lopencv_imgcodecs$${CVVERSION}
-      ## QMAKE_CXXFLAGS += -march=i686
-QMAKE_CXXFLAGS += -fpermissive
-#  }
-
-} else:contains(hostname, ias7171) {
-  # Ann Katrin 32-Bit
-  DEFINES += STEREO_DISABLED
-
-  # PointGray
-  PGRPATH = "../petrack/3rdparty/windows/triclops-3.4"
-  #PGRPATH = "C:/Program Files (x86)/Point Grey Research/Triclops Stereo Vision SDK"
-  # OpenCV
-  #CVPATH = "C:/OpenCV/opencv300/build/install"
-  #CVPATH = "3rdparty/windows/opencv-3.1.0"
-  CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-  CVVERSION = "420"
-  CV_MAJOR_VERSION = "4"
-
-  # to switch between version 2.4.10 and 3.0.0 you have to update your OPENCV_DIR environment variable to the specific path
-
-  INCLUDEPATH += $${CVPATH}/include
-  INCLUDEPATH += $${CVPATH}/include/opencv
-  INCLUDEPATH += $${CVPATH}/include/opencv2
-
-  QWTPATH = "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
-  #QWTPATH = "D:/petrack/trunk/3rdparty/windows/qwt-6.1.2"
-  INCLUDEPATH += $${QWTPATH}/include
-
-  STEREO = false # true / false
-  AVI = false # true / false
-  #QWT = false # true / false
-  #LIBELAS = false
-
-  # fuer 64 bit -lopencv_ffmpeg_64
-  LIBS += -L$${CVPATH}/x64/mingw/bin \
-          -lopencv_core$${CVVERSION} \
-          -lopencv_highgui$${CVVERSION} \
-          -lopencv_imgproc$${CVVERSION} \
-          -lopencv_calib3d$${CVVERSION} \
-          -lopencv_video$${CVVERSION} \
-          -lopencv_videoio_ffmpeg$${CVVERSION}_64\
-          -lopencv_aruco$${CVVERSION} \
-          -lopencv_videoio$${CVVERSION} \
-          -lopencv_imgcodecs$${CVVERSION}
-  # QMAKE_CXXFLAGS += -march=i686
-QMAKE_CXXFLAGS += -fpermissive
-
-}else:contains(hostname, ias7160) {
-  # Test Laptop 32-Bit
-  DEFINES += STEREO_DISABLED
-
-  # PointGray
-  PGRPATH = "../petrack/3rdparty/windows/triclops-3.4"
-  #PGRPATH = "C:/Program Files (x86)/Point Grey Research/Triclops Stereo Vision SDK"
-  # OpenCV
-  #CVPATH = "C:/OpenCV/opencv300/build/install"
-  #CVPATH = "3rdparty/windows/opencv-3.1.0"
-  CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-  CVVERSION = "420"
-  CV_MAJOR_VERSION = "4"
-
-  # to switch between version 2.4.10 and 3.0.0 you have to update your OPENCV_DIR environment variable to the specific path
-
-  INCLUDEPATH += $${CVPATH}/include
-  INCLUDEPATH += $${CVPATH}/include/opencv
-  INCLUDEPATH += $${CVPATH}/include/opencv2
-
-  QWTPATH = "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
-  #QWTPATH = "D:/petrack/trunk/3rdparty/windows/qwt-6.1.2"
-  INCLUDEPATH += $${QWTPATH}/include
-
-  STEREO = false # true / false
-  AVI = false # true / false
-  #QWT = false # true / false
-  #LIBELAS = false
-
-  # fuer 64 bit -lopencv_ffmpeg_64
-  LIBS += -L$${CVPATH}/x64/mingw/bin \
-          -lopencv_core$${CVVERSION} \
-          -lopencv_highgui$${CVVERSION} \
-          -lopencv_imgproc$${CVVERSION} \
-          -lopencv_calib3d$${CVVERSION} \
-          -lopencv_video$${CVVERSION} \
-          -lopencv_videoio_ffmpeg$${CVVERSION}_64\
-          -lopencv_aruco$${CVVERSION} \
-          -lopencv_videoio$${CVVERSION} \
-          -lopencv_imgcodecs$${CVVERSION}
-  # QMAKE_CXXFLAGS += -march=i686
-QMAKE_CXXFLAGS += -fpermissive
-
-}else:contains(hostname, ias7169) {
-  # Deniz Laptop
-  DEFINES += STEREO_DISABLED
-
-  # PointGray
-  PGRPATH = "../petrack/3rdparty/windows/triclops-3.4"
-  #PGRPATH = "C:/Program Files (x86)/Point Grey Research/Triclops Stereo Vision SDK"
-  # OpenCV
-  #CVPATH = "C:/OpenCV/opencv300/build/install"
-  #CVPATH = "3rdparty/windows/opencv-3.1.0"
-  CVPATH = "../petrack/3rdparty/windows/opencv-4.2.0_64bit"
-  CVVERSION = "420"
-  CV_MAJOR_VERSION = "4"
-
-  # to switch between version 2.4.10 and 3.0.0 you have to update your OPENCV_DIR environment variable to the specific path
-
-  INCLUDEPATH += $${CVPATH}/include
-  INCLUDEPATH += $${CVPATH}/include/opencv
-  INCLUDEPATH += $${CVPATH}/include/opencv2
-
-  QWTPATH = "../petrack/3rdparty/windows/Qwt-6.1.4_64bit"
-  #QWTPATH = "D:/petrack/trunk/3rdparty/windows/qwt-6.1.2"
-  INCLUDEPATH += $${QWTPATH}/include
-
-  STEREO = false # true / false
-  AVI = false # true / false
-  #QWT = false # true / false
-  #LIBELAS = false
-
-  # fuer 64 bit -lopencv_ffmpeg_64
-  LIBS += -L$${CVPATH}/x64/mingw/bin \
-          -lopencv_core$${CVVERSION} \
-          -lopencv_highgui$${CVVERSION} \
-          -lopencv_imgproc$${CVVERSION} \
-          -lopencv_calib3d$${CVVERSION} \
-          -lopencv_video$${CVVERSION} \
-          -lopencv_videoio_ffmpeg$${CVVERSION}_64\
-          -lopencv_aruco$${CVVERSION} \
-          -lopencv_videoio$${CVVERSION} \
-          -lopencv_imgcodecs$${CVVERSION}
-  # QMAKE_CXXFLAGS += -march=i686
-QMAKE_CXXFLAGS += -fpermissive
-
-}else {
-  message(Host unknown for configuration!)
-}
-
-# OPENCV #########################################################################################################################
-
-#Betriebssystemweiche
-win32 {
-     message("Build for Windows.")
-     DEFINES += WINDOWS
-     INCLUDEPATH += $${CVPATH}/include
-     INCLUDEPATH += $${CVPATH}/include/opencv
-     INCLUDEPATH += $${CVPATH}/include/opencv2
-     QMAKE_LIBDIR += $${CVPATH}/bin
-     QMAKE_LIBDIR += $${CVPATH}/x86/mingw/bin
-
-}
-macx {
-     message("Build for Mac.")
-     DEFINES += MAC
-     INCLUDEPATH += $${CVPATH}/include
-     INCLUDEPATH += $${CVPATH}/include/opencv
-     INCLUDEPATH += $${CVPATH}/include/opencv2
-
-     QMAKE_LIBDIR += $${CVPATH}/lib
-     QMAKE_LIBDIR += /usr/local/lib
-
-}
-unix:!macx {
-     message("Build for Unix.")
-     DEFINES += UNIX
-     INCLUDEPATH += $${CVPATH}/include
-     INCLUDEPATH += $${CVPATH}/include/opencv
-     INCLUDEPATH += $${CVPATH}/include/opencv2
-
-     QMAKE_LIBDIR += $${QWTPATH}/lib
-     QMAKE_LIBDIR += /usr/local/lib
-     LIBS += -L$${QWTPATH}/lib
-}
-
-# OPENCV  ########################################################################################################################
-
-#  LIBS += -lopencv_core$${CVVERSION} \
-#          -lopencv_highgui$${CVVERSION} \
-#          -lopencv_imgproc$${CVVERSION} \
-#          -lopencv_calib3d$${CVVERSION} \
-#          -lopencv_video$${CVVERSION} \
-#          -lopencv_ffmpeg$${CVVERSION}
-#    contains(CV_MAJOR_VERSION,3){
-#      message("Build with OpenCV 3.0.0")
-#      LIBS += -lopencv_videoio$${CVVERSION} \
-#              -lopencv_imgcodecs$${CVVERSION}
-#      # QMAKE_CXXFLAGS += -march=i686
-#    }else {
-#      message("Build with OpenCV 2.x.x")
-#      LIBS += -lopencv_legacy$${CVVERSION}
-#
-#    }
-
-# LIBELAS #########################################################################################################################
-
-#fuer libelas noetig:
-$$LIBELAS {
-    !build_pass:message(LIBELAS enabled!)
-    DEFINES += LIBELAS
-    QMAKE_CXXFLAGS += -msse3
-
-    HEADERS += include/libelas/elasDescriptor.h \
-        include/libelas/elas.h \
-        include/libelas/elasFilter.h \
-        include/libelas/elasMatrix.h \
-        include/libelas/elasTriangle.h \
-        include/libelas/elasImage.h \
-        include/libelas/elasTimer.h
-    SOURCES += src/libelas/elasDescriptor.cpp \
-        src/libelas/elas.cpp \
-        src/libelas/elasFilter.cpp \
-        src/libelas/elasMatrix.cpp \
-        src/libelas/elasTriangle.cpp
-}
-
-
-# QWT #########################################################################################################################
-# zur Analyse der Daten / Analyse-Tab + Farbcode auf Marker in Kasernen-Versuchen
-
-$$QWT {
-    # DIE ENTKOPPLUNG VON QWT IST NICHT FERTIG IMPLEMENTIERT
-    !build_pass:message(QWT (analysis) enabled!)
-    DEFINES += QWT
-
-    # in qwt.../install steht, dass folgendes gesetzt werden muss - insbesondere wegen debug/release mischungs problem
-    DEFINES += QWT_DLL
-
-    INCLUDEPATH += $${QWTPATH}/include
-
-    win32:QMAKE_LIBDIR += $${QWTPATH}/lib
-    unix:!macx:QMAKE_LIBDIR += $${QWTPATH}/lib
-    # mgl QMAKE_LFLAGS_DEBUG setzen, um qwt5 fuer rlease und debug richtig nutzen!
-    # QMAKE_LFLAGS_DEBUG += -lqwtd5
-    # QMAKE_LFLAGS_RELEASE += -lqwt5
-    #unix:QMAKE_LFLAGS_RPATH += -L$${QWTPATH}/lib
-    #unix:LIBS += -lqwt
-    CONFIG(debug, debug|release) {
-      # only debug
-      win32:LIBS += -lqwtd
-      unix:!macx:LIBS += -lqwt
-      macx: LIBS += -framework qwt
-    } else {
-      # only release
-      win32:LIBS += -lqwt
-      unix:!macx:LIBS += -lqwt
-      macx: LIBS += -framework qwt
-    }
-    # obige Zeilen wurde von qmake editor grafische oberflaeche bzw. wenn neue dateien zu projekt hinzugefuegt werden falsch umgewandelt in:
-    # zudem wurde bei src und include dateien doppelt eingetragen mit src/ und include/ davor
-    # auch folgende Zeilen wurden hinzugefuegt: OTHER_FILES += src/semantic.cache include/semantic.cache
-    #CONFIG(debug, debug|release): # only debug
-    #LIBS += -lqwtd5
-    #else:# only release
-    #LIBS += -lqwt5
-
-    #win32:QMAKE_LIBDIR += $${QWTPATH}/lib
-    mac:QMAKE_LIBDIR += $${QWTPATH}
-    mac:QMAKE_LIBDIR += $${QWTPATH}
-
-    HEADERS += include/analysePlot.h
-    SOURCES += src/analysePlot.cpp
-
-} else {
-    !build_pass:message(QWT (analysis) disabled!)
-}
-# PGR #########################################################################################################################
-
-$$STEREO {
-  !build_pass:message(Stereo enabled!)
-  DEFINES += STEREO
-
-  # fuer pgr stereo
-  INCLUDEPATH += $${PGRPATH}/include
-  QMAKE_LIBDIR += $${PGRPATH}/bin
-  LIBS += -L$${PGRPATH}/lib
-  #LIBS += -ldl
-  LIBS += -ltriclops_v100
-  #LIBS += -lpnmutils
-} else {
-  !build_pass:message(Stereo disabled!)
-}
-
-$$AVI {
-  !build_pass:message(Avi enabled!)
-  DEFINES += AVI
-}
-
-#########################################################################################################################
-
-
-#include und src davorgeschrieben, da sonst qtcreator sie nicht anzeigt
-HEADERS += include/petrack.h \
-    include/helper.h \
-    include/control.h \
-    include/stereoWidget.h \
-    include/colorRangeWidget.h \
-    include/colorMarkerWidget.h \
-    include/codeMarkerWidget.h \
-    include/multiColorMarkerWidget.h \
-    include/recognitionRoiItem.h \
-    include/imageItem.h \
-    include/logoItem.h \
-    include/gridItem.h \
-    include/coordItem.h \
-    include/trackerItem.h \
-    include/view.h \
-    include/animation.h \
-    include/player.h \
-    include/vector.h \
-    include/ellipse.h \
-    include/markerCasern.h \
-    include/markerJapan.h \
-    include/markerHermes.h \
-    include/markerColor.h \
-    include/tracker.h \
-    include/trackerReal.h \
-    include/recognition.h \
-    include/autoCalib.h \
-    include/filter.h \
-    include/brightContrastFilter.h \
-    include/brightFilter.h \
-    include/contrastFilter.h \
-    include/blurFilter.h \
-    include/borderFilter.h \
-    include/backgroundFilter.h \
-    include/calibFilter.h \
-    include/calibStereoFilter.h \
-    include/colorPlot.h \
-    include/stereoItem.h \
-    include/stereoContext.h \
-    include/colorMarkerItem.h \
-    include/codeMarkerItem.h \
-    include/multiColorMarkerItem.h \
-    include/backgroundItem.h \
-    include/whitebalance.h \
-    include/person.h \
-    include/qtColorTriangle.h \
-    include/swapFilter.h \
-    include/extrCalibration.h \
-    include/trackingRoiItem.h
-
-SOURCES += src/petrack.cpp \
-    src/helper.cpp \
-    src/main.cpp \
-    src/control.cpp \
-    src/stereoWidget.cpp \
-    src/colorRangeWidget.cpp \
-    src/colorMarkerWidget.cpp \
-    src/codeMarkerWidget.cpp \
-    src/multiColorMarkerWidget.cpp \
-    src/recognitionRoiItem.cpp \
-    src/imageItem.cpp \
-    src/logoItem.cpp \
-    src/gridItem.cpp \
-    src/coordItem.cpp \
-    src/trackerItem.cpp \
-    src/view.cpp \
-    src/animation.cpp \
-    src/player.cpp \
-    src/vector.cpp \
-    src/ellipse.cpp \
-    src/markerCasern.cpp \
-    src/markerHermes.cpp \
-    src/markerJapan.cpp \
-    src/markerColor.cpp \
-    src/tracker.cpp \
-    src/trackerReal.cpp \
-    src/recognition.cpp \
-    src/autoCalib.cpp \
-    src/filter.cpp \
-    src/brightContrastFilter.cpp \
-    src/brightFilter.cpp \
-    src/contrastFilter.cpp \
-    src/blurFilter.cpp \
-    src/borderFilter.cpp \
-    src/backgroundFilter.cpp \
-    src/calibFilter.cpp \
-    src/calibStereoFilter.cpp \
-    src/stereoContext.cpp \
-    src/colorPlot.cpp \
-    src/stereoItem.cpp \
-    src/colorMarkerItem.cpp \
-    src/codeMarkerItem.cpp \
-    src/multiColorMarkerItem.cpp \
-    src/backgroundItem.cpp \
-    src/whitebalance.cpp \
-    src/person.cpp \
-    src/qtColorTriangle.cpp \
-    src/swapFilter.cpp \
-    src/extrCalibration.cpp \
-    src/trackingRoiItem.cpp
-
-$$STEREO{
-    SOURCES += src/pgrAviFile.cpp
-    HEADERS += include/pgrAviFile.h
-    message("Include pgrAviFile")
-}else{
-    SOURCES += src/stereoAviFile.cpp
-    HEADERS += include/stereoAviFile.h
-    message("Include stereoAviFile")
-}
-
-
-$$AVI{
-    SOURCES += src/aviFile.cpp
-    HEADERS += include/aviFile.h
-}else{
-    SOURCES += src/aviFileWriter.cpp
-    HEADERS += include/aviFileWriter.h
-}
-
-
-MOC_DIR = moc
-UI_DIR = ui
-UI_HEADERS_DIR = ui/include
-UI_SOURCES_DIR = ui/src
-FORMS += ui/control.ui \
-         ui/stereo.ui \
-         ui/colorRange.ui \
-         ui/multiColorMarker.ui \
-         ui/colorMarker.ui \
-         ui/codeMarker.ui
-
-RC_FILE = petrack.rc # damit petrack.ico als windows icon genommen wird
-RESOURCES = icons/icons.qrc # damit daten in executable hineincompiliert wird
-
-# alle Verzeichniss von Sourcen etc, wo Abhaengigkeiten gesucht werden sollen
-DEPENDPATH += . include src ui ui/include
-
-# fuer pgrAviFile
-win32:LIBS += -lavifil32
-win32:LIBS += -lmsvfw32
-win64:LIBS += -lavifil32
-win64:LIBS += -lmsvfw32
-
-# only for debug function GetProcessMemoryInfo
-win32:LIBS += -lpsapi
-win64:LIBS += -lpsapi
diff --git a/src/analysePlot.cpp b/src/analysePlot.cpp
index d0cc10a9342fb4ad8ef3eeb822990b33937e4ff6..018eae3a194f54d1cbc34e5d7c1612c0d187a223 100644
--- a/src/analysePlot.cpp
+++ b/src/analysePlot.cpp
@@ -157,7 +157,7 @@ public:
 //             default:
 //                 text.sprintf("%.4f, %.4f", pos.x(), pos.y());
 //         }
-        text.sprintf("%d, %.2f", myRound(pos.x()), pos.y());
+        text.asprintf("%d, %.2f", myRound(pos.x()), pos.y());
         return QwtText(text);
 //         return QwtPlotZoomer::trackerText(pos);
     }
@@ -598,3 +598,4 @@ void AnalysePlot::setScale()
     }
 }
 
+#include "moc_analysePlot.cpp"
diff --git a/src/animation.cpp b/src/animation.cpp
index a658180e91a7d43118e43463bdc1d99265f2f5f7..fa52c3c796fbb0339c917a87afeb750c5033b6e4 100644
--- a/src/animation.cpp
+++ b/src/animation.cpp
@@ -34,11 +34,12 @@ they can be represented in QT.
 #include <iomanip>
 
 
-#include "opencv.hpp"
+#include "opencv2/opencv.hpp"
 
 #include "animation.h"
 
 using namespace::cv;
+using namespace std;
 
 /**********************************************************************/
 /* Constructors & Destructors                                        **/
diff --git a/src/autoCalib.cpp b/src/autoCalib.cpp
index 4d63dbe085caa3623f02c1c37e0e6968a12dfd58..77ec0d39d5088d7976444c3928fef378ad6aed59 100644
--- a/src/autoCalib.cpp
+++ b/src/autoCalib.cpp
@@ -4,13 +4,14 @@
 #include <QProgressDialog>
 #include <QApplication>
 
-#include "highgui.hpp"
+#include "opencv2/highgui.hpp"
 
 #include "autoCalib.h"
 #include "petrack.h"
 #include "control.h"
 
 using namespace::cv;
+using namespace std;
 
 #define SHOW_CALIB_MAINWINDOW   // definieren, wenn das Schachbrett im Mainwindow und nicht separat angezeigt werden soll:
                                 // fuehrt nach Calibration dazu dass play des originalvideos abstuerzt, insb wenn intr apply nicht ausgewaehlt war
diff --git a/src/backgroundFilter.cpp b/src/backgroundFilter.cpp
index b2a6615a66b73e436570c9b5eb931cff1ddf6c5b..631998257c968a2f87b78adc25ab9e43565d9ec1 100644
--- a/src/backgroundFilter.cpp
+++ b/src/backgroundFilter.cpp
@@ -2,7 +2,7 @@
 #include "stereoContext.h"
 
 // nur temporaer fuer anzeige
-#include "highgui.hpp"
+#include "opencv2/highgui.hpp"
 #include "helper.h"
 
 // spaeter entfernen naechsten beiden zeilen
@@ -23,6 +23,7 @@ extern Control *cw;
 //#define SHOW_TMP_IMG
 
 using namespace::cv;
+using namespace std;
 
 BackgroundFilter::BackgroundFilter()
     :Filter()
diff --git a/src/blurFilter.cpp b/src/blurFilter.cpp
index f748c590a62044b2b5fc4a375f0865f38a53fa62..955b66ba49460ca2120fe496916a278c0dd78bc7 100644
--- a/src/blurFilter.cpp
+++ b/src/blurFilter.cpp
@@ -1,5 +1,4 @@
 #include "blurFilter.h"
-#include "opencv.hpp"
 #include "opencv2/opencv.hpp"
 
 using namespace::cv;
diff --git a/src/calibFilter.cpp b/src/calibFilter.cpp
index a5ca96087a7cabb37d0b5e854c49978acab57e28..1457d2099f4f9cefff5786d2abf74696951ee979 100644
--- a/src/calibFilter.cpp
+++ b/src/calibFilter.cpp
@@ -127,6 +127,20 @@ Mat CalibFilter::act(Mat &img, Mat &res)
                                         getR6()->getValue(),
                                         getK4()->getValue(), getK5()->getValue(), getK6()->getValue());
 
+    /*
+     * Eine Möglichkeit das entzerren schneller zu gestalten, indem
+     * der Aufruf von undistort in getrennte Aufrufe geteilt wird
+     * und das Ergebns von initUndistort... gecached wird
+     * Aber TODO muss zuerst gelöst werden (Cache muss bei einladen eines
+     * neues Projekt gecleart werden)
+     */
+    // TODO Was, wenn ein neues Projekt eingeladen wird?
+//    if(map1.empty() || map2.empty())
+//        initUndistortRectifyMap(camera, dist, Mat_<double>::eye(3,3),
+//                                camera,
+//                                img.size(), CV_16SC2, map1, map2);
+//    remap(img, res, map1, map2, INTER_LINEAR, BORDER_CONSTANT);
+
     undistort(img, res, camera, dist);
 //    cvReleaseImage(&resIpl);
 //    resIpl = cvCreateImage(cvSize(res.cols,res.rows),8,3);
diff --git a/src/codeMarkerItem.cpp b/src/codeMarkerItem.cpp
index d5d8c5c4f1a305c8ab07372e44eafe0bd16cda56..762415fa45eb396aa394d5ec9d7d55620313c7ad 100644
--- a/src/codeMarkerItem.cpp
+++ b/src/codeMarkerItem.cpp
@@ -8,6 +8,7 @@
 #include "animation.h"
 
 using namespace::cv;
+using namespace std;
 
 // in x und y gleichermassen skaliertes koordinatensystem,
 // da von einer vorherigen intrinsischen kamerakalibrierung ausgegenagen wird,
diff --git a/src/codeMarkerWidget.cpp b/src/codeMarkerWidget.cpp
index 282bdc8c0f8f43ce453de6c9bf1a7448232e7fb7..c3c9b06433ca0781b25185f54b19f27683f6c1bf 100644
--- a/src/codeMarkerWidget.cpp
+++ b/src/codeMarkerWidget.cpp
@@ -81,10 +81,7 @@ void CodeMarkerWidget::setXml(QDomElement &elem)
 void CodeMarkerWidget::getXml(QDomElement &elem)
 {
     QDomElement subElem;
-    int h=0, s=0, v=0; // init, damit compiler nicht meckert
     QString styleString;
-    QColor col;
-    col.convertTo(QColor::Hsv);
 
     for(subElem = elem.firstChildElement(); !subElem.isNull(); subElem = subElem.nextSiblingElement())
     {
@@ -144,3 +141,5 @@ void CodeMarkerWidget::getXml(QDomElement &elem)
         }
     }
 }
+
+#include "moc_codeMarkerWidget.cpp"
diff --git a/src/colorMarkerWidget.cpp b/src/colorMarkerWidget.cpp
index 89a0fc087514816967d517d001b5651b322b5b69..a6abd66b5439f3053968f7fa20dd9e3a4b21b35c 100644
--- a/src/colorMarkerWidget.cpp
+++ b/src/colorMarkerWidget.cpp
@@ -20,8 +20,7 @@ ColorMarkerWidget::ColorMarkerWidget(QWidget *parent)
     toColor->setStyleSheet(styleString);
 
     QColor col;
-    col.convertTo(QColor::Hsv);
-    col.setHsv(fromHue, fromSat, fromVal);
+    col = QColor::fromHsv(fromHue, fromSat, fromVal);
     fromTriangle->setColor(col);
     col.setHsv(toHue, toSat, toVal);
     toTriangle->setColor(col);
@@ -75,7 +74,7 @@ void ColorMarkerWidget::getXml(QDomElement &elem)
     int h=0, s=0, v=0; // init, damit compiler nicht meckert
     QString styleString;
     QColor col;
-    col.convertTo(QColor::Hsv);
+    col = col.toHsv();
 
     for(subElem = elem.firstChildElement(); !subElem.isNull(); subElem = subElem.nextSiblingElement())
     {
@@ -179,8 +178,7 @@ void ColorMarkerWidget::on_fromColor_clicked()
     // ueber palette war der button ausser initial nicht zu aendern!!!
 
     QColor colBefore;//fromColor->palette().color(QPalette::Button);
-    colBefore.convertTo(QColor::Hsv);
-    colBefore.setHsv(fromHue, fromSat, fromVal);
+    colBefore = QColor::fromHsv(fromHue, fromSat, fromVal);
     QColor col = (QColorDialog::getColor(colBefore, this, "Select color from which value a pixel belongs to marker")).convertTo(QColor::Hsv);
     if (col.isValid() && col != colBefore)
     {
@@ -194,8 +192,7 @@ void ColorMarkerWidget::on_toColor_clicked()
     // QWindowsXpStyle uses native theming engine which causes some palette modifications not to have any effect.
     // ueber palette war der button ausser initial nicht zu aendern!!!
     QColor colBefore;//toColor->palette().color(QPalette::Button);
-    colBefore.convertTo(QColor::Hsv);
-    colBefore.setHsv(toHue, toSat, toVal);
+    colBefore = QColor::fromHsv(toHue, toSat, toVal);
     QColor col = (QColorDialog::getColor(colBefore, this, "Select color to which value a pixel belongs to marker")).convertTo(QColor::Hsv);
     //QPalette palette = toColor->palette();
     //palette.setColor(QPalette::Button, col);
@@ -223,3 +220,5 @@ void ColorMarkerWidget::on_toColor_clicked()
 //            toColor->setStyleSheet(styleString);
 //        }
 }
+
+#include "moc_colorMarkerWidget.cpp"
diff --git a/src/colorPlot.cpp b/src/colorPlot.cpp
index 0c6ba04525c0eb133c136f141a878fd9f5951e83..e516f4e69dcc925d5bd8900924d7efdd10e3ebf3 100644
--- a/src/colorPlot.cpp
+++ b/src/colorPlot.cpp
@@ -15,6 +15,8 @@
 #include "colorPlot.h"
 #include "control.h"
 
+using namespace std;
+
 // class SpectrogramData: public QwtRasterData
 // {
 // public:
@@ -433,6 +435,21 @@ void RectPlotItem::changeActMapToColor(const QColor &toCol)
     }
 }
 
+bool RectPlotItem::getActMapInvHue()
+{
+    return mMaps[mActIndex].invHue();
+}
+
+QColor RectPlotItem::getActMapToColor()
+{
+    return mMaps[mActIndex].toColor();
+}
+
+QColor RectPlotItem::getActMapFromColor()
+{
+    return mMaps[mActIndex].fromColor();
+}
+
 RectMap RectPlotItem::getMap(int index) const
 {
     if (index >= 0 && index < mMaps.size())
@@ -642,7 +659,7 @@ public:
 //             default:
 //                 text.sprintf("%.4f, %.4f", pos.x(), pos.y());
 //         }
-        text.sprintf("%d, %d", myRound(pos.x()), myRound(pos.y()));
+        text.asprintf("%d, %d", myRound(pos.x()), myRound(pos.y()));
         return QwtText(text);
 //         return QwtPlotZoomer::trackerText(pos);
     }
@@ -850,8 +867,20 @@ void ColorPlot::setCursor(const QColor &col)
     //QFrame::mouseMoveEvent(&event);
 }
 
-// ueber z kann die zur plotebene senkrechte kooerdinate zurueckgegeben werden,
-// wenn default NULL nicht zutrifft
+
+/**
+ * @brief Calculate position of color in current colormap
+ *
+ * Calculates the position of color in current colormap, i.e. with the current
+ * mapping from x,y to hsv/rgb. E.g. x->H and y->S.
+ *
+ * ueber z kann die zur plotebene senkrechte kooerdinate zurueckgegeben werden,
+ * wenn default NULL nicht zutrifft
+ *
+ * @param col color for which to determine position
+ * @param z coordinate orthogonal to the plot plane
+ * @return position of color in current colormap
+ */
 QPoint ColorPlot::getPos(const QColor &col, int *z) const
 {
     QPoint p;
@@ -1072,3 +1101,4 @@ int ColorPlot::zValue() const
         return 0;
 }
 
+#include "moc_colorPlot.cpp"
diff --git a/src/colorRangeWidget.cpp b/src/colorRangeWidget.cpp
index 7e2a83f3545009be85bae4e0a28d83bf172ed7ee..43a5ffc8a021517c03f08ae2b22e688cab84e524 100644
--- a/src/colorRangeWidget.cpp
+++ b/src/colorRangeWidget.cpp
@@ -22,8 +22,7 @@ ColorRangeWidget::ColorRangeWidget(QWidget *parent)
     toColor->setStyleSheet(styleString);
 
     QColor col;
-    col.convertTo(QColor::Hsv);
-    col.setHsv(fromHue, fromSat, fromVal);
+    col = QColor::fromHsv(fromHue, fromSat, fromVal);
     fromTriangle->setColor(col);
     col.setHsv(toHue, toSat, toVal);
     toTriangle->setColor(col);
@@ -39,7 +38,15 @@ void ColorRangeWidget::on_inversHue_stateChanged(int i)
     mColorPlot->replot();
 }
 
-void ColorRangeWidget::setControlWidget()
+// WARNING Setzt voraus, dass x als Hue und y als Saturation ausgewählt ist
+// Zwar Standardeinstellung, aber nicht zwingend der Fall
+/**
+ * @brief sets x and y slider from colormap widget
+ *
+ * Sets the x and y slider to the right values according to fromColor and toColor,
+ * which were selected via the color picker.
+ */
+void ColorRangeWidget::setControlWidget(int toHue, int fromHue, int toSat, int fromSat)
 {
 
     int fH, tH, fS, tS;
@@ -77,7 +84,7 @@ void ColorRangeWidget::on_fromTriangle_colorChanged(const QColor &col)
     fromColor->setStyleSheet(styleString);
 
     mColorPlot->getMapItem()->changeActMapFromColor(col);
-    setControlWidget();
+    setControlWidget(toHue, fromHue, toSat, fromSat);
 
     mMainWindow->setRecognitionChanged(true);// flag indicates that changes of recognition parameters happens
     if( !mMainWindow->isLoading() )
@@ -91,7 +98,7 @@ void ColorRangeWidget::on_toTriangle_colorChanged(const QColor &col)
     toColor->setStyleSheet(styleString);
 
     mColorPlot->getMapItem()->changeActMapToColor(col);
-    setControlWidget();
+    setControlWidget(toHue, fromHue, toSat, fromSat);
 
     mMainWindow->setRecognitionChanged(true);// flag indicates that changes of recognition parameters happens
     if( !mMainWindow->isLoading() )
@@ -104,8 +111,7 @@ void ColorRangeWidget::on_fromColor_clicked()
     // ueber palette war der button ausser initial nicht zu aendern!!!
 
     QColor colBefore;//fromColor->palette().color(QPalette::Button);
-    colBefore.convertTo(QColor::Hsv);
-    colBefore.setHsv(fromHue, fromSat, fromVal);
+    colBefore = QColor::fromHsv(fromHue, fromSat, fromVal);
     QColor col = (QColorDialog::getColor(colBefore, this, "Select color from which value a pixel belongs to marker")).convertTo(QColor::Hsv);
     if (col.isValid() && col != colBefore)
     {
@@ -119,8 +125,7 @@ void ColorRangeWidget::on_toColor_clicked()
     // QWindowsXpStyle uses native theming engine which causes some palette modifications not to have any effect.
     // ueber palette war der button ausser initial nicht zu aendern!!!
     QColor colBefore;//toColor->palette().color(QPalette::Button);
-    colBefore.convertTo(QColor::Hsv);
-    colBefore.setHsv(toHue, toSat, toVal);
+    colBefore = QColor::fromHsv(toHue, toSat, toVal);
     QColor col = (QColorDialog::getColor(colBefore, this, "Select color to which value a pixel belongs to marker")).convertTo(QColor::Hsv);
     //QPalette palette = toColor->palette();
     //palette.setColor(QPalette::Button, col);
@@ -175,3 +180,5 @@ void ColorRangeWidget::setToColor(const QColor &col)
         toTriangle->setColor(col);
     }
 }
+
+#include "moc_colorRangeWidget.cpp"
diff --git a/src/control.cpp b/src/control.cpp
index b6d3b5d8118efefc4c84c56acdd9203a41e29d3c..bb3fa1b58d3df3878ccfd14b812a396b340d17bf 100644
--- a/src/control.cpp
+++ b/src/control.cpp
@@ -15,6 +15,9 @@
 #include "colorMarkerWidget.h"
 #include "codeMarkerWidget.h"
 #include "multiColorMarkerWidget.h"
+#include "view.h"
+
+using namespace std;
 
 #define DEFAULT_HEIGHT 180.0
 
@@ -29,9 +32,15 @@ Control::Control(QWidget *parent)
     setupUi(this);
 
     // Weitere Verzerrungsparameter werden vllt. spaeter mal gebraucht bisher von OpenCV nicht beruecksichtig. Muessen dann noch in die Oberflaeche eingebaut werden
-    k4 = new QDoubleSpinBox();
-    k5 = new QDoubleSpinBox();
-    k6 = new QDoubleSpinBox();
+    // Deniz: OpenCV kann Sie mittlerweile benutzen, wenn man calibrateCamera die Flag CALIB_RATIONAL_MODEL übergibt; Ergibt eine genauere Kalibration
+    // Auch rechenintensiver, aber da wir das einmal machen und dann Speichern, ist das auch egal
+    // Diese Boxen müssten in die UI eingebaut und der entsprechende Aufruf in AutoCalib müsste angepasst werden
+    k4 = new QDoubleSpinBox(this);
+    k4->hide();
+    k5 = new QDoubleSpinBox(this);
+    k5->hide();
+    k6 = new QDoubleSpinBox(this);
+    k6->hide();
 
     filterBrightContrast->setCheckState(mMainWindow->getBrightContrastFilter()->getEnabled() ? Qt::Checked : Qt::Unchecked);
 //     filterContrast->setCheckState(mMainWindow->getContrastFilter()->getEnabled() ? Qt::Checked : Qt::Unchecked);
@@ -2868,8 +2877,8 @@ void Control::getXml(QDomElement &elem)
                     QColor fromCol, toCol;
                     int h=-1, s=-1, v=-1;
 
-                    fromCol.convertTo(QColor::Hsv);
-                    toCol.convertTo(QColor::Hsv);
+                    fromCol = fromCol.toHsv();
+                    toCol = toCol.toHsv();
                     colorPlot->getMapItem()->delMaps();
                     for(subSubSubElem = subSubElem.firstChildElement(); !subSubSubElem.isNull(); subSubSubElem = subSubSubElem.nextSiblingElement())
                         if (subSubSubElem.tagName() == "MAP")
@@ -3189,4 +3198,279 @@ void Control::getXml(QDomElement &elem)
     mMainWindow->updateCoord();
 }
 
+void Control::on_colorPickerButton_clicked(bool checked)
+{
+    //true wenn neu gechecked, false wenn wieder abgewählt
+    if(checked)
+    {
+        connect(mMainWindow->getView(), SIGNAL(colorSelected(QPoint, GraphicsView*)), this, SLOT(on_expandColor(QPoint, GraphicsView*)));
+        connect(mMainWindow->getView(), SIGNAL(setColorEvent(QPoint, GraphicsView*)), this, SLOT(on_setColor(QPoint, GraphicsView*)));
+    }else{
+        disconnect(mMainWindow->getView(), SIGNAL(colorSelected(QPoint, GraphicsView*)), this, SLOT(on_expandColor(QPoint, GraphicsView*)));
+        disconnect(mMainWindow->getView(), SIGNAL(setColorEvent(QPoint, GraphicsView*)), this, SLOT(on_setColor(QPoint, GraphicsView*)));
+    }
+}
+
+/**
+ * @brief Gets necessary colors and the RectPlotItem
+ *
+ * @param[in] p Clicked Point (gets changed!!!)
+ * @param[in] graphicsView GraphicsView in which the event was detected
+ * @param[out] clickedColor color which was clicked on, with Hue from 0-360 instead of OpenCVs 0-180
+ * @param[out] toColor toColor as in model with triangle color picker
+ * @param[out] fromColor fromColor as in model with triangle picker
+ * @param[out] map
+ *
+ * @return Boolean describing, if a color was retrieved
+ */
+bool Control::getColors(QPoint& p, GraphicsView* graphicsView, std::array<int, 3>& clickedColor, QColor& toColor, QColor& fromColor, RectPlotItem*& map)
+{
+    if(mMainWindow->getImg().empty())
+    {
+        return false;
+    }
+
+    cv::Mat hsvImg;
+    cv::cvtColor(mMainWindow->getImg(), hsvImg, cv::COLOR_BGR2HSV);
+    p.setX(p.x() + mMainWindow->getImageBorderSize());
+    p.setY(p.y() + mMainWindow->getImageBorderSize());
+
+
+    QPointF pointOnScene = graphicsView->mapToScene(p);
+    QPointF imgPoint = mMainWindow->getImageItem()->mapToScene(pointOnScene);
+    if(imgPoint.x() < 0 || imgPoint.x() > hsvImg.cols || imgPoint.y() < 0 || imgPoint.y() > hsvImg.rows)
+    {
+        debout << "Clicked outside the image with color picker." << std::endl;
+        return false;
+    }
+    //debout << "Koordinaten: " << imgPoint.x() << ", " << imgPoint.y() << std::endl;
+
+    cv::Vec3b color = hsvImg.at<cv::Vec3b>((int)imgPoint.y(), (int)imgPoint.x());
+    clickedColor =  {color[0] * 2, color[1], color[2]};
+    //debout << "Farbe: " << (int)clickedColor[0] << ", " << (int)clickedColor[1] << ", " << (int)clickedColor[2] << std::endl;
+
+    map = this->getColorPlot()->getMapItem();
+    toColor = map->getActMapToColor();
+    fromColor = map->getActMapFromColor();
+    return true;
+}
+
+/**
+ * @brief Expands the range of detcted colors to include the color clicked on
+ *
+ * Expands the range of detected colors, so that hue, saturation and value of the
+ * color clicked on are within the range. A Buffer is used as well (more is added to the
+ * range than strictly necessary).  It is possible that the inverse hue flag is set.
+ *
+ * @param p
+ * @param graphicsView
+ */
+void Control::on_expandColor(QPoint p, GraphicsView* graphicsView)
+{
+
+    QColor fromColor, toColor;
+    RectPlotItem* map;
+    std::array<int, 3> clickedColor;
+    if(!getColors(p, graphicsView, clickedColor, toColor, fromColor, map))
+    {
+        return;
+    }
+
+    expandRange(fromColor, toColor, clickedColor);
+
+    saveChange(fromColor, toColor, map);
+};
+
+/**
+ * @brief Selects one color as starting point for furher additions
+ *
+ * @param p
+ * @param graphicsView
+ */
+void Control::on_setColor(QPoint p , GraphicsView* graphicsView){
+    constexpr int BUFFER = 5;
+
+    QColor fromColor, toColor;
+    RectPlotItem* map;
+    std::array<int, 3> clickedColor;
+    if(!getColors(p, graphicsView, clickedColor, toColor, fromColor, map))
+    {
+        return;
+    }
+
+    int minHue, maxHue;
+    if( (clickedColor[0]+BUFFER)%359 < clickedColor[0]+BUFFER)
+    {
+        maxHue = (clickedColor[0]+BUFFER)%BUFFER;
+        map->changeActMapInvHue(true);
+    }else{
+        maxHue = clickedColor[0]+BUFFER;
+        map->changeActMapInvHue(false);
+    }
+    if( (clickedColor[0] - BUFFER) < 0)
+    {
+        minHue = 360 + (clickedColor[0] - BUFFER);
+        map->changeActMapInvHue(true);
+    }else{
+        minHue = clickedColor[0] - BUFFER;
+        //map->changeActMapInvHue(false);
+    }
+    toColor.setHsv(maxHue, min((clickedColor[1]+BUFFER),255), min(clickedColor[2]+BUFFER, 255));
+    fromColor.setHsv(minHue, max(clickedColor[1]-BUFFER,0), max(clickedColor[2]-BUFFER,0));
+
+    //debout << "Inv Hue nach setCol: " <<  map->getActMapInvHue() << std::endl;
+    saveChange(fromColor, toColor, map);
+}
+
+// NOTE Use duplicate observed data on color Data
+//      Meaning: Own class for the Data and every View works with his class!!!
+// NOTE that color slides are not actually working properly on their own; use this or colorRangeWidget!
+void Control::saveChange(const QColor& fromColor, const QColor& toColor, RectPlotItem* map)
+{
+
+    map->changeActMapToColor(toColor);
+    map->changeActMapFromColor(fromColor);
+
+    mMainWindow->getColorRangeWidget()->setControlWidget(toColor.hue(), fromColor.hue(),
+                                                         toColor.saturation(), fromColor.saturation());
+    mMainWindow->setRecognitionChanged(true);// flag indicates that changes of recognition parameters happens
+    if( !mMainWindow->isLoading() )
+        mMainWindow->updateImage();
+}
+
+/**
+ * @brief Expands the color range of the map to include clickedColor
+ *
+ * @test Change invHue via Extension
+ * @test Hue same, value diff
+ * @test value same, hue diff etc...
+ * @test neues Ding gerade so noch drinnen (Auch von thresholding seite messen)
+ *
+ * @param fromColor[in,out] fromColor of the map, gets changed!
+ * @param toColor[in,out] toColor of the map, gets changed!
+ * @param clickedColor[in]
+ */
+void Control::expandRange(QColor& fromColor, QColor& toColor, const std::array<int, 3>& clickedColor)
+{
+    // NOTE BUFFER in Klassenebene verschieben und bei setColor auch nutzen? (verschiedene Größe vllt. gewünscht?)
+    constexpr int BUFFER = 10;
+
+    std::array<int, 3> toColorArr;
+    toColor.getHsv(&toColorArr[0], &toColorArr[1], &toColorArr[2]);
+    std::array<int, 3> fromColorArr;
+    fromColor.getHsv(&fromColorArr[0], &fromColorArr[1], &fromColorArr[2]);
+
+    //debout << "Alte Grenze: toColor:   " << toColorArr[0] << " " << toColorArr[1] << " "<< toColorArr[2] << std::endl;
+    //debout << "Alte Grenze: fromColor: " << fromColorArr[0] << " " << fromColorArr[1] << " " << fromColorArr[2] << std::endl;
+
+    std::array<bool, 3> isInRange {true, true, true};
+    bool invHue = getColorPlot()->getMapItem()->getActMapInvHue();
+    //debout << "Inverse Hue vorher: " << invHue << std::endl;
+
+    // What values do need to be altered?
+    if(invHue)
+    {
+        if(toColorArr[0] > fromColorArr[0])
+        {
+            if(!(clickedColor[0] >= toColorArr[0] || clickedColor[0] <= fromColorArr[0]))
+            {
+                isInRange[0] = false;
+            }
+        }else
+        {
+            if(!(clickedColor[0] <= toColorArr[0] || clickedColor[0] >= fromColorArr[0]))
+            {
+                isInRange[0] = false;
+            }
+        }
+    }else
+    {
+        if(toColorArr[0] > fromColorArr[0])
+        {
+            if(!(clickedColor[0] <= toColorArr[0] && clickedColor[0] >= fromColorArr[0]))
+            {
+                isInRange[0] = false;
+            }
+        }else
+        {
+            if(!(clickedColor[0] >= toColorArr[0] && clickedColor[0] <= fromColorArr[0]))
+            {
+                isInRange[0] = false;
+            }
+        }
+    }
+
+    for(int i = 1; i < 3; ++i)
+    {
+        if(toColorArr[i] > fromColorArr[i])
+        {
+            if(!(clickedColor[i] <= toColorArr[i] && clickedColor[i] >= fromColorArr[i]))
+            {
+                isInRange[i] = false;
+            }
+        }else{
+            if(!(clickedColor[i] >= toColorArr[i] && clickedColor[i] <= fromColorArr[i]))
+            {
+                isInRange[i] = false;
+            }
+        }
+    }
+
+    // if all in range, no expanding required
+    if(std::count(isInRange.cbegin(), isInRange.cend(), true) == 3){
+        return;
+    }
+
+    int distToColor = 0;
+    int distFromColor = 0;
+
+    for(int i = 0; i < 3; ++i)
+    {
+        if(isInRange[i])
+            continue;
+
+        distToColor = abs(toColorArr[i] - clickedColor[i]);
+        distFromColor = abs(fromColorArr[i] - clickedColor[i]);
+        if(distFromColor < distToColor)
+        {
+            int buffer = fromColorArr[i] - clickedColor[i] < 0 ? BUFFER : -BUFFER;
+            if(i==0) // Hue
+            {
+                fromColorArr[i] = min(359, max(0, clickedColor[i] + buffer));
+            }else
+            {
+                fromColorArr[i] = min(255, max(0, clickedColor[i] + buffer));
+            }
+        }else{
+            int buffer = toColorArr[i] - clickedColor[i] < 0 ? BUFFER : -BUFFER;
+            if(i==0) // Hue
+            {
+                toColorArr[i] = min(359, max(0, clickedColor[i] + buffer));
+            }else
+            {
+                toColorArr[i] = min(255, max(0, clickedColor[i] + buffer));
+            }
+        }
+    }
+
+    int toHue = toColorArr[0];
+    int fromHue = fromColorArr[0];
+    if(invHue){
+        if(toHue+360-fromHue > 180){
+            getColorPlot()->getMapItem()->changeActMapInvHue(false);
+        }
+    }else{
+        if(toHue-fromHue > 180){
+            getColorPlot()->getMapItem()->changeActMapInvHue(true);
+        }
+    }
+
+    //debout << "Inverse Hue nachher " << getColorPlot()->getMapItem()->getActMapInvHue() << std::endl;
+    //debout << "Neue Grenze: toColor:   " << toColorArr[0] << " " << toColorArr[1] << " "<< toColorArr[2] << std::endl;
+    //debout << "Neue Grenze: fromColor: " << fromColorArr[0] << " " << fromColorArr[1] << " " << fromColorArr[2] << std::endl;
+    toColor.setHsv(toColorArr[0], toColorArr[1], toColorArr[2]);
+    fromColor.setHsv(fromColorArr[0], fromColorArr[1], fromColorArr[2]);
+}
+
 
+#include "moc_control.cpp"
diff --git a/src/coordItem.cpp b/src/coordItem.cpp
index 1270049b3d6990fb8ef793b187ca4013f2975075..f16f2b655b02ac6bcce661f3fe2d91d59a4df10a 100644
--- a/src/coordItem.cpp
+++ b/src/coordItem.cpp
@@ -239,13 +239,13 @@ void CoordItem::updateData()
         double ro = mControlWidget->getCalibCoordRotate()/10.;
 
         // aktualisierung der transformationsmatrix
-        QMatrix matrix;
+        QTransform matrix;
         // matrix wird nur bei aenderungen neu bestimmt
         matrix.translate(tX, tY);
         matrix.rotate(ro);
         matrix.scale(sc/100., sc/100.);
         //matrix.shear(tX,tY);
-        setMatrix(matrix);
+        setTransform(matrix);
 
     }else // 3D
     {
@@ -258,13 +258,13 @@ void CoordItem::updateData()
         //prepareGeometryChange();
         // Reset Matrix - No Matrix Transformations for 3D Coordsystem
         // aktualisierung der transformationsmatrix
-        QMatrix matrix;
+        QTransform matrix;
         // matrix wird nur bei aenderungen neu bestimmt
         matrix.translate(0, 0);
         matrix.rotate(0);
         matrix.scale(1, 1);
         //matrix.shear(tX,tY);
-        setMatrix(matrix);
+        setTransform(matrix);
 
 //        double tX3D = mControlWidget->getCalibCoord3DTransX();
 //        double tY3D = mControlWidget->getCalibCoord3DTransY();
diff --git a/src/gridItem.cpp b/src/gridItem.cpp
index c774e415c1ea41b29018b1f6a8b3a6c995f8db3a..ecbd0557b57c4e644e2cf85650980b5462e54a88 100644
--- a/src/gridItem.cpp
+++ b/src/gridItem.cpp
@@ -8,6 +8,7 @@
 #include "gridItem.h"
 
 using namespace::cv;
+using namespace std;
 
 GridItem::GridItem(QWidget *wParent, QGraphicsItem * parent)
     : QGraphicsItem(parent)
@@ -375,7 +376,7 @@ void GridItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
     if (mControlWidget->getCalibGridShow())
     {
         QImage *img = mMainWindow->getImage();
-        QMatrix matrixPaint;
+        QTransform matrixPaint;
         QPointF pnt1, pnt2; // floating point
         int bS = mMainWindow->getImageBorderSize();
         if( debug ) debout << "Border-Size: " << bS << endl;
@@ -420,7 +421,7 @@ void GridItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
             //matrixPaint.translate(iW/2.-bS, iH/2.-bS);
             matrixPaint.rotate(ro);
             //matrixPaint.translate(-iW/2.+bS, -iH/2.+bS);
-            painter->setWorldMatrix(matrixPaint, true); // true sagt, dass relativ und nicht absolut (also zusaetzlich zur uebergeordneten matrizen)
+            painter->setWorldTransform(matrixPaint, true); // true sagt, dass relativ und nicht absolut (also zusaetzlich zur uebergeordneten matrizen)
             painter->setPen(Qt::red);
 
             for (int i=(int)-((maxExp+100)/sc); i<2*(maxExp/sc); i++)
diff --git a/src/helper.cpp b/src/helper.cpp
index 4f68e9eeadb8e78754fa4f60eaf57e672f206919..27c3f99803ee28f9be88fe26cb6183230b5d16df 100644
--- a/src/helper.cpp
+++ b/src/helper.cpp
@@ -1,8 +1,10 @@
 #include "helper.h"
 
-#include <opencv.hpp>
+//#include <opencv.hpp>
+#include "opencv2/opencv.hpp"
 
 using namespace::cv;
+using namespace std;
 
 QString commandLineOptionsString = QObject::tr(
 "<p><code>petrack [-help|-?] [[-project] project.pet] </code><br>"
@@ -96,29 +98,8 @@ void copyToQImage(QImage *qImg, cv::Mat &img) // war static functin in animatiol
 
     if (channels == 3)
     {
-        // This loop is optimized so it has to calculate the least amount of indexes
-        // Optimizing the access to the pointer data is useless (no difference in performance when tested)
-        for (y = 0; y < img.rows; y++)
-        {
-            // Pointer to the data information in the QImage for just one column
-            // set pointer to value before, because ++p is faster than p++
-//            p = ((char*)qImg->scanLine(y))-1;
-            for (x = 0; x < img.cols; x++)
-            {
-                Vec3b colour = img.at<Vec3b>(Point(x, y));
-
-                QRgb value = qRgb(colour.val[2], colour.val[1], colour.val[0]);
-                qImg->setPixel(x, y, value);
-//                *(++p) = colour.val[0];//*(data);
-//                *(++p) = colour.val[1];//*(data+1);
-//                *(++p) = colour.val[2];//*(data+2);
-//                *(++p) = 255;
-                //printf("%02x%02x%02x ", (int)*(data), (int)*(data+1), (int)*(data+2));
-//                data += 3; //channels;
-            }
-//            data = (yData += img.cols/*widthStep*/); // because sometimes widthStep != width
-            //printf("\n");
-        }
+        // Needs Qt 5.14 for QImage::Format_BGR888 (saves the color transformation into RGB888)
+        *qImg = QImage((const unsigned char*) (img.data),img.cols,img.rows, img.step, QImage::Format_BGR888).copy();
     }
     else if (channels == 1)
     {
diff --git a/src/imageItem.cpp b/src/imageItem.cpp
index efd68e8889142769e23463a65553d01f0a5e1aa1..8282ea726eeb5822d962d371f2a88a6591c2709d 100644
--- a/src/imageItem.cpp
+++ b/src/imageItem.cpp
@@ -47,11 +47,11 @@ void ImageItem::setImage(QImage *img)
 {
     mImage = img;
 
-    QMatrix matrix;
+    QTransform matrix;
     matrix.translate(1, 1); // FEHLER IN QT ????? noetig, damit trotz recognitionroiitem auch image auch ohne border komplett neu gezeichnet wird // wird 2 zeilen weiter zurueckgesetzt, aber mit 0, 0 geht es nicht
-    setMatrix(matrix);
+    setTransform(matrix);
     matrix.translate(-mMainWindow->getImageBorderSize()-1, -mMainWindow->getImageBorderSize()-1);
-    setMatrix(matrix);
+    setTransform(matrix);
 
     //debout << "mControlWidget->setCalibCxMin(MAX(0," << mImage->width() << "/2.-50)); (" << MAX(0,mImage->width()/2.-50) << ")" << endl;
     //debout << "mControlWidget->setCalibCyMin(MAX(0," << mImage->height() << "/2.-50)); (" << MAX(0,mImage->height()/2.-50) << ")" << endl;
@@ -376,3 +376,4 @@ void ImageItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
 //{
 //    mMainWindow->dropEvent(event);
 //}
+
diff --git a/src/logoItem.cpp b/src/logoItem.cpp
index 864621eec2a0dae86c335462089299a66d45d7fe..0ed5fcda92c2bb6f3742f952b527eb56b14e3dfa 100644
--- a/src/logoItem.cpp
+++ b/src/logoItem.cpp
@@ -133,3 +133,5 @@ void LogoItem::fadeOut(int frames)
 //     }
 //     setVisible(false);
 }
+
+#include "moc_logoItem.cpp"
diff --git a/src/main.cpp b/src/main.cpp
index 0be1e639d760b0d7b36cf3a04b2c5218ed68f3fa..6f98fc3671efd4efbd1901505f638a3b2e016810 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -6,6 +6,8 @@
 #include "petrack.h"
 #include "helper.h"
 
+using namespace std;
+
 // Aufrufbeispiel:
 // release/petrack.exe -sequence ../../einzelbilder/wert0001.png -autoSave dir|ttt.avi
 
diff --git a/src/markerCasern.cpp b/src/markerCasern.cpp
index 76535b9df36164b756635b3184b6065f3e9a8eb4..9fd280ef37341081d5cf10325131804992f94b92 100644
--- a/src/markerCasern.cpp
+++ b/src/markerCasern.cpp
@@ -1,5 +1,5 @@
 //folgende zeile spaeter raus
-#include <highgui.hpp>
+#include "opencv2/highgui.hpp"
 
 // spaeter entfernen naechsten beiden zeilen
 //#include "control.h"
@@ -22,6 +22,7 @@
 #include "tracker.h"
 
 using namespace::cv;
+using namespace std;
 
 // bei marker koennnte sich fuer jeden spot eine liste gemerkt werden und spaeter ausgleich 
 // regressionsgrade legen um optimale linie durch marker zu erhalten
@@ -227,7 +228,7 @@ void MarkerCasern::organize(const Mat &img, bool autoWB)
         }
         // loeschen aller zu hellen spots
         QList<int> minValListSort = minValList;
-        qSort(minValListSort); // sortiert aufsteigend
+        std::sort(minValListSort.begin(), minValListSort.end()); // sortiert aufsteigend
         for (i = 0; i < mSpots.size(); ++i)
             if (minValList[i] > minValListSort[3])
             {
diff --git a/src/markerColor.cpp b/src/markerColor.cpp
index 5bac8bb561aaba3b9b514fe37967096652cf0424..c1f6634a115769a1a4eda0ee3bd755cc56d7c9a7 100644
--- a/src/markerColor.cpp
+++ b/src/markerColor.cpp
@@ -1,5 +1,5 @@
 //folgende zeile spaeter raus
-#include <highgui.hpp>
+#include "opencv2/highgui.hpp"
 
 // spaeter entfernen naechsten beiden zeilen
 //#include "control.h"
@@ -22,6 +22,7 @@
 #include "tracker.h"
 
 using namespace::cv;
+using namespace std;
 
 // bei marker koennnte sich fuer jeden spot eine liste gemerkt werden und spaeter ausgleich 
 // regressionsgrade legen um optimale linie durch marker zu erhalten
@@ -227,7 +228,7 @@ void MarkerColor::organize(const Mat &img, bool autoWB)
         }
         // loeschen aller zu hellen spots
         QList<int> minValListSort = minValList;
-        qSort(minValListSort); // sortiert aufsteigend
+        std::sort(minValListSort.begin(), minValListSort.end()); // sortiert aufsteigend
         for (i = 0; i < mSpots.size(); ++i)
             if (minValList[i] > minValListSort[3])
             {
diff --git a/src/markerHermes.cpp b/src/markerHermes.cpp
index 71f2e79ce2cdf81b0c2653a695cd61bf6d16185d..0aecea33fce8fb367f37f04e91eaddf122ea18e3 100644
--- a/src/markerHermes.cpp
+++ b/src/markerHermes.cpp
@@ -1,5 +1,5 @@
 //folgende zeile spaeter raus
-#include <highgui.hpp>
+#include "opencv2/highgui.hpp"
 
 // spaeter entfernen naechsten beiden zeilen
 //#include "control.h"
@@ -192,7 +192,7 @@ void MarkerHermes::organize(const Mat &img, bool autoWB)
 
         // loeschen aller zu hellen spots
         QList<int> minValListSort = minValList;
-        qSort(minValListSort); // sortiert aufsteigend
+        std::sort(minValListSort.begin(), minValListSort.end()); // sortiert aufsteigend
         for (i = 0; i < mSpots.size(); ++i)
             if (minValList[i] > minValListSort[0]) // nur der dunkelste bleibt uebrig
             {
diff --git a/src/markerJapan.cpp b/src/markerJapan.cpp
index 23aed9ec0d21e8f48160b87772a7eabbca707173..0dbbedd170053c02e76e3a0526460316dd04c2fb 100644
--- a/src/markerJapan.cpp
+++ b/src/markerJapan.cpp
@@ -1,5 +1,5 @@
 //folgende zeile spaeter raus
-#include <highgui.hpp>
+#include "opencv2/highgui.hpp"
 
 // spaeter entfernen naechsten beiden zeilen
 //#include "control.h"
@@ -19,6 +19,7 @@
 #include "tracker.h"
 
 using namespace::cv;
+using namespace std;
 
 // bei marker koennnte sich fuer jeden spot eine liste gemerkt werden und spaeter ausgleich 
 // regressionsgrade legen um optimale linie durch marker zu erhalten
@@ -228,7 +229,7 @@ void MarkerJapan::organize(const Mat &img, bool autoWB)
         }
         // loeschen aller zu hellen spots
         QList<int> minValListSort = minValList;
-        qSort(minValListSort); // sortiert aufsteigend
+        std::sort(minValListSort.begin(), minValListSort.end()); // sortiert aufsteigend
         for (i = 0; i < mSpots.size(); ++i)
         {
 //debout << mSpots[i].center().x()<< " "<< minValList[i] <<endl;
diff --git a/src/multiColorMarkerWidget.cpp b/src/multiColorMarkerWidget.cpp
index 0cd7422a85ef0dd018d1e07f8fdcc819ae03e7ad..9f30643ab051c523aef4d00f83320e027c51c8e6 100644
--- a/src/multiColorMarkerWidget.cpp
+++ b/src/multiColorMarkerWidget.cpp
@@ -49,10 +49,7 @@ void MultiColorMarkerWidget::setXml(QDomElement &elem)
 void MultiColorMarkerWidget::getXml(QDomElement &elem)
 {
     QDomElement subElem;
-    int h=0, s=0, v=0; // init, damit compiler nicht meckert
     QString styleString;
-    QColor col;
-    col.convertTo(QColor::Hsv);
 
     for(subElem = elem.firstChildElement(); !subElem.isNull(); subElem = subElem.nextSiblingElement())
     {
@@ -106,3 +103,5 @@ void MultiColorMarkerWidget::getXml(QDomElement &elem)
         }
     }
 }
+
+#include "moc_multiColorMarkerWidget.cpp"
diff --git a/src/petrack.cpp b/src/petrack.cpp
index 4c0cd93715bb462b1824d77a95dad634e6cd99b0..ff58c45950b567d01715bc9efa1046e516cf0839 100644
--- a/src/petrack.cpp
+++ b/src/petrack.cpp
@@ -43,7 +43,7 @@
 
 #include <iomanip>
 
-#include "opencv.hpp"
+#include "opencv2/opencv.hpp"
 
 // Zeitausgabe aktivieren
 //#define TIME_MEASUREMENT
@@ -55,6 +55,7 @@ Control *cw;
 int Petrack::trcVersion = 0;
 
 using namespace::cv;
+using namespace std;
 
 // Reihenfolge des anlegens der objekte ist sehr wichtig
 Petrack::Petrack()
@@ -137,7 +138,7 @@ Petrack::Petrack()
     mMultiColorMarkerWidget->setWindowTitle("MultiColor marker parameter");
     //mColorMarkerWidget->show();
 
-    mScene = new QGraphicsScene;
+    mScene = new QGraphicsScene(this);
 
     mImageItem = new ImageItem(this); // durch uebergabe von scene wird indirekt ein scene->addItem() aufgerufen
     mControlWidget->setScene(mScene);
@@ -4073,3 +4074,5 @@ void Petrack::skipToFrameWheel(int delta)
 {
     mPlayerWidget->skipToFrame(mPlayerWidget->getPos()+delta);
 }
+
+#include "moc_petrack.cpp"
diff --git a/src/player.cpp b/src/player.cpp
index 20c28a535275044fc3ee4c770350011a58d20f3d..547863537b2e02845b74eb19b6307b2aea4f8684 100644
--- a/src/player.cpp
+++ b/src/player.cpp
@@ -595,3 +595,5 @@ int Player::getPos()
 {
     return mAnimation->getCurrentFrameNum();
 }
+
+#include "moc_player.cpp"
diff --git a/src/qtColorTriangle.cpp b/src/qtColorTriangle.cpp
index b4fdd4a8f89c4949dfd251596482c02dece4f37c..d09a91dfa0a757ad404c1c77804efe8ef5d89752 100644
--- a/src/qtColorTriangle.cpp
+++ b/src/qtColorTriangle.cpp
@@ -1520,3 +1520,5 @@ QColor QtColorTriangle::colorFromPoint(const QPointF &p) const
     // Voila, we have the color at the point of the selector.
     return QColor(ri, gi, bi);
 }
+
+#include "moc_qtColorTriangle.cpp"
diff --git a/src/recognition.cpp b/src/recognition.cpp
index 73a231bbbe2ea9157a3d7936a8b7542257878b24..9b58c06b70d3a2165ae9576fc2ae5010b4a40fb9 100644
--- a/src/recognition.cpp
+++ b/src/recognition.cpp
@@ -3,7 +3,7 @@
 #if not CV_MAJOR_VERION == 4
 #include <cv.h>
 #endif
-#include <opencv.hpp>
+#include "opencv2/opencv.hpp"
 #include <opencv2/aruco.hpp>
 
 //#include "imgcodecs.hpp"
@@ -33,6 +33,7 @@
 #include "control.h"
 
 using namespace::cv;
+using namespace std;
 
 //#include "Psapi.h"
 
@@ -70,7 +71,7 @@ void thresholdHSV (const Mat &src, Mat &bin, const ColorParameters &param)
     int h, s, v;
     int x, y;
 
-    Mat hsv = src.clone();
+    Mat hsv {src.size(), src.type()};
 
 //    hsvIpl = cvCloneImage(srcIpl); // make a copy
 
diff --git a/src/stereoWidget.cpp b/src/stereoWidget.cpp
index ae13d0ebb92f7da96589265f8d92a9364ec09fa4..bdb7452ca19b2a00529e7348de02ab83a18cbdf9 100644
--- a/src/stereoWidget.cpp
+++ b/src/stereoWidget.cpp
@@ -119,3 +119,4 @@ void StereoWidget::getXml(QDomElement &elem)
     }
 }
 
+#include "moc_stereoWidget.cpp"
diff --git a/src/tracker.cpp b/src/tracker.cpp
index 2387e8388e62b851139713d1f49ffab86d4248d4..b28c30e2bcba46e4c9161d1ca15a9a6dbd7c5d53 100644
--- a/src/tracker.cpp
+++ b/src/tracker.cpp
@@ -1,4 +1,4 @@
-#include "opencv.hpp"
+#include "opencv2/opencv.hpp"
 #include "opencv2/video/legacy/constants_c.h"
 
 #include <time.h>
@@ -13,6 +13,7 @@
 #include "multiColorMarkerWidget.h"
 
 using namespace::cv;
+using namespace std;
 
 // Measure Time spending in functions
 //#define TIME_MEASUREMENT
@@ -245,9 +246,9 @@ void TrackPerson::optimizeColor()
             b.append(at(i).color().blue());
         }
     }
-    qSort(r);
-    qSort(g);
-    qSort(b);
+    std::sort(r.begin(), r.end());
+    std::sort(g.begin(), g.end());
+    std::sort(b.begin(), b.end());
     if (r.size()>0 && g.size()>0 && b.size()>0) // kann eigentlich nicht vorkommen
         setColor(QColor(r[(r.size()-1)/2],g[(g.size()-1)/2],b[(b.size()-1)/2]));
 }
@@ -273,7 +274,7 @@ void TrackPerson::recalcHeight(float altitude)
     }
     if (mHeightCount > 0)
     {
-        qSort(zList);
+        std::sort(zList.begin(), zList.end());
         //mHeight = h / mHeightCount;
         mHeight = zList[mHeightCount/2];
         mHeight = altitude - mHeight;
diff --git a/src/trackerItem.cpp b/src/trackerItem.cpp
index 834c9e5fafe26c83dcc7008704611a932be75d23..5de781a2940069902b02cffb03cc847e51468730 100644
--- a/src/trackerItem.cpp
+++ b/src/trackerItem.cpp
@@ -9,6 +9,7 @@
 #include "animation.h"
 
 using namespace::cv;
+using namespace std;
 
 // in x und y gleichermassen skaliertes koordinatensystem,
 // da von einer vorherigen intrinsischen kamerakalibrierung ausgegenagen wird,
diff --git a/src/vector.cpp b/src/vector.cpp
index c752f55172b75ec739a6e2326df89e17ebb060cf..53f39e24cd65070e66fa404d7d505c9c0fb787b7 100644
--- a/src/vector.cpp
+++ b/src/vector.cpp
@@ -1,4 +1,4 @@
-#include "opencv.hpp"
+#include "opencv2/opencv.hpp"
 
 #include <QPointF>
 #include <QPoint>
diff --git a/src/view.cpp b/src/view.cpp
index 535f1ea300cb2d1bb12241e6c3f5ed3002323cf0..66c49981208ee57f7d15179cf37cb81497ecefc7 100644
--- a/src/view.cpp
+++ b/src/view.cpp
@@ -173,6 +173,16 @@ void GraphicsView::keyPressEvent(QKeyEvent *event)
     }
 }
 
+void GraphicsView::mousePressEvent(QMouseEvent *event)
+{
+
+    if(event->modifiers() & Qt::ShiftModifier){
+        emit setColorEvent(event->pos(), this);
+    }else{
+        emit colorSelected(event->pos(), this);
+    }
+}
+
 //---------------------------------------------------------------------
 
 
@@ -366,3 +376,6 @@ void ViewWidget::hideShowControls()
 {
     mMainWindow->getHideControlActor()->setChecked(mMainWindow->getControlWidget()->isVisible());
 }
+
+
+#include "moc_view.cpp"
diff --git a/tests/regression_test/tests/conftest.py b/tests/regression_test/tests/conftest.py
index 24f4c3c71d93c4ed6f266b6a79c5b63b7e08ed25..adc13b6ce0cab96425809d508c1eb9bf64ddddb1 100644
--- a/tests/regression_test/tests/conftest.py
+++ b/tests/regression_test/tests/conftest.py
@@ -3,7 +3,7 @@ import subprocess
 
 
 def pytest_addoption(parser):
-    parser.addoption("--path", action="store", default="../../../petrack.exe")
+    parser.addoption("--path", action="store", default="../../../build/petrack.exe")
 
 
 
diff --git a/tests/unit_test/CMakeLists.txt b/tests/unit_test/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f4d08ca7619613215ae8aa944196b2aa96f5d37d
--- /dev/null
+++ b/tests/unit_test/CMakeLists.txt
@@ -0,0 +1,9 @@
+add_executable(petrack_tests)
+
+target_sources(petrack_tests PRIVATE
+    main.cpp
+    tst_apptest.cpp
+    tst_control.cpp
+)
+
+
diff --git a/tests/unit_test/main.cpp b/tests/unit_test/main.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..36766ceae0863befcb3ed9054e8cec3db4f3e1d3
--- /dev/null
+++ b/tests/unit_test/main.cpp
@@ -0,0 +1,15 @@
+#define CATCH_CONFIG_RUNNER
+#include <catch2/catch.hpp>
+
+#include <QApplication>
+#include <QtTest>
+
+int main( int argc, char* argv[] )
+{
+    QApplication a(argc, argv);
+
+    QTEST_SET_MAIN_SOURCE_PATH
+    const int result = Catch::Session().run( argc, argv );
+
+    return ( result < 0xff ? result : 0xff );
+}
diff --git a/tests/unit_test/tst_apptest.cpp b/tests/unit_test/tst_apptest.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..3454ca5f815341731990991df36a081a5320c8c3
--- /dev/null
+++ b/tests/unit_test/tst_apptest.cpp
@@ -0,0 +1,14 @@
+#include <catch2/catch.hpp>
+
+#include <iostream>
+
+#include <QSignalSpy>
+
+
+SCENARIO("Application Tests", "[app]")
+{
+
+    GIVEN("Hello World") {
+        REQUIRE(true);
+    }
+}
diff --git a/tests/unit_test/tst_control.cpp b/tests/unit_test/tst_control.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..70291d4d1b8b440f071a3d8e0d0dcd4dbacce0d2
--- /dev/null
+++ b/tests/unit_test/tst_control.cpp
@@ -0,0 +1,211 @@
+#include <catch2/catch.hpp>
+
+#include <iostream>
+#include "control.h"
+
+#include <QSignalSpy>
+#include <QTestEventList>
+#include <QGraphicsScene>
+#include "imageItem.h"
+
+#include "view.h"
+
+
+// TODO Connect und Disconnect vom Event (lässt sich an und abschalten)
+// TODO Weitere Testcases überlegen
+
+void checkSelectedColor(Control* con, bool invHue, int toHue, int fromHue,
+                        int toSat, int fromSat, int toVal, int fromVal,
+                        int mapX, int mapW, int mapY, int mapH){
+
+    REQUIRE(con->getColorPlot()->getMapItem()->getActMapInvHue() == invHue);
+
+    QColor toColor = con->getColorPlot()->getMapItem()->getActMapToColor();
+    QColor fromColor = con->getColorPlot()->getMapItem()->getActMapFromColor();
+
+    // Hue
+    REQUIRE(toColor.hue() == toHue);
+    REQUIRE(fromColor.hue() == fromHue);
+
+    // Saturation
+    REQUIRE(toColor.saturation() == toSat);
+    REQUIRE(fromColor.saturation() == fromSat);
+
+    // Value
+    REQUIRE(toColor.value() == toVal);
+    REQUIRE(fromColor.value() == fromVal);
+
+    // Sliders
+    REQUIRE(con->mapX->value() == mapX);
+    REQUIRE(con->mapW->value() == mapW);
+    REQUIRE(con->mapY->value() == mapY);
+    REQUIRE(con->mapH->value() == mapH);
+}
+
+
+SCENARIO("I open PeTrack with a red image", "[ui][config]")
+{
+    Petrack pet {};
+    cv::Mat redTestImage {cv::Size(50, 50), CV_8UC3, cv::Scalar(179,255,200)};
+    cv::cvtColor(redTestImage, redTestImage, cv::COLOR_HSV2BGR);
+    // NOTE Gibt es eine bessere Methode, als das Bild erst zu speichern?
+    cv::imwrite("TESTBILD_DELETE_ME.png", redTestImage);
+    pet.openSequence("TESTBILD_DELETE_ME.png");
+    QPoint viewCenter = pet.getView()->viewport()->geometry().center();
+
+    QPointer<Control> con = pet.getControlWidget();
+
+    GIVEN("I click the colorPickerButton") {
+        QTestEventList eventList;
+        QPushButton* colorPickerButton = con->findChild<QPushButton*>("colorPickerButton");
+        eventList.addMouseClick(Qt::MouseButton::LeftButton, Qt::KeyboardModifier::NoModifier);
+        eventList.simulate(colorPickerButton);
+
+        THEN("The Button is checked") {
+            REQUIRE(colorPickerButton->isChecked());
+        }
+
+        AND_GIVEN("I shift+click on one point of the (red) image"){
+            eventList.clear();
+            eventList.addMouseClick(Qt::MouseButton::LeftButton, Qt::KeyboardModifier::ShiftModifier, viewCenter);
+
+            QSignalSpy setColorSpy{pet.getView(), SIGNAL(setColorEvent(QPoint, GraphicsView*))};
+            REQUIRE(setColorSpy.isValid());
+            setColorSpy.wait(20);
+            eventList.simulate(pet.getView()->viewport());
+            REQUIRE(setColorSpy.count() == 1);
+
+            THEN("This pixel and its sourroundings get selected as new color"){
+                // Red, so we need Inverse Hue
+                bool invHue = true;
+
+                // Hue Upper Bound: 358(179) + 5 (current Buffer) -> 363 -> 3
+                // Hue Lower Bound: 358(179) - 5 (current Buffer) -> 353
+                int toHue = 3, fromHue = 353;
+
+                // Saturation
+                // Upper Bound: 255 + 5 -> 255
+                // Lower Bound: 255 - 5 -> 250
+                int toSat = 255, fromSat = 250;
+
+                // Value
+                // Upper Bound: 200 + 5 -> 205
+                // Lower Bound: 200 - 5 -> 195
+                int toVal = 205, fromVal = 195;
+
+                // Sliders
+                // x = 2 * 3 = 6
+                int mapX = 6;
+                // w = |toHue - fromHue| = 350
+                int mapW= 350;
+                // y = 2 * fromSaturation = 500
+                int mapY = 500;
+                // h = toSaturation - fromSaturation = 5
+                int mapH = 5;
+
+                checkSelectedColor(con, invHue, toHue, fromHue, toSat, fromSat, toVal, fromVal, mapX, mapW, mapY, mapH);
+
+                AND_GIVEN("Afterwards I left-click on a slightly different red pixel"){
+                    cv::Mat differentRedTestImage {cv::Size(50, 50), CV_8UC3, cv::Scalar(170,235,220)};
+                    cv::cvtColor(differentRedTestImage, differentRedTestImage, cv::COLOR_HSV2BGR);
+                    pet.updateImage(differentRedTestImage);
+
+                    eventList.clear();
+                    eventList.addMouseClick(Qt::MouseButton::LeftButton, Qt::KeyboardModifier::NoModifier, viewCenter);
+                    eventList.simulate(pet.getView()->viewport());
+
+                    THEN("The selected color is expanded accordingly"){
+                        // new lower bound on Hue is 340 - 10 -> 330
+                        fromHue = 330;
+                        // 330 (fromHue) - 3 (toHue) = 327
+                        mapW = 327;
+                        // new lower bound on Saturation is 235 - 10 -> 225
+                        fromSat = 225;
+                        // 255 (toSat) - 225 (fromSat) = 30
+                        mapH = 30;
+                        // 225 * 2 = 450
+                        mapY = 450;
+                        // new upper bound on Value is 220 + 10 -> 230
+                        toVal = 230;
+
+                        checkSelectedColor(con, invHue, toHue, fromHue, toSat, fromSat, toVal, fromVal, mapX, mapW, mapY, mapH);
+                    }
+                }
+            }
+        }
+
+        AND_GIVEN("I shift+click on a red-isch/magenta pixel (Hue=340)"){
+            cv::Mat magentaTestImage {cv::Size(50, 50), CV_8UC3, cv::Scalar(170,235,220)};
+            cv::cvtColor(magentaTestImage, magentaTestImage, cv::COLOR_HSV2BGR);
+            pet.updateImage(magentaTestImage);
+
+            QTestEventList eventList;
+            eventList.addMouseClick(Qt::MouseButton::LeftButton, Qt::KeyboardModifier::ShiftModifier, viewCenter);
+            eventList.simulate(pet.getView()->viewport());
+
+            REQUIRE(!con->getColorPlot()->getMapItem()->getActMapInvHue());
+
+            AND_GIVEN("Afterwards I click on an red image (Hue=10)"){
+                cv::Mat otherSideRedImage {cv::Size(50, 50), CV_8UC3, cv::Scalar(5,235,220)};
+                cv::cvtColor(otherSideRedImage, otherSideRedImage, cv::COLOR_HSV2BGR);
+                pet.updateImage(otherSideRedImage);
+
+                QTestEventList eventList;
+                eventList.addMouseClick(Qt::MouseButton::LeftButton, Qt::KeyboardModifier::NoModifier, viewCenter);
+                eventList.simulate(pet.getView()->viewport());
+
+                THEN("Inverse hue gets checked"){ /*Lieber color changed accordingly und dementsprechend weiterarbeiten?*/
+                    REQUIRE(con->getColorPlot()->getMapItem()->getActMapInvHue());
+
+                }
+            }
+            AND_GIVEN("Afterwards I click on an pink Image (Hue=320)"){
+                cv::Mat pinkTestImage {cv::Size(50, 50), CV_8UC3, cv::Scalar(160,235,220)};
+                cv::cvtColor(pinkTestImage, pinkTestImage, cv::COLOR_HSV2BGR);
+                pet.updateImage(pinkTestImage);
+
+                QTestEventList eventList;
+                eventList.addMouseClick(Qt::MouseButton::LeftButton, Qt::KeyboardModifier::NoModifier, viewCenter);
+                eventList.simulate(pet.getView()->viewport());
+
+                THEN("I still do not use inverse Hue"){
+                    REQUIRE(!con->getColorPlot()->getMapItem()->getActMapInvHue());
+                }
+            }
+        }
+        AND_GIVEN("I shift+click on one specific pixel"){
+            cv::Mat newTestImage {cv::Size(50, 50), CV_8UC3, cv::Scalar(50,235,220)};
+            // set middle Pixel (clicked pixel) to other Value
+            newTestImage.at<cv::Vec3b>(cv::Point(25,25)) = cv::Vec3b(100,255,255);
+            cv::cvtColor(newTestImage, newTestImage, cv::COLOR_HSV2BGR);
+            pet.updateImage(newTestImage);
+
+            QTestEventList eventList;
+            QPointF pointOnScene = pet.getImageItem()->mapToScene(QPoint(25, 25));
+            QPoint pointOnViewport = pet.getView()->mapFromScene(pointOnScene);
+            eventList.addMouseClick(Qt::MouseButton::LeftButton, Qt::KeyboardModifier::ShiftModifier,
+                                    pointOnViewport);
+            eventList.simulate(pet.getView()->viewport());
+
+            THEN("I get a color selection fitting this single pixel"){
+                bool invHue = false;
+                // Upper Bound Hue 200 + 5 -> 105 Lower Bound: 200 - 5 -> 95
+                int fromHue = 195, toHue = 205;
+                // mapW = tH-fH = 10
+                int mapW = 10;
+                // mapX = 2*fH = 2 * 195 = 390
+                int mapX = 390;
+                // Upper bound saturation 255 + 5 -> 255 Lower bound 255 - 5 -> 250
+                int fromSat = 250, toSat = 255;
+                // map H = 255 - 250 = 5
+                int mapH = 5;
+                // mapY = 2 * 250 = 500
+                int mapY = 500;
+                // Upper bound value 255 + 5 -> 255 Lower bound 255 - 5 -> 250
+                int fromVal = 250, toVal = 255;
+
+                checkSelectedColor(con, invHue, toHue, fromHue, toSat, fromSat, toVal, fromVal, mapX, mapW, mapY, mapH);
+            }
+        }
+    } // Clicked Color Picker Button
+} // Scenario
diff --git a/ui/control.ui b/ui/control.ui
index ce1568121aab2115e5421a91e92b041998027884..5a37917524068c7875f21e69e8bd461c64afd6d0 100644
--- a/ui/control.ui
+++ b/ui/control.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>380</width>
-    <height>357</height>
+    <height>604</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -3938,7 +3938,7 @@
                 <item>
                  <widget class="QGroupBox" name="groupBox_4">
                   <property name="sizePolicy">
-                   <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+                   <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
                     <horstretch>0</horstretch>
                     <verstretch>0</verstretch>
                    </sizepolicy>
@@ -3952,284 +3952,346 @@
                   <property name="maximumSize">
                    <size>
                     <width>350</width>
-                    <height>110</height>
+                    <height>222</height>
                    </size>
                   </property>
                   <property name="title">
                    <string>map</string>
                   </property>
-                  <widget class="QWidget" name="layoutWidget11">
-                   <property name="geometry">
-                    <rect>
-                     <x>10</x>
-                     <y>20</y>
-                     <width>271</width>
-                     <height>95</height>
-                    </rect>
+                  <layout class="QHBoxLayout" name="horizontalLayout_21">
+                   <property name="spacing">
+                    <number>9</number>
                    </property>
-                   <layout class="QVBoxLayout">
-                    <property name="spacing">
-                     <number>6</number>
-                    </property>
-                    <property name="leftMargin">
-                     <number>0</number>
-                    </property>
-                    <property name="topMargin">
-                     <number>0</number>
-                    </property>
-                    <property name="rightMargin">
-                     <number>0</number>
-                    </property>
-                    <property name="bottomMargin">
-                     <number>0</number>
-                    </property>
-                    <item>
-                     <layout class="QGridLayout">
-                      <property name="leftMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="topMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="rightMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="bottomMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="spacing">
-                       <number>6</number>
-                      </property>
-                      <item row="1" column="3">
-                       <widget class="QLabel" name="label_44">
-                        <property name="sizePolicy">
-                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-                          <horstretch>0</horstretch>
-                          <verstretch>0</verstretch>
-                         </sizepolicy>
-                        </property>
-                        <property name="text">
-                         <string>h:</string>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="0" column="1">
-                       <widget class="QLabel" name="label_40">
-                        <property name="sizePolicy">
-                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-                          <horstretch>0</horstretch>
-                          <verstretch>0</verstretch>
-                         </sizepolicy>
-                        </property>
-                        <property name="text">
-                         <string>x:</string>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="0" column="2">
-                       <widget class="QScrollBar" name="mapX">
-                        <property name="maximum">
-                         <number>718</number>
-                        </property>
-                        <property name="orientation">
-                         <enum>Qt::Horizontal</enum>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="4">
-                       <widget class="QScrollBar" name="mapH">
-                        <property name="maximum">
-                         <number>395</number>
-                        </property>
-                        <property name="orientation">
-                         <enum>Qt::Horizontal</enum>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="2">
-                       <widget class="QScrollBar" name="mapW">
-                        <property name="maximum">
-                         <number>395</number>
-                        </property>
-                        <property name="orientation">
-                         <enum>Qt::Horizontal</enum>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="0" column="4">
-                       <widget class="QScrollBar" name="mapY">
-                        <property name="maximum">
-                         <number>718</number>
-                        </property>
-                        <property name="orientation">
-                         <enum>Qt::Horizontal</enum>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="1">
-                       <widget class="QLabel" name="label_43">
-                        <property name="sizePolicy">
-                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-                          <horstretch>0</horstretch>
-                          <verstretch>0</verstretch>
-                         </sizepolicy>
-                        </property>
-                        <property name="text">
-                         <string>w:</string>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="0" column="3">
-                       <widget class="QLabel" name="label_42">
-                        <property name="sizePolicy">
-                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-                          <horstretch>0</horstretch>
-                          <verstretch>0</verstretch>
-                         </sizepolicy>
-                        </property>
-                        <property name="text">
-                         <string>y:</string>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="0" column="0">
-                       <widget class="QSpinBox" name="mapNr">
-                        <property name="sizePolicy">
-                         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                          <horstretch>0</horstretch>
-                          <verstretch>0</verstretch>
-                         </sizepolicy>
-                        </property>
-                        <property name="alignment">
-                         <set>Qt::AlignRight</set>
-                        </property>
-                        <property name="maximum">
-                         <number>0</number>
-                        </property>
-                       </widget>
-                      </item>
-                      <item row="1" column="0">
-                       <widget class="QCheckBox" name="mapColor">
-                        <property name="sizePolicy">
-                         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                          <horstretch>0</horstretch>
-                          <verstretch>0</verstretch>
-                         </sizepolicy>
-                        </property>
-                        <property name="text">
-                         <string>color</string>
-                        </property>
-                        <property name="checked">
-                         <bool>true</bool>
-                        </property>
-                       </widget>
-                      </item>
-                     </layout>
-                    </item>
-                    <item>
-                     <layout class="QHBoxLayout">
-                      <property name="spacing">
-                       <number>6</number>
-                      </property>
-                      <property name="leftMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="topMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="rightMargin">
-                       <number>0</number>
-                      </property>
-                      <property name="bottomMargin">
-                       <number>0</number>
-                      </property>
-                      <item>
-                       <widget class="QLabel" name="label_45">
-                        <property name="sizePolicy">
-                         <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
-                          <horstretch>0</horstretch>
-                          <verstretch>0</verstretch>
-                         </sizepolicy>
-                        </property>
-                        <property name="text">
-                         <string>height:</string>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <widget class="QDoubleSpinBox" name="mapHeight">
-                        <property name="sizePolicy">
-                         <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-                          <horstretch>0</horstretch>
-                          <verstretch>0</verstretch>
-                         </sizepolicy>
-                        </property>
-                        <property name="alignment">
-                         <set>Qt::AlignRight</set>
-                        </property>
-                        <property name="decimals">
-                         <number>1</number>
-                        </property>
-                        <property name="minimum">
-                         <double>50.000000000000000</double>
-                        </property>
-                        <property name="maximum">
-                         <double>250.000000000000000</double>
-                        </property>
-                        <property name="value">
-                         <double>180.000000000000000</double>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <widget class="QPushButton" name="mapAdd">
-                        <property name="sizePolicy">
-                         <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-                          <horstretch>0</horstretch>
-                          <verstretch>0</verstretch>
-                         </sizepolicy>
-                        </property>
-                        <property name="maximumSize">
-                         <size>
-                          <width>40</width>
-                          <height>16777215</height>
-                         </size>
-                        </property>
-                        <property name="text">
-                         <string>add</string>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <widget class="QPushButton" name="mapDel">
-                        <property name="maximumSize">
-                         <size>
-                          <width>40</width>
-                          <height>16777215</height>
-                         </size>
-                        </property>
-                        <property name="text">
-                         <string>delete</string>
-                        </property>
-                       </widget>
-                      </item>
-                      <item>
-                       <widget class="QPushButton" name="mapColorRange">
-                        <property name="maximumSize">
-                         <size>
-                          <width>80</width>
-                          <height>16777215</height>
-                         </size>
-                        </property>
-                        <property name="text">
-                         <string>color range</string>
-                        </property>
-                       </widget>
-                      </item>
-                     </layout>
-                    </item>
-                   </layout>
-                  </widget>
+                   <item>
+                    <layout class="QVBoxLayout">
+                     <property name="spacing">
+                      <number>6</number>
+                     </property>
+                     <property name="sizeConstraint">
+                      <enum>QLayout::SetDefaultConstraint</enum>
+                     </property>
+                     <property name="leftMargin">
+                      <number>0</number>
+                     </property>
+                     <property name="topMargin">
+                      <number>0</number>
+                     </property>
+                     <property name="rightMargin">
+                      <number>0</number>
+                     </property>
+                     <property name="bottomMargin">
+                      <number>0</number>
+                     </property>
+                     <item>
+                      <layout class="QGridLayout">
+                       <property name="sizeConstraint">
+                        <enum>QLayout::SetDefaultConstraint</enum>
+                       </property>
+                       <property name="leftMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="topMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="rightMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="bottomMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="spacing">
+                        <number>6</number>
+                       </property>
+                       <item row="0" column="3">
+                        <widget class="QLabel" name="label_42">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="text">
+                          <string>y:</string>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="0" column="2">
+                        <widget class="QScrollBar" name="mapX">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="minimumSize">
+                          <size>
+                           <width>0</width>
+                           <height>0</height>
+                          </size>
+                         </property>
+                         <property name="maximum">
+                          <number>718</number>
+                         </property>
+                         <property name="orientation">
+                          <enum>Qt::Horizontal</enum>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="0" column="0">
+                        <widget class="QSpinBox" name="mapNr">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="alignment">
+                          <set>Qt::AlignRight</set>
+                         </property>
+                         <property name="maximum">
+                          <number>0</number>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="1" column="0">
+                        <widget class="QCheckBox" name="mapColor">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="text">
+                          <string>color</string>
+                         </property>
+                         <property name="checked">
+                          <bool>true</bool>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="1" column="3">
+                        <widget class="QLabel" name="label_44">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="text">
+                          <string>h:</string>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="1" column="4">
+                        <widget class="QScrollBar" name="mapH">
+                         <property name="maximum">
+                          <number>395</number>
+                         </property>
+                         <property name="orientation">
+                          <enum>Qt::Horizontal</enum>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="1" column="1">
+                        <widget class="QLabel" name="label_43">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="text">
+                          <string>w:</string>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="1" column="2">
+                        <widget class="QScrollBar" name="mapW">
+                         <property name="maximum">
+                          <number>395</number>
+                         </property>
+                         <property name="orientation">
+                          <enum>Qt::Horizontal</enum>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="0" column="4">
+                        <widget class="QScrollBar" name="mapY">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="minimumSize">
+                          <size>
+                           <width>0</width>
+                           <height>0</height>
+                          </size>
+                         </property>
+                         <property name="maximum">
+                          <number>718</number>
+                         </property>
+                         <property name="orientation">
+                          <enum>Qt::Horizontal</enum>
+                         </property>
+                        </widget>
+                       </item>
+                       <item row="0" column="1">
+                        <widget class="QLabel" name="label_40">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="text">
+                          <string>x:</string>
+                         </property>
+                        </widget>
+                       </item>
+                      </layout>
+                     </item>
+                     <item>
+                      <layout class="QHBoxLayout">
+                       <property name="spacing">
+                        <number>6</number>
+                       </property>
+                       <property name="leftMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="topMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="rightMargin">
+                        <number>0</number>
+                       </property>
+                       <property name="bottomMargin">
+                        <number>0</number>
+                       </property>
+                       <item>
+                        <widget class="QLabel" name="label_45">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Fixed" vsizetype="Preferred">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="text">
+                          <string>height:</string>
+                         </property>
+                        </widget>
+                       </item>
+                       <item>
+                        <widget class="QDoubleSpinBox" name="mapHeight">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="alignment">
+                          <set>Qt::AlignRight</set>
+                         </property>
+                         <property name="decimals">
+                          <number>1</number>
+                         </property>
+                         <property name="minimum">
+                          <double>50.000000000000000</double>
+                         </property>
+                         <property name="maximum">
+                          <double>250.000000000000000</double>
+                         </property>
+                         <property name="value">
+                          <double>180.000000000000000</double>
+                         </property>
+                        </widget>
+                       </item>
+                       <item>
+                        <widget class="QPushButton" name="mapAdd">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="maximumSize">
+                          <size>
+                           <width>40</width>
+                           <height>16777215</height>
+                          </size>
+                         </property>
+                         <property name="text">
+                          <string>add</string>
+                         </property>
+                        </widget>
+                       </item>
+                       <item>
+                        <widget class="QPushButton" name="mapDel">
+                         <property name="maximumSize">
+                          <size>
+                           <width>40</width>
+                           <height>16777215</height>
+                          </size>
+                         </property>
+                         <property name="text">
+                          <string>delete</string>
+                         </property>
+                        </widget>
+                       </item>
+                      </layout>
+                     </item>
+                     <item>
+                      <layout class="QHBoxLayout" name="horizontalLayout_22">
+                       <property name="sizeConstraint">
+                        <enum>QLayout::SetDefaultConstraint</enum>
+                       </property>
+                       <item>
+                        <widget class="QPushButton" name="mapColorRange">
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="maximumSize">
+                          <size>
+                           <width>80</width>
+                           <height>16777215</height>
+                          </size>
+                         </property>
+                         <property name="text">
+                          <string>color range</string>
+                         </property>
+                        </widget>
+                       </item>
+                       <item>
+                        <widget class="QPushButton" name="colorPickerButton">
+                         <property name="enabled">
+                          <bool>true</bool>
+                         </property>
+                         <property name="sizePolicy">
+                          <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
+                           <horstretch>0</horstretch>
+                           <verstretch>0</verstretch>
+                          </sizepolicy>
+                         </property>
+                         <property name="styleSheet">
+                          <string notr="true"/>
+                         </property>
+                         <property name="text">
+                          <string>color picker</string>
+                         </property>
+                         <property name="checkable">
+                          <bool>true</bool>
+                         </property>
+                        </widget>
+                       </item>
+                      </layout>
+                     </item>
+                    </layout>
+                   </item>
+                  </layout>
                  </widget>
                 </item>
                 <item>
@@ -5996,6 +6058,15 @@
                          </color>
                         </brush>
                        </colorrole>
+                       <colorrole role="PlaceholderText">
+                        <brush brushstyle="NoBrush">
+                         <color alpha="128">
+                          <red>0</red>
+                          <green>0</green>
+                          <blue>0</blue>
+                         </color>
+                        </brush>
+                       </colorrole>
                       </active>
                       <inactive>
                        <colorrole role="WindowText">
@@ -6133,6 +6204,15 @@
                          </color>
                         </brush>
                        </colorrole>
+                       <colorrole role="PlaceholderText">
+                        <brush brushstyle="NoBrush">
+                         <color alpha="128">
+                          <red>0</red>
+                          <green>0</green>
+                          <blue>0</blue>
+                         </color>
+                        </brush>
+                       </colorrole>
                       </inactive>
                       <disabled>
                        <colorrole role="WindowText">
@@ -6270,6 +6350,15 @@
                          </color>
                         </brush>
                        </colorrole>
+                       <colorrole role="PlaceholderText">
+                        <brush brushstyle="NoBrush">
+                         <color alpha="128">
+                          <red>0</red>
+                          <green>0</green>
+                          <blue>0</blue>
+                         </color>
+                        </brush>
+                       </colorrole>
                       </disabled>
                      </palette>
                     </property>
@@ -6639,6 +6728,15 @@
                          </color>
                         </brush>
                        </colorrole>
+                       <colorrole role="PlaceholderText">
+                        <brush brushstyle="NoBrush">
+                         <color alpha="128">
+                          <red>0</red>
+                          <green>0</green>
+                          <blue>0</blue>
+                         </color>
+                        </brush>
+                       </colorrole>
                       </active>
                       <inactive>
                        <colorrole role="WindowText">
@@ -6776,6 +6874,15 @@
                          </color>
                         </brush>
                        </colorrole>
+                       <colorrole role="PlaceholderText">
+                        <brush brushstyle="NoBrush">
+                         <color alpha="128">
+                          <red>0</red>
+                          <green>0</green>
+                          <blue>0</blue>
+                         </color>
+                        </brush>
+                       </colorrole>
                       </inactive>
                       <disabled>
                        <colorrole role="WindowText">
@@ -6913,6 +7020,15 @@
                          </color>
                         </brush>
                        </colorrole>
+                       <colorrole role="PlaceholderText">
+                        <brush brushstyle="NoBrush">
+                         <color alpha="128">
+                          <red>0</red>
+                          <green>0</green>
+                          <blue>0</blue>
+                         </color>
+                        </brush>
+                       </colorrole>
                       </disabled>
                      </palette>
                     </property>
@@ -7084,7 +7200,7 @@
             <x>0</x>
             <y>0</y>
             <width>354</width>
-            <height>311</height>
+            <height>558</height>
            </rect>
           </property>
           <layout class="QVBoxLayout" name="verticalLayout_18">
diff --git a/ui/ui_codeMarker.h b/ui/ui_codeMarker.h
deleted file mode 100644
index 481792b265cc0d7fe31dccb1779633ab652c4695..0000000000000000000000000000000000000000
--- a/ui/ui_codeMarker.h
+++ /dev/null
@@ -1,424 +0,0 @@
-/********************************************************************************
-** Form generated from reading UI file 'codeMarker.ui'
-**
-** Created by: Qt User Interface Compiler version 5.14.1
-**
-** WARNING! All changes made in this file will be lost when recompiling UI file!
-********************************************************************************/
-
-#ifndef UI_CODEMARKER_H
-#define UI_CODEMARKER_H
-
-#include <QtCore/QVariant>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QCheckBox>
-#include <QtWidgets/QComboBox>
-#include <QtWidgets/QDoubleSpinBox>
-#include <QtWidgets/QGridLayout>
-#include <QtWidgets/QGroupBox>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QPushButton>
-#include <QtWidgets/QSpinBox>
-#include <QtWidgets/QVBoxLayout>
-#include <QtWidgets/QWidget>
-
-QT_BEGIN_NAMESPACE
-
-class Ui_CodeMarker
-{
-public:
-    QVBoxLayout *verticalLayout_2;
-    QHBoxLayout *horizontalLayout;
-    QLabel *label_6;
-    QComboBox *dictList;
-    QVBoxLayout *verticalLayout;
-    QCheckBox *showDetectedCandidates;
-    QGroupBox *groupBox;
-    QGridLayout *gridLayout;
-    QDoubleSpinBox *maxMarkerPerimeter;
-    QDoubleSpinBox *minMarkerPerimeter;
-    QSpinBox *adaptiveThreshWinSizeMax;
-    QLabel *label;
-    QSpinBox *adaptiveThreshConstant;
-    QSpinBox *markerBorderBits;
-    QLabel *label_2;
-    QSpinBox *adaptiveThreshWinSizeStep;
-    QDoubleSpinBox *polygonalApproxAccuracyRate;
-    QLabel *label_4;
-    QDoubleSpinBox *maxErroneousBitsInBorderRate;
-    QLabel *label_3;
-    QDoubleSpinBox *minCornerDistance;
-    QSpinBox *adaptiveThreshWinSizeMin;
-    QLabel *label_9;
-    QSpinBox *minDistanceToBorder;
-    QLabel *label_7;
-    QLabel *label_15;
-    QLabel *label_17;
-    QLabel *label_8;
-    QDoubleSpinBox *minMarkerDistance;
-    QDoubleSpinBox *errorCorrectionRate;
-    QLabel *label_16;
-    QDoubleSpinBox *minOtsuStdDev;
-    QGroupBox *groupBox_2;
-    QGridLayout *gridLayout_3;
-    QSpinBox *perspectiveRemovePixelPerCell;
-    QLabel *label_13;
-    QLabel *label_14;
-    QDoubleSpinBox *perspectiveRemoveIgnoredMarginPerCell;
-    QGroupBox *doCornerRefinement;
-    QGridLayout *gridLayout_2;
-    QSpinBox *cornerRefinementWinSize;
-    QLabel *label_11;
-    QSpinBox *cornerRefinementMaxIterations;
-    QLabel *label_12;
-    QDoubleSpinBox *cornerRefinementMinAccuracy;
-    QLabel *label_10;
-    QPushButton *moreInfosButton;
-
-    void setupUi(QWidget *CodeMarker)
-    {
-        if (CodeMarker->objectName().isEmpty())
-            CodeMarker->setObjectName(QString::fromUtf8("CodeMarker"));
-        CodeMarker->resize(397, 637);
-        verticalLayout_2 = new QVBoxLayout(CodeMarker);
-        verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
-        horizontalLayout = new QHBoxLayout();
-        horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
-        label_6 = new QLabel(CodeMarker);
-        label_6->setObjectName(QString::fromUtf8("label_6"));
-
-        horizontalLayout->addWidget(label_6);
-
-        dictList = new QComboBox(CodeMarker);
-        dictList->setObjectName(QString::fromUtf8("dictList"));
-        dictList->setSizeAdjustPolicy(QComboBox::AdjustToContents);
-
-        horizontalLayout->addWidget(dictList);
-
-        horizontalLayout->setStretch(1, 1);
-
-        verticalLayout_2->addLayout(horizontalLayout);
-
-        verticalLayout = new QVBoxLayout();
-        verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
-        showDetectedCandidates = new QCheckBox(CodeMarker);
-        showDetectedCandidates->setObjectName(QString::fromUtf8("showDetectedCandidates"));
-
-        verticalLayout->addWidget(showDetectedCandidates);
-
-
-        verticalLayout_2->addLayout(verticalLayout);
-
-        groupBox = new QGroupBox(CodeMarker);
-        groupBox->setObjectName(QString::fromUtf8("groupBox"));
-        gridLayout = new QGridLayout(groupBox);
-        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
-        maxMarkerPerimeter = new QDoubleSpinBox(groupBox);
-        maxMarkerPerimeter->setObjectName(QString::fromUtf8("maxMarkerPerimeter"));
-        maxMarkerPerimeter->setFocusPolicy(Qt::WheelFocus);
-        maxMarkerPerimeter->setMinimum(1.000000000000000);
-        maxMarkerPerimeter->setMaximum(100.000000000000000);
-        maxMarkerPerimeter->setSingleStep(1.000000000000000);
-        maxMarkerPerimeter->setValue(15.000000000000000);
-
-        gridLayout->addWidget(maxMarkerPerimeter, 2, 2, 1, 1);
-
-        minMarkerPerimeter = new QDoubleSpinBox(groupBox);
-        minMarkerPerimeter->setObjectName(QString::fromUtf8("minMarkerPerimeter"));
-        minMarkerPerimeter->setMinimum(0.100000000000000);
-        minMarkerPerimeter->setSingleStep(1.000000000000000);
-        minMarkerPerimeter->setValue(5.000000000000000);
-
-        gridLayout->addWidget(minMarkerPerimeter, 2, 1, 1, 1);
-
-        adaptiveThreshWinSizeMax = new QSpinBox(groupBox);
-        adaptiveThreshWinSizeMax->setObjectName(QString::fromUtf8("adaptiveThreshWinSizeMax"));
-        adaptiveThreshWinSizeMax->setMinimum(3);
-        adaptiveThreshWinSizeMax->setValue(23);
-
-        gridLayout->addWidget(adaptiveThreshWinSizeMax, 0, 2, 1, 1);
-
-        label = new QLabel(groupBox);
-        label->setObjectName(QString::fromUtf8("label"));
-
-        gridLayout->addWidget(label, 9, 0, 1, 1);
-
-        adaptiveThreshConstant = new QSpinBox(groupBox);
-        adaptiveThreshConstant->setObjectName(QString::fromUtf8("adaptiveThreshConstant"));
-        adaptiveThreshConstant->setValue(7);
-
-        gridLayout->addWidget(adaptiveThreshConstant, 1, 2, 1, 1);
-
-        markerBorderBits = new QSpinBox(groupBox);
-        markerBorderBits->setObjectName(QString::fromUtf8("markerBorderBits"));
-        markerBorderBits->setMinimum(1);
-        markerBorderBits->setValue(1);
-
-        gridLayout->addWidget(markerBorderBits, 9, 1, 1, 1);
-
-        label_2 = new QLabel(groupBox);
-        label_2->setObjectName(QString::fromUtf8("label_2"));
-
-        gridLayout->addWidget(label_2, 0, 0, 1, 1);
-
-        adaptiveThreshWinSizeStep = new QSpinBox(groupBox);
-        adaptiveThreshWinSizeStep->setObjectName(QString::fromUtf8("adaptiveThreshWinSizeStep"));
-        adaptiveThreshWinSizeStep->setMinimum(1);
-        adaptiveThreshWinSizeStep->setValue(10);
-
-        gridLayout->addWidget(adaptiveThreshWinSizeStep, 1, 1, 1, 1);
-
-        polygonalApproxAccuracyRate = new QDoubleSpinBox(groupBox);
-        polygonalApproxAccuracyRate->setObjectName(QString::fromUtf8("polygonalApproxAccuracyRate"));
-        polygonalApproxAccuracyRate->setMinimum(0.010000000000000);
-        polygonalApproxAccuracyRate->setSingleStep(0.010000000000000);
-        polygonalApproxAccuracyRate->setValue(0.030000000000000);
-
-        gridLayout->addWidget(polygonalApproxAccuracyRate, 3, 1, 1, 1);
-
-        label_4 = new QLabel(groupBox);
-        label_4->setObjectName(QString::fromUtf8("label_4"));
-
-        gridLayout->addWidget(label_4, 3, 0, 1, 1);
-
-        maxErroneousBitsInBorderRate = new QDoubleSpinBox(groupBox);
-        maxErroneousBitsInBorderRate->setObjectName(QString::fromUtf8("maxErroneousBitsInBorderRate"));
-        maxErroneousBitsInBorderRate->setMinimum(0.010000000000000);
-        maxErroneousBitsInBorderRate->setSingleStep(0.010000000000000);
-        maxErroneousBitsInBorderRate->setValue(0.350000000000000);
-
-        gridLayout->addWidget(maxErroneousBitsInBorderRate, 11, 1, 1, 1);
-
-        label_3 = new QLabel(groupBox);
-        label_3->setObjectName(QString::fromUtf8("label_3"));
-
-        gridLayout->addWidget(label_3, 2, 0, 1, 1);
-
-        minCornerDistance = new QDoubleSpinBox(groupBox);
-        minCornerDistance->setObjectName(QString::fromUtf8("minCornerDistance"));
-        minCornerDistance->setMinimum(0.000000000000000);
-        minCornerDistance->setMaximum(100.000000000000000);
-        minCornerDistance->setSingleStep(0.010000000000000);
-        minCornerDistance->setValue(0.050000000000000);
-
-        gridLayout->addWidget(minCornerDistance, 4, 1, 1, 1);
-
-        adaptiveThreshWinSizeMin = new QSpinBox(groupBox);
-        adaptiveThreshWinSizeMin->setObjectName(QString::fromUtf8("adaptiveThreshWinSizeMin"));
-        adaptiveThreshWinSizeMin->setMinimum(3);
-        adaptiveThreshWinSizeMin->setValue(3);
-
-        gridLayout->addWidget(adaptiveThreshWinSizeMin, 0, 1, 1, 1);
-
-        label_9 = new QLabel(groupBox);
-        label_9->setObjectName(QString::fromUtf8("label_9"));
-
-        gridLayout->addWidget(label_9, 6, 0, 1, 1);
-
-        minDistanceToBorder = new QSpinBox(groupBox);
-        minDistanceToBorder->setObjectName(QString::fromUtf8("minDistanceToBorder"));
-        minDistanceToBorder->setMinimum(0);
-        minDistanceToBorder->setValue(3);
-
-        gridLayout->addWidget(minDistanceToBorder, 5, 1, 1, 1);
-
-        label_7 = new QLabel(groupBox);
-        label_7->setObjectName(QString::fromUtf8("label_7"));
-
-        gridLayout->addWidget(label_7, 4, 0, 1, 1);
-
-        label_15 = new QLabel(groupBox);
-        label_15->setObjectName(QString::fromUtf8("label_15"));
-
-        gridLayout->addWidget(label_15, 11, 0, 1, 1);
-
-        label_17 = new QLabel(groupBox);
-        label_17->setObjectName(QString::fromUtf8("label_17"));
-
-        gridLayout->addWidget(label_17, 14, 0, 1, 1);
-
-        label_8 = new QLabel(groupBox);
-        label_8->setObjectName(QString::fromUtf8("label_8"));
-
-        gridLayout->addWidget(label_8, 5, 0, 1, 1);
-
-        minMarkerDistance = new QDoubleSpinBox(groupBox);
-        minMarkerDistance->setObjectName(QString::fromUtf8("minMarkerDistance"));
-        minMarkerDistance->setMinimum(0.000000000000000);
-        minMarkerDistance->setSingleStep(0.500000000000000);
-        minMarkerDistance->setValue(0.050000000000000);
-
-        gridLayout->addWidget(minMarkerDistance, 6, 1, 1, 1);
-
-        errorCorrectionRate = new QDoubleSpinBox(groupBox);
-        errorCorrectionRate->setObjectName(QString::fromUtf8("errorCorrectionRate"));
-        errorCorrectionRate->setMinimum(0.010000000000000);
-        errorCorrectionRate->setSingleStep(0.100000000000000);
-        errorCorrectionRate->setValue(0.600000000000000);
-
-        gridLayout->addWidget(errorCorrectionRate, 14, 1, 1, 1);
-
-        label_16 = new QLabel(groupBox);
-        label_16->setObjectName(QString::fromUtf8("label_16"));
-
-        gridLayout->addWidget(label_16, 13, 0, 1, 1);
-
-        minOtsuStdDev = new QDoubleSpinBox(groupBox);
-        minOtsuStdDev->setObjectName(QString::fromUtf8("minOtsuStdDev"));
-        minOtsuStdDev->setMinimum(0.010000000000000);
-        minOtsuStdDev->setSingleStep(0.500000000000000);
-        minOtsuStdDev->setValue(5.000000000000000);
-
-        gridLayout->addWidget(minOtsuStdDev, 13, 1, 1, 1);
-
-        groupBox_2 = new QGroupBox(groupBox);
-        groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
-        gridLayout_3 = new QGridLayout(groupBox_2);
-        gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
-        perspectiveRemovePixelPerCell = new QSpinBox(groupBox_2);
-        perspectiveRemovePixelPerCell->setObjectName(QString::fromUtf8("perspectiveRemovePixelPerCell"));
-        perspectiveRemovePixelPerCell->setMinimum(1);
-        perspectiveRemovePixelPerCell->setValue(4);
-
-        gridLayout_3->addWidget(perspectiveRemovePixelPerCell, 0, 1, 1, 1);
-
-        label_13 = new QLabel(groupBox_2);
-        label_13->setObjectName(QString::fromUtf8("label_13"));
-
-        gridLayout_3->addWidget(label_13, 0, 0, 1, 1);
-
-        label_14 = new QLabel(groupBox_2);
-        label_14->setObjectName(QString::fromUtf8("label_14"));
-
-        gridLayout_3->addWidget(label_14, 1, 0, 1, 1);
-
-        perspectiveRemoveIgnoredMarginPerCell = new QDoubleSpinBox(groupBox_2);
-        perspectiveRemoveIgnoredMarginPerCell->setObjectName(QString::fromUtf8("perspectiveRemoveIgnoredMarginPerCell"));
-        perspectiveRemoveIgnoredMarginPerCell->setMinimum(0.010000000000000);
-        perspectiveRemoveIgnoredMarginPerCell->setSingleStep(0.010000000000000);
-        perspectiveRemoveIgnoredMarginPerCell->setValue(0.130000000000000);
-
-        gridLayout_3->addWidget(perspectiveRemoveIgnoredMarginPerCell, 1, 1, 1, 1);
-
-
-        gridLayout->addWidget(groupBox_2, 10, 0, 1, 2);
-
-        doCornerRefinement = new QGroupBox(groupBox);
-        doCornerRefinement->setObjectName(QString::fromUtf8("doCornerRefinement"));
-        doCornerRefinement->setCheckable(true);
-        doCornerRefinement->setChecked(false);
-        gridLayout_2 = new QGridLayout(doCornerRefinement);
-        gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
-        cornerRefinementWinSize = new QSpinBox(doCornerRefinement);
-        cornerRefinementWinSize->setObjectName(QString::fromUtf8("cornerRefinementWinSize"));
-        cornerRefinementWinSize->setMinimum(1);
-        cornerRefinementWinSize->setValue(5);
-
-        gridLayout_2->addWidget(cornerRefinementWinSize, 0, 2, 1, 1);
-
-        label_11 = new QLabel(doCornerRefinement);
-        label_11->setObjectName(QString::fromUtf8("label_11"));
-
-        gridLayout_2->addWidget(label_11, 1, 1, 1, 1);
-
-        cornerRefinementMaxIterations = new QSpinBox(doCornerRefinement);
-        cornerRefinementMaxIterations->setObjectName(QString::fromUtf8("cornerRefinementMaxIterations"));
-        cornerRefinementMaxIterations->setMinimum(1);
-        cornerRefinementMaxIterations->setValue(30);
-
-        gridLayout_2->addWidget(cornerRefinementMaxIterations, 1, 2, 1, 1);
-
-        label_12 = new QLabel(doCornerRefinement);
-        label_12->setObjectName(QString::fromUtf8("label_12"));
-
-        gridLayout_2->addWidget(label_12, 2, 1, 1, 1);
-
-        cornerRefinementMinAccuracy = new QDoubleSpinBox(doCornerRefinement);
-        cornerRefinementMinAccuracy->setObjectName(QString::fromUtf8("cornerRefinementMinAccuracy"));
-        cornerRefinementMinAccuracy->setMinimum(0.010000000000000);
-        cornerRefinementMinAccuracy->setSingleStep(0.100000000000000);
-        cornerRefinementMinAccuracy->setValue(0.100000000000000);
-
-        gridLayout_2->addWidget(cornerRefinementMinAccuracy, 2, 2, 1, 1);
-
-        label_10 = new QLabel(doCornerRefinement);
-        label_10->setObjectName(QString::fromUtf8("label_10"));
-        label_10->setLayoutDirection(Qt::LeftToRight);
-
-        gridLayout_2->addWidget(label_10, 0, 1, 1, 1);
-
-
-        gridLayout->addWidget(doCornerRefinement, 8, 0, 1, 2);
-
-        moreInfosButton = new QPushButton(groupBox);
-        moreInfosButton->setObjectName(QString::fromUtf8("moreInfosButton"));
-
-        gridLayout->addWidget(moreInfosButton, 15, 1, 1, 1);
-
-
-        verticalLayout_2->addWidget(groupBox);
-
-
-        retranslateUi(CodeMarker);
-
-        QMetaObject::connectSlotsByName(CodeMarker);
-    } // setupUi
-
-    void retranslateUi(QWidget *CodeMarker)
-    {
-        label_6->setText(QCoreApplication::translate("CodeMarker", "dictionary: ", nullptr));
-        showDetectedCandidates->setText(QCoreApplication::translate("CodeMarker", "show detected candidates", nullptr));
-        groupBox->setTitle(QCoreApplication::translate("CodeMarker", "detection parameters", nullptr));
-        maxMarkerPerimeter->setPrefix(QCoreApplication::translate("CodeMarker", "max: ", nullptr));
-        maxMarkerPerimeter->setSuffix(QCoreApplication::translate("CodeMarker", " cm", nullptr));
-        minMarkerPerimeter->setPrefix(QCoreApplication::translate("CodeMarker", "min: ", nullptr));
-        minMarkerPerimeter->setSuffix(QCoreApplication::translate("CodeMarker", " cm", nullptr));
-        adaptiveThreshWinSizeMax->setSuffix(QCoreApplication::translate("CodeMarker", " px", nullptr));
-        adaptiveThreshWinSizeMax->setPrefix(QCoreApplication::translate("CodeMarker", "max: ", nullptr));
-        label->setText(QCoreApplication::translate("CodeMarker", "marker border size", nullptr));
-        adaptiveThreshConstant->setPrefix(QCoreApplication::translate("CodeMarker", "constant: ", nullptr));
-        markerBorderBits->setSuffix(QCoreApplication::translate("CodeMarker", " px", nullptr));
-        label_2->setText(QCoreApplication::translate("CodeMarker", "adaptive thresholding window:", nullptr));
-        adaptiveThreshWinSizeStep->setPrefix(QCoreApplication::translate("CodeMarker", "step: ", nullptr));
-        label_4->setText(QCoreApplication::translate("CodeMarker", "max ratio error:", nullptr));
-        maxErroneousBitsInBorderRate->setPrefix(QCoreApplication::translate("CodeMarker", "max: ", nullptr));
-        label_3->setText(QCoreApplication::translate("CodeMarker", "marker perimeter:", nullptr));
-        minCornerDistance->setPrefix(QCoreApplication::translate("CodeMarker", "min: ", nullptr));
-        minCornerDistance->setSuffix(QString());
-        adaptiveThreshWinSizeMin->setSuffix(QCoreApplication::translate("CodeMarker", " px", nullptr));
-        adaptiveThreshWinSizeMin->setPrefix(QCoreApplication::translate("CodeMarker", "min: ", nullptr));
-        label_9->setText(QCoreApplication::translate("CodeMarker", "marker distance:", nullptr));
-        minDistanceToBorder->setSuffix(QCoreApplication::translate("CodeMarker", " px", nullptr));
-        minDistanceToBorder->setPrefix(QCoreApplication::translate("CodeMarker", "min: ", nullptr));
-        label_7->setText(QCoreApplication::translate("CodeMarker", "corner distance:", nullptr));
-        label_15->setText(QCoreApplication::translate("CodeMarker", "error bits in border rate:", nullptr));
-        label_17->setText(QCoreApplication::translate("CodeMarker", "error correction rate:", nullptr));
-        label_8->setText(QCoreApplication::translate("CodeMarker", "distance to border:", nullptr));
-        minMarkerDistance->setPrefix(QCoreApplication::translate("CodeMarker", "min: ", nullptr));
-        minMarkerDistance->setSuffix(QString());
-        label_16->setText(QCoreApplication::translate("CodeMarker", "otsu std. dev.: ", nullptr));
-        minOtsuStdDev->setPrefix(QCoreApplication::translate("CodeMarker", "min: ", nullptr));
-        groupBox_2->setTitle(QCoreApplication::translate("CodeMarker", "perspective remove", nullptr));
-        perspectiveRemovePixelPerCell->setSuffix(QCoreApplication::translate("CodeMarker", " px", nullptr));
-        perspectiveRemovePixelPerCell->setPrefix(QString());
-        label_13->setText(QCoreApplication::translate("CodeMarker", "per cell:", nullptr));
-        label_14->setText(QCoreApplication::translate("CodeMarker", "ignored margin per cell:", nullptr));
-        doCornerRefinement->setTitle(QCoreApplication::translate("CodeMarker", "use subpixel refinement", nullptr));
-        cornerRefinementWinSize->setSuffix(QCoreApplication::translate("CodeMarker", " px", nullptr));
-        label_11->setText(QCoreApplication::translate("CodeMarker", "max iterations:", nullptr));
-        label_12->setText(QCoreApplication::translate("CodeMarker", "min accuracy:", nullptr));
-        label_10->setText(QCoreApplication::translate("CodeMarker", "win size:", nullptr));
-        moreInfosButton->setText(QCoreApplication::translate("CodeMarker", "More infos...", nullptr));
-        (void)CodeMarker;
-    } // retranslateUi
-
-};
-
-namespace Ui {
-    class CodeMarker: public Ui_CodeMarker {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_CODEMARKER_H
diff --git a/ui/ui_colorMarker.h b/ui/ui_colorMarker.h
deleted file mode 100644
index 25b49f48f0cb8202e6b7d7156ffa4d42e3515369..0000000000000000000000000000000000000000
--- a/ui/ui_colorMarker.h
+++ /dev/null
@@ -1,242 +0,0 @@
-/********************************************************************************
-** Form generated from reading UI file 'colorMarker.ui'
-**
-** Created by: Qt User Interface Compiler version 5.14.1
-**
-** WARNING! All changes made in this file will be lost when recompiling UI file!
-********************************************************************************/
-
-#ifndef UI_COLORMARKER_H
-#define UI_COLORMARKER_H
-
-#include <QtCore/QVariant>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QCheckBox>
-#include <QtWidgets/QDoubleSpinBox>
-#include <QtWidgets/QGridLayout>
-#include <QtWidgets/QGroupBox>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QPushButton>
-#include <QtWidgets/QSpinBox>
-#include <QtWidgets/QVBoxLayout>
-#include <QtWidgets/QWidget>
-#include "qtColorTriangle.h"
-
-QT_BEGIN_NAMESPACE
-
-class Ui_ColorMarker
-{
-public:
-    QVBoxLayout *verticalLayout;
-    QGroupBox *groupBox;
-    QGridLayout *gridLayout_2;
-    QPushButton *fromColor;
-    QPushButton *toColor;
-    QtColorTriangle *fromTriangle;
-    QtColorTriangle *toTriangle;
-    QCheckBox *inversHue;
-    QHBoxLayout *horizontalLayout_2;
-    QCheckBox *showMask;
-    QGridLayout *gridLayout;
-    QLabel *label;
-    QSpinBox *closeRadius;
-    QLabel *label_2;
-    QSpinBox *openRadius;
-    QCheckBox *useOpen;
-    QLabel *label_3;
-    QSpinBox *minArea;
-    QLabel *label_4;
-    QLabel *label_5;
-    QSpinBox *opacity;
-    QCheckBox *maskMask;
-    QDoubleSpinBox *maxRatio;
-    QCheckBox *useClose;
-    QSpinBox *maxArea;
-
-    void setupUi(QWidget *ColorMarker)
-    {
-        if (ColorMarker->objectName().isEmpty())
-            ColorMarker->setObjectName(QString::fromUtf8("ColorMarker"));
-        ColorMarker->resize(267, 287);
-        verticalLayout = new QVBoxLayout(ColorMarker);
-        verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
-        groupBox = new QGroupBox(ColorMarker);
-        groupBox->setObjectName(QString::fromUtf8("groupBox"));
-        gridLayout_2 = new QGridLayout(groupBox);
-        gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
-        fromColor = new QPushButton(groupBox);
-        fromColor->setObjectName(QString::fromUtf8("fromColor"));
-
-        gridLayout_2->addWidget(fromColor, 0, 0, 1, 1);
-
-        toColor = new QPushButton(groupBox);
-        toColor->setObjectName(QString::fromUtf8("toColor"));
-
-        gridLayout_2->addWidget(toColor, 0, 1, 1, 1);
-
-        fromTriangle = new QtColorTriangle(groupBox);
-        fromTriangle->setObjectName(QString::fromUtf8("fromTriangle"));
-
-        gridLayout_2->addWidget(fromTriangle, 1, 0, 1, 1);
-
-        toTriangle = new QtColorTriangle(groupBox);
-        toTriangle->setObjectName(QString::fromUtf8("toTriangle"));
-
-        gridLayout_2->addWidget(toTriangle, 1, 1, 1, 1);
-
-        inversHue = new QCheckBox(groupBox);
-        inversHue->setObjectName(QString::fromUtf8("inversHue"));
-
-        gridLayout_2->addWidget(inversHue, 2, 0, 1, 1);
-
-
-        verticalLayout->addWidget(groupBox);
-
-        horizontalLayout_2 = new QHBoxLayout();
-        horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
-        showMask = new QCheckBox(ColorMarker);
-        showMask->setObjectName(QString::fromUtf8("showMask"));
-
-        horizontalLayout_2->addWidget(showMask);
-
-
-        verticalLayout->addLayout(horizontalLayout_2);
-
-        gridLayout = new QGridLayout();
-        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
-        label = new QLabel(ColorMarker);
-        label->setObjectName(QString::fromUtf8("label"));
-
-        gridLayout->addWidget(label, 1, 0, 1, 1);
-
-        closeRadius = new QSpinBox(ColorMarker);
-        closeRadius->setObjectName(QString::fromUtf8("closeRadius"));
-        closeRadius->setKeyboardTracking(false);
-        closeRadius->setMinimum(0);
-        closeRadius->setMaximum(99);
-        closeRadius->setSingleStep(1);
-        closeRadius->setValue(5);
-
-        gridLayout->addWidget(closeRadius, 1, 1, 1, 1);
-
-        label_2 = new QLabel(ColorMarker);
-        label_2->setObjectName(QString::fromUtf8("label_2"));
-
-        gridLayout->addWidget(label_2, 2, 0, 1, 1);
-
-        openRadius = new QSpinBox(ColorMarker);
-        openRadius->setObjectName(QString::fromUtf8("openRadius"));
-        openRadius->setKeyboardTracking(false);
-        openRadius->setMinimum(0);
-        openRadius->setMaximum(99);
-        openRadius->setSingleStep(1);
-        openRadius->setValue(5);
-
-        gridLayout->addWidget(openRadius, 2, 1, 1, 1);
-
-        useOpen = new QCheckBox(ColorMarker);
-        useOpen->setObjectName(QString::fromUtf8("useOpen"));
-        useOpen->setChecked(true);
-
-        gridLayout->addWidget(useOpen, 2, 2, 1, 1);
-
-        label_3 = new QLabel(ColorMarker);
-        label_3->setObjectName(QString::fromUtf8("label_3"));
-
-        gridLayout->addWidget(label_3, 3, 0, 1, 1);
-
-        minArea = new QSpinBox(ColorMarker);
-        minArea->setObjectName(QString::fromUtf8("minArea"));
-        minArea->setKeyboardTracking(false);
-        minArea->setMinimum(1);
-        minArea->setMaximum(100000);
-        minArea->setSingleStep(100);
-        minArea->setValue(1000);
-
-        gridLayout->addWidget(minArea, 3, 1, 1, 1);
-
-        label_4 = new QLabel(ColorMarker);
-        label_4->setObjectName(QString::fromUtf8("label_4"));
-
-        gridLayout->addWidget(label_4, 4, 0, 1, 1);
-
-        label_5 = new QLabel(ColorMarker);
-        label_5->setObjectName(QString::fromUtf8("label_5"));
-
-        gridLayout->addWidget(label_5, 8, 0, 1, 1);
-
-        opacity = new QSpinBox(ColorMarker);
-        opacity->setObjectName(QString::fromUtf8("opacity"));
-        opacity->setMaximum(100);
-        opacity->setValue(100);
-
-        gridLayout->addWidget(opacity, 8, 1, 1, 1);
-
-        maskMask = new QCheckBox(ColorMarker);
-        maskMask->setObjectName(QString::fromUtf8("maskMask"));
-        maskMask->setChecked(true);
-
-        gridLayout->addWidget(maskMask, 8, 2, 1, 1);
-
-        maxRatio = new QDoubleSpinBox(ColorMarker);
-        maxRatio->setObjectName(QString::fromUtf8("maxRatio"));
-        maxRatio->setMinimum(1.000000000000000);
-        maxRatio->setValue(2.000000000000000);
-
-        gridLayout->addWidget(maxRatio, 4, 1, 1, 1);
-
-        useClose = new QCheckBox(ColorMarker);
-        useClose->setObjectName(QString::fromUtf8("useClose"));
-        useClose->setChecked(true);
-
-        gridLayout->addWidget(useClose, 1, 2, 1, 1);
-
-        maxArea = new QSpinBox(ColorMarker);
-        maxArea->setObjectName(QString::fromUtf8("maxArea"));
-        maxArea->setMinimum(1);
-        maxArea->setMaximum(100000);
-        maxArea->setSingleStep(100);
-        maxArea->setValue(5000);
-
-        gridLayout->addWidget(maxArea, 3, 2, 1, 1);
-
-
-        verticalLayout->addLayout(gridLayout);
-
-
-        retranslateUi(ColorMarker);
-
-        QMetaObject::connectSlotsByName(ColorMarker);
-    } // setupUi
-
-    void retranslateUi(QWidget *ColorMarker)
-    {
-        groupBox->setTitle(QCoreApplication::translate("ColorMarker", "HSV color range", nullptr));
-        fromColor->setText(QCoreApplication::translate("ColorMarker", "from", nullptr));
-        toColor->setText(QCoreApplication::translate("ColorMarker", "to", nullptr));
-        inversHue->setText(QCoreApplication::translate("ColorMarker", "invers hue", nullptr));
-#if QT_CONFIG(tooltip)
-        showMask->setToolTip(QCoreApplication::translate("ColorMarker", "show mask in main window", nullptr));
-#endif // QT_CONFIG(tooltip)
-        showMask->setText(QCoreApplication::translate("ColorMarker", "show mask", nullptr));
-        label->setText(QCoreApplication::translate("ColorMarker", "close radius", nullptr));
-        label_2->setText(QCoreApplication::translate("ColorMarker", "open radius", nullptr));
-        useOpen->setText(QCoreApplication::translate("ColorMarker", "use", nullptr));
-        label_3->setText(QCoreApplication::translate("ColorMarker", "area", nullptr));
-        label_4->setText(QCoreApplication::translate("ColorMarker", "max ratio", nullptr));
-        label_5->setText(QCoreApplication::translate("ColorMarker", "opacity", nullptr));
-        maskMask->setText(QCoreApplication::translate("ColorMarker", "mask", nullptr));
-        useClose->setText(QCoreApplication::translate("ColorMarker", "use", nullptr));
-        (void)ColorMarker;
-    } // retranslateUi
-
-};
-
-namespace Ui {
-    class ColorMarker: public Ui_ColorMarker {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_COLORMARKER_H
diff --git a/ui/ui_colorRange.h b/ui/ui_colorRange.h
deleted file mode 100644
index cf80e82038503f9717377b231627a2ae543b63cf..0000000000000000000000000000000000000000
--- a/ui/ui_colorRange.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/********************************************************************************
-** Form generated from reading UI file 'colorRange.ui'
-**
-** Created by: Qt User Interface Compiler version 5.14.1
-**
-** WARNING! All changes made in this file will be lost when recompiling UI file!
-********************************************************************************/
-
-#ifndef UI_COLORRANGE_H
-#define UI_COLORRANGE_H
-
-#include <QtCore/QVariant>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QCheckBox>
-#include <QtWidgets/QGridLayout>
-#include <QtWidgets/QGroupBox>
-#include <QtWidgets/QPushButton>
-#include <QtWidgets/QVBoxLayout>
-#include <QtWidgets/QWidget>
-#include "qtColorTriangle.h"
-
-QT_BEGIN_NAMESPACE
-
-class Ui_ColorRange
-{
-public:
-    QVBoxLayout *verticalLayout;
-    QGroupBox *groupBox;
-    QGridLayout *gridLayout_2;
-    QPushButton *fromColor;
-    QPushButton *toColor;
-    QtColorTriangle *fromTriangle;
-    QtColorTriangle *toTriangle;
-    QCheckBox *inversHue;
-
-    void setupUi(QWidget *ColorRange)
-    {
-        if (ColorRange->objectName().isEmpty())
-            ColorRange->setObjectName(QString::fromUtf8("ColorRange"));
-        ColorRange->resize(267, 287);
-        verticalLayout = new QVBoxLayout(ColorRange);
-        verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
-        groupBox = new QGroupBox(ColorRange);
-        groupBox->setObjectName(QString::fromUtf8("groupBox"));
-        gridLayout_2 = new QGridLayout(groupBox);
-        gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
-        fromColor = new QPushButton(groupBox);
-        fromColor->setObjectName(QString::fromUtf8("fromColor"));
-
-        gridLayout_2->addWidget(fromColor, 0, 0, 1, 1);
-
-        toColor = new QPushButton(groupBox);
-        toColor->setObjectName(QString::fromUtf8("toColor"));
-
-        gridLayout_2->addWidget(toColor, 0, 1, 1, 1);
-
-        fromTriangle = new QtColorTriangle(groupBox);
-        fromTriangle->setObjectName(QString::fromUtf8("fromTriangle"));
-
-        gridLayout_2->addWidget(fromTriangle, 1, 0, 1, 1);
-
-        toTriangle = new QtColorTriangle(groupBox);
-        toTriangle->setObjectName(QString::fromUtf8("toTriangle"));
-
-        gridLayout_2->addWidget(toTriangle, 1, 1, 1, 1);
-
-        inversHue = new QCheckBox(groupBox);
-        inversHue->setObjectName(QString::fromUtf8("inversHue"));
-
-        gridLayout_2->addWidget(inversHue, 2, 0, 1, 1);
-
-
-        verticalLayout->addWidget(groupBox);
-
-
-        retranslateUi(ColorRange);
-
-        QMetaObject::connectSlotsByName(ColorRange);
-    } // setupUi
-
-    void retranslateUi(QWidget *ColorRange)
-    {
-        groupBox->setTitle(QCoreApplication::translate("ColorRange", "HSV color range", nullptr));
-        fromColor->setText(QCoreApplication::translate("ColorRange", "from", nullptr));
-        toColor->setText(QCoreApplication::translate("ColorRange", "to", nullptr));
-        inversHue->setText(QCoreApplication::translate("ColorRange", "invers hue", nullptr));
-        (void)ColorRange;
-    } // retranslateUi
-
-};
-
-namespace Ui {
-    class ColorRange: public Ui_ColorRange {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_COLORRANGE_H
diff --git a/ui/ui_control.h b/ui/ui_control.h
deleted file mode 100644
index 400dcdb548001cfe8ee583e6d0274a80a9237825..0000000000000000000000000000000000000000
--- a/ui/ui_control.h
+++ /dev/null
@@ -1,4071 +0,0 @@
-/********************************************************************************
-** Form generated from reading UI file 'control.ui'
-**
-** Created by: Qt User Interface Compiler version 5.14.1
-**
-** WARNING! All changes made in this file will be lost when recompiling UI file!
-********************************************************************************/
-
-#ifndef UI_CONTROL_H
-#define UI_CONTROL_H
-
-#include <QtCore/QVariant>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QCheckBox>
-#include <QtWidgets/QComboBox>
-#include <QtWidgets/QDoubleSpinBox>
-#include <QtWidgets/QGridLayout>
-#include <QtWidgets/QGroupBox>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QLineEdit>
-#include <QtWidgets/QPushButton>
-#include <QtWidgets/QScrollArea>
-#include <QtWidgets/QScrollBar>
-#include <QtWidgets/QSpacerItem>
-#include <QtWidgets/QSpinBox>
-#include <QtWidgets/QTabWidget>
-#include <QtWidgets/QVBoxLayout>
-#include <QtWidgets/QWidget>
-#include "analysePlot.h"
-#include "colorPlot.h"
-
-QT_BEGIN_NAMESPACE
-
-class Ui_Control
-{
-public:
-    QHBoxLayout *horizontalLayout_19;
-    QTabWidget *tabs;
-    QWidget *calib;
-    QHBoxLayout *horizontalLayout_11;
-    QScrollArea *scrollArea;
-    QWidget *scrollAreaWidgetContents;
-    QVBoxLayout *verticalLayout_13;
-    QGroupBox *groupBox;
-    QGridLayout *gridLayout;
-    QHBoxLayout *horizontalLayout_8;
-    QScrollBar *filterBorderParamSize;
-    QPushButton *filterBorderParamCol;
-    QVBoxLayout *verticalLayout_8;
-    QHBoxLayout *horizontalLayout_15;
-    QCheckBox *filterBgShow;
-    QCheckBox *filterBgUpdate;
-    QSpacerItem *horizontalSpacer_11;
-    QHBoxLayout *horizontalLayout_13;
-    QPushButton *filterBgReset;
-    QPushButton *filterBgLoad;
-    QPushButton *filterBgSave;
-    QSpacerItem *horizontalSpacer_7;
-    QHBoxLayout *horizontalLayout_14;
-    QCheckBox *filterBgDeleteTrj;
-    QLabel *label_63;
-    QSpinBox *filterBgDeleteNumber;
-    QSpacerItem *horizontalSpacer_12;
-    QHBoxLayout *horizontalLayout_3;
-    QCheckBox *filterSwapH;
-    QCheckBox *filterSwapV;
-    QSpacerItem *horizontalSpacer_13;
-    QCheckBox *filterSwap;
-    QCheckBox *filterBorder;
-    QScrollBar *filterContrastParam;
-    QCheckBox *filterBrightContrast;
-    QScrollBar *filterBrightParam;
-    QCheckBox *filterBg;
-    QLabel *label_18;
-    QGroupBox *intr;
-    QVBoxLayout *verticalLayout_12;
-    QCheckBox *apply;
-    QGridLayout *gridLayout1;
-    QDoubleSpinBox *fx;
-    QDoubleSpinBox *ty;
-    QDoubleSpinBox *r2;
-    QLabel *label_7;
-    QDoubleSpinBox *tx;
-    QLabel *label_3;
-    QLabel *label_6;
-    QLabel *label_8;
-    QDoubleSpinBox *r4;
-    QDoubleSpinBox *cx;
-    QLabel *label;
-    QLabel *label_4;
-    QDoubleSpinBox *cy;
-    QDoubleSpinBox *fy;
-    QLabel *label_2;
-    QLabel *label_5;
-    QDoubleSpinBox *r6;
-    QLabel *label_64;
-    QGridLayout *gridLayout2;
-    QCheckBox *fixCenter;
-    QCheckBox *quadAspectRatio;
-    QCheckBox *tangDist;
-    QGridLayout *gridLayout3;
-    QPushButton *autoCalib;
-    QPushButton *calibFiles;
-    QGroupBox *extr;
-    QVBoxLayout *verticalLayout_7;
-    QGridLayout *gridLayout_6;
-    QLabel *label_58;
-    QLabel *label_59;
-    QDoubleSpinBox *trans1;
-    QDoubleSpinBox *rot1;
-    QDoubleSpinBox *trans2;
-    QDoubleSpinBox *trans3;
-    QDoubleSpinBox *rot3;
-    QDoubleSpinBox *rot2;
-    QHBoxLayout *horizontalLayout_10;
-    QLabel *label_62;
-    QPushButton *coordLoad3DCalibPoints;
-    QPushButton *extrCalibFetch;
-    QPushButton *extrCalibSave;
-    QPushButton *extrCalibShowPoints;
-    QPushButton *extrCalibShowError;
-    QGroupBox *align_2;
-    QVBoxLayout *verticalLayout_14;
-    QGridLayout *gridLayout_7;
-    QCheckBox *coordShow;
-    QCheckBox *coordFix;
-    QSpacerItem *horizontalSpacer_9;
-    QTabWidget *coordTab;
-    QWidget *coordTab3D;
-    QVBoxLayout *verticalLayout_5;
-    QGridLayout *gridLayout_5;
-    QLabel *label_54;
-    QScrollBar *coord3DTransX;
-    QSpinBox *coord3DTransX_spin;
-    QLabel *label_55;
-    QScrollBar *coord3DTransY;
-    QSpinBox *coord3DTransY_spin;
-    QLabel *label_57;
-    QScrollBar *coord3DTransZ;
-    QSpinBox *coord3DTransZ_spin;
-    QLabel *label_56;
-    QScrollBar *coord3DAxeLen;
-    QSpinBox *coord3DAxeLen_spin;
-    QHBoxLayout *horizontalLayout_6;
-    QLabel *label_60;
-    QCheckBox *coord3DSwapX;
-    QCheckBox *coord3DSwapY;
-    QCheckBox *coord3DSwapZ;
-    QSpacerItem *horizontalSpacer_5;
-    QHBoxLayout *horizontalLayout_7;
-    QLabel *label_61;
-    QCheckBox *extCalibPointsShow;
-    QCheckBox *extVanishPointsShow;
-    QSpacerItem *horizontalSpacer_6;
-    QSpacerItem *verticalSpacer_2;
-    QWidget *coordTab2D;
-    QVBoxLayout *verticalLayout_4;
-    QGridLayout *gridLayout4;
-    QSpinBox *coordTransX_spin;
-    QLabel *label_34;
-    QScrollBar *coordTransX;
-    QLabel *label_32;
-    QScrollBar *coordTransY;
-    QLabel *label_33;
-    QScrollBar *coordScale;
-    QSpinBox *coordTransY_spin;
-    QSpinBox *coordScale_spin;
-    QLabel *label_35;
-    QScrollBar *coordRotate;
-    QSpinBox *coordRotate_spin;
-    QGridLayout *gridLayout5;
-    QLabel *label_14;
-    QDoubleSpinBox *coordAltitude;
-    QLabel *coordAltitudeMeasured;
-    QSpacerItem *horizontalSpacer_8;
-    QGridLayout *gridLayout6;
-    QLabel *label_37;
-    QDoubleSpinBox *coordUnit;
-    QSpacerItem *spacerItem;
-    QCheckBox *coordUseIntrinsic;
-    QGroupBox *align;
-    QVBoxLayout *verticalLayout_15;
-    QHBoxLayout *horizontalLayout_12;
-    QCheckBox *gridShow;
-    QCheckBox *gridFix;
-    QSpacerItem *horizontalSpacer_10;
-    QTabWidget *gridTab;
-    QWidget *gridTab3D;
-    QVBoxLayout *verticalLayout_11;
-    QGridLayout *gridLayout_3;
-    QLabel *label_15;
-    QScrollBar *grid3DTransX;
-    QSpinBox *grid3DTransX_spin;
-    QLabel *label_49;
-    QScrollBar *grid3DTransY;
-    QSpinBox *grid3DTransY_spin;
-    QLabel *label_50;
-    QScrollBar *grid3DTransZ;
-    QSpinBox *grid3DTransZ_spin;
-    QLabel *label_51;
-    QScrollBar *grid3DResolution;
-    QSpinBox *grid3DResolution_spin;
-    QWidget *gridTab2D;
-    QVBoxLayout *verticalLayout_10;
-    QGridLayout *gridLayout_100;
-    QLabel *label_10;
-    QScrollBar *gridTransX;
-    QSpinBox *gridTransX_spin;
-    QLabel *label_11;
-    QScrollBar *gridTransY;
-    QSpinBox *gridTransY_spin;
-    QLabel *label_9;
-    QScrollBar *gridRotate;
-    QSpinBox *gridRot_spin;
-    QLabel *label_12;
-    QScrollBar *gridScale;
-    QSpinBox *gridScale_spin;
-    QWidget *rec;
-    QHBoxLayout *horizontalLayout_16;
-    QScrollArea *scrollArea_2;
-    QWidget *scrollAreaWidgetContents_2;
-    QVBoxLayout *verticalLayout_16;
-    QVBoxLayout *verticalLayout_2;
-    QHBoxLayout *hboxLayout;
-    QCheckBox *performRecognition;
-    QGridLayout *gridLayout7;
-    QSpinBox *recoStep;
-    QLabel *label_27;
-    QSpacerItem *spacerItem1;
-    QSpacerItem *horizontalSpacer_3;
-    QGridLayout *gridLayout_2;
-    QLabel *label_26;
-    QLabel *recoNumberNow;
-    QSpacerItem *horizontalSpacer_2;
-    QHBoxLayout *horizontalLayout_4;
-    QComboBox *recoMethod;
-    QPushButton *recoStereoShow;
-    QGroupBox *groupBox_2;
-    QCheckBox *roiShow;
-    QCheckBox *roiFix;
-    QGroupBox *groupBox_5;
-    QVBoxLayout *verticalLayout_19;
-    QVBoxLayout *vboxLayout;
-    QHBoxLayout *hboxLayout1;
-    QLabel *label_19;
-    QScrollBar *markerBrightness;
-    QCheckBox *markerIgnoreWithout;
-    QGroupBox *colorBox;
-    QVBoxLayout *verticalLayout_9;
-    QVBoxLayout *verticalLayout_3;
-    QHBoxLayout *horizontalLayout_2;
-    QCheckBox *recoShowColor;
-    QPushButton *recoOptimizeColor;
-    QSpacerItem *horizontalSpacer_4;
-    QHBoxLayout *hboxLayout2;
-    QLabel *label_28;
-    QComboBox *recoColorModel;
-    QCheckBox *recoAutoWB;
-    QSpacerItem *spacerItem2;
-    QHBoxLayout *hboxLayout3;
-    QLabel *label_29;
-    QComboBox *recoColorX;
-    QLabel *label_30;
-    QComboBox *recoColorY;
-    QLabel *label_31;
-    QScrollBar *recoColorZ;
-    QHBoxLayout *hboxLayout4;
-    QLabel *label_38;
-    QScrollBar *recoGreyLevel;
-    QLabel *label_39;
-    QScrollBar *recoSymbolSize;
-    ColorPlot *colorPlot;
-    QGroupBox *groupBox_4;
-    QWidget *layoutWidget11;
-    QVBoxLayout *vboxLayout1;
-    QGridLayout *gridLayout8;
-    QLabel *label_44;
-    QLabel *label_40;
-    QScrollBar *mapX;
-    QScrollBar *mapH;
-    QScrollBar *mapW;
-    QScrollBar *mapY;
-    QLabel *label_43;
-    QLabel *label_42;
-    QSpinBox *mapNr;
-    QCheckBox *mapColor;
-    QHBoxLayout *hboxLayout5;
-    QLabel *label_45;
-    QDoubleSpinBox *mapHeight;
-    QPushButton *mapAdd;
-    QPushButton *mapDel;
-    QPushButton *mapColorRange;
-    QHBoxLayout *hboxLayout6;
-    QLabel *label_46;
-    QDoubleSpinBox *mapDefaultHeight;
-    QPushButton *mapDistribution;
-    QPushButton *mapResetHeight;
-    QPushButton *mapResetPos;
-    QSpacerItem *verticalSpacer_3;
-    QWidget *track;
-    QHBoxLayout *horizontalLayout_17;
-    QScrollArea *scrollArea_3;
-    QWidget *scrollAreaWidgetContents_3;
-    QVBoxLayout *verticalLayout_17;
-    QHBoxLayout *hboxLayout7;
-    QCheckBox *trackOnlineCalc;
-    QCheckBox *trackRepeat;
-    QSpinBox *trackRepeatQual;
-    QSpacerItem *spacerItem3;
-    QHBoxLayout *horizontalLayout_5;
-    QCheckBox *trackExtrapolation;
-    QCheckBox *trackMerge;
-    QCheckBox *trackOnlyVisible;
-    QSpacerItem *horizontalSpacer_15;
-    QGridLayout *gridLayout9;
-    QLabel *trackNumberNow;
-    QLabel *label_22;
-    QLabel *label_23;
-    QLabel *trackNumberAll;
-    QSpacerItem *spacerItem4;
-    QLabel *label_65;
-    QLabel *trackNumberVisible;
-    QGridLayout *gridLayout10;
-    QPushButton *trackExport;
-    QPushButton *trackCalc;
-    QPushButton *trackImport;
-    QPushButton *trackReset;
-    QGroupBox *groupBox_8;
-    QCheckBox *trackRoiShow;
-    QCheckBox *trackRoiFix;
-    QGroupBox *groupBox_7;
-    QVBoxLayout *verticalLayout_6;
-    QGridLayout *gridLayout_4;
-    QCheckBox *trackMissingFrames;
-    QCheckBox *trackRecalcHeight;
-    QCheckBox *trackAlternateHeight;
-    QCheckBox *exportElimTp;
-    QCheckBox *exportElimTrj;
-    QCheckBox *exportSmooth;
-    QCheckBox *exportViewDir;
-    QCheckBox *exportAngleOfView;
-    QCheckBox *exportUseM;
-    QCheckBox *exportComment;
-    QCheckBox *exportMarkerID;
-    QHBoxLayout *horizontalLayout_9;
-    QPushButton *trackTest;
-    QCheckBox *testEqual;
-    QCheckBox *testVelocity;
-    QCheckBox *testInside;
-    QCheckBox *testLength;
-    QSpacerItem *horizontalSpacer_14;
-    QGroupBox *groupBox_6;
-    QVBoxLayout *verticalLayout_20;
-    QVBoxLayout *verticalLayout;
-    QGridLayout *gridLayout_17;
-    QLabel *label_52;
-    QScrollBar *trackRegionScale;
-    QLabel *label_53;
-    QScrollBar *trackRegionLevels;
-    QScrollBar *trackErrorExponent;
-    QLabel *label_66;
-    QCheckBox *trackShowSearchSize;
-    QGroupBox *groupBox_3;
-    QVBoxLayout *verticalLayout_21;
-    QVBoxLayout *vboxLayout2;
-    QHBoxLayout *hboxLayout8;
-    QCheckBox *trackShow;
-    QCheckBox *trackFix;
-    QSpacerItem *spacerItem5;
-    QCheckBox *trackShowOnlyVisible;
-    QHBoxLayout *horizontalLayout;
-    QCheckBox *trackShowOnly;
-    QSpinBox *trackShowOnlyNr;
-    QPushButton *trackGotoNr;
-    QPushButton *trackGotoStartNr;
-    QPushButton *trackGotoEndNr;
-    QSpacerItem *horizontalSpacer;
-    QHBoxLayout *horizontalLayout_20;
-    QCheckBox *trackShowOnlyList;
-    QLineEdit *trackShowOnlyNrList;
-    QPushButton *trackShowOnlyListButton;
-    QSpacerItem *spacerItem6;
-    QGridLayout *gridLayout11;
-    QCheckBox *trackShowPath;
-    QSpinBox *trackCurrentPointSize;
-    QSpinBox *trackColColorSize;
-    QCheckBox *trackShowCurrentPoint;
-    QLabel *label_25;
-    QLabel *label_36;
-    QCheckBox *trackShowColColor;
-    QCheckBox *trackShowColorMarker;
-    QCheckBox *trackShowNumber;
-    QLabel *label_48;
-    QSpinBox *trackNumberSize;
-    QCheckBox *trackNumberBold;
-    QCheckBox *trackHeadSized;
-    QCheckBox *trackShowHeightIndividual;
-    QPushButton *trackPathColorButton;
-    QSpinBox *trackPathWidth;
-    QCheckBox *trackShowPoints;
-    QCheckBox *trackShowPointsColored;
-    QLabel *label_13;
-    QLabel *label_41;
-    QSpinBox *trackColorMarkerSize;
-    QSpinBox *trackPointSize;
-    QLabel *label_47;
-    QCheckBox *trackShowGroundPosition;
-    QLabel *label_67;
-    QSpinBox *trackGroundPositionSize;
-    QCheckBox *trackShowGroundPath;
-    QLabel *label_68;
-    QSpinBox *trackGroundPathSize;
-    QPushButton *trackGroundPathColorButton;
-    QSpacerItem *spacerItem7;
-    QGridLayout *gridLayout12;
-    QLabel *label_17;
-    QSpinBox *trackShowAfter;
-    QLabel *label_20;
-    QSpinBox *trackShowBefore;
-    QSpacerItem *spacerItem8;
-    QSpacerItem *verticalSpacer_4;
-    QWidget *ana;
-    QHBoxLayout *horizontalLayout_18;
-    QScrollArea *scrollArea_4;
-    QWidget *scrollAreaWidgetContents_4;
-    QVBoxLayout *verticalLayout_18;
-    AnalysePlot *analysePlot;
-    QHBoxLayout *hboxLayout9;
-    QPushButton *anaCalculate;
-    QCheckBox *anaMissingFrames;
-    QHBoxLayout *hboxLayout10;
-    QHBoxLayout *hboxLayout11;
-    QLabel *label_21;
-    QSpinBox *anaStep;
-    QSpacerItem *spacerItem9;
-    QCheckBox *anaMarkAct;
-    QHBoxLayout *hboxLayout12;
-    QLabel *label_16;
-    QCheckBox *anaConsiderX;
-    QCheckBox *anaConsiderY;
-    QCheckBox *anaConsiderAbs;
-    QCheckBox *anaConsiderRev;
-    QCheckBox *showVoronoiCells;
-    QSpacerItem *verticalSpacer;
-
-    void setupUi(QWidget *Control)
-    {
-        if (Control->objectName().isEmpty())
-            Control->setObjectName(QString::fromUtf8("Control"));
-        Control->resize(380, 357);
-        QSizePolicy sizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding);
-        sizePolicy.setHorizontalStretch(1);
-        sizePolicy.setVerticalStretch(1);
-        sizePolicy.setHeightForWidth(Control->sizePolicy().hasHeightForWidth());
-        Control->setSizePolicy(sizePolicy);
-        Control->setMinimumSize(QSize(375, 350));
-        Control->setMaximumSize(QSize(380, 16777215));
-        horizontalLayout_19 = new QHBoxLayout(Control);
-        horizontalLayout_19->setObjectName(QString::fromUtf8("horizontalLayout_19"));
-        horizontalLayout_19->setContentsMargins(0, 0, 0, 0);
-        tabs = new QTabWidget(Control);
-        tabs->setObjectName(QString::fromUtf8("tabs"));
-        tabs->setEnabled(true);
-        QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Expanding);
-        sizePolicy1.setHorizontalStretch(1);
-        sizePolicy1.setVerticalStretch(1);
-        sizePolicy1.setHeightForWidth(tabs->sizePolicy().hasHeightForWidth());
-        tabs->setSizePolicy(sizePolicy1);
-        tabs->setMinimumSize(QSize(370, 350));
-        tabs->setMaximumSize(QSize(15777215, 16777215));
-        tabs->setLayoutDirection(Qt::LeftToRight);
-        tabs->setTabsClosable(false);
-        tabs->setMovable(false);
-        calib = new QWidget();
-        calib->setObjectName(QString::fromUtf8("calib"));
-        QSizePolicy sizePolicy2(QSizePolicy::Preferred, QSizePolicy::Expanding);
-        sizePolicy2.setHorizontalStretch(0);
-        sizePolicy2.setVerticalStretch(0);
-        sizePolicy2.setHeightForWidth(calib->sizePolicy().hasHeightForWidth());
-        calib->setSizePolicy(sizePolicy2);
-        horizontalLayout_11 = new QHBoxLayout(calib);
-        horizontalLayout_11->setObjectName(QString::fromUtf8("horizontalLayout_11"));
-        scrollArea = new QScrollArea(calib);
-        scrollArea->setObjectName(QString::fromUtf8("scrollArea"));
-        scrollArea->setMaximumSize(QSize(16777215, 16777215));
-        scrollArea->setAutoFillBackground(true);
-        scrollArea->setStyleSheet(QString::fromUtf8(""));
-        scrollArea->setFrameShape(QFrame::StyledPanel);
-        scrollArea->setLineWidth(1);
-        scrollArea->setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);
-        scrollArea->setWidgetResizable(true);
-        scrollAreaWidgetContents = new QWidget();
-        scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
-        scrollAreaWidgetContents->setGeometry(QRect(0, 0, 337, 1028));
-        verticalLayout_13 = new QVBoxLayout(scrollAreaWidgetContents);
-        verticalLayout_13->setObjectName(QString::fromUtf8("verticalLayout_13"));
-        groupBox = new QGroupBox(scrollAreaWidgetContents);
-        groupBox->setObjectName(QString::fromUtf8("groupBox"));
-        QSizePolicy sizePolicy3(QSizePolicy::Expanding, QSizePolicy::Minimum);
-        sizePolicy3.setHorizontalStretch(0);
-        sizePolicy3.setVerticalStretch(0);
-        sizePolicy3.setHeightForWidth(groupBox->sizePolicy().hasHeightForWidth());
-        groupBox->setSizePolicy(sizePolicy3);
-        groupBox->setMinimumSize(QSize(300, 0));
-        groupBox->setMaximumSize(QSize(16777215, 16777215));
-        groupBox->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
-        groupBox->setFlat(false);
-        groupBox->setCheckable(false);
-        gridLayout = new QGridLayout(groupBox);
-        gridLayout->setSpacing(4);
-        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
-        gridLayout->setContentsMargins(5, 5, 5, 5);
-        horizontalLayout_8 = new QHBoxLayout();
-        horizontalLayout_8->setObjectName(QString::fromUtf8("horizontalLayout_8"));
-        filterBorderParamSize = new QScrollBar(groupBox);
-        filterBorderParamSize->setObjectName(QString::fromUtf8("filterBorderParamSize"));
-        filterBorderParamSize->setMinimumSize(QSize(100, 0));
-        filterBorderParamSize->setMaximum(500);
-        filterBorderParamSize->setSingleStep(1);
-        filterBorderParamSize->setOrientation(Qt::Horizontal);
-
-        horizontalLayout_8->addWidget(filterBorderParamSize);
-
-        filterBorderParamCol = new QPushButton(groupBox);
-        filterBorderParamCol->setObjectName(QString::fromUtf8("filterBorderParamCol"));
-        filterBorderParamCol->setMaximumSize(QSize(40, 18));
-
-        horizontalLayout_8->addWidget(filterBorderParamCol);
-
-
-        gridLayout->addLayout(horizontalLayout_8, 2, 1, 1, 1);
-
-        verticalLayout_8 = new QVBoxLayout();
-        verticalLayout_8->setObjectName(QString::fromUtf8("verticalLayout_8"));
-        horizontalLayout_15 = new QHBoxLayout();
-        horizontalLayout_15->setObjectName(QString::fromUtf8("horizontalLayout_15"));
-        filterBgShow = new QCheckBox(groupBox);
-        filterBgShow->setObjectName(QString::fromUtf8("filterBgShow"));
-
-        horizontalLayout_15->addWidget(filterBgShow);
-
-        filterBgUpdate = new QCheckBox(groupBox);
-        filterBgUpdate->setObjectName(QString::fromUtf8("filterBgUpdate"));
-
-        horizontalLayout_15->addWidget(filterBgUpdate);
-
-        horizontalSpacer_11 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_15->addItem(horizontalSpacer_11);
-
-
-        verticalLayout_8->addLayout(horizontalLayout_15);
-
-        horizontalLayout_13 = new QHBoxLayout();
-        horizontalLayout_13->setSpacing(0);
-        horizontalLayout_13->setObjectName(QString::fromUtf8("horizontalLayout_13"));
-        filterBgReset = new QPushButton(groupBox);
-        filterBgReset->setObjectName(QString::fromUtf8("filterBgReset"));
-        filterBgReset->setEnabled(true);
-        QSizePolicy sizePolicy4(QSizePolicy::Minimum, QSizePolicy::Fixed);
-        sizePolicy4.setHorizontalStretch(0);
-        sizePolicy4.setVerticalStretch(0);
-        sizePolicy4.setHeightForWidth(filterBgReset->sizePolicy().hasHeightForWidth());
-        filterBgReset->setSizePolicy(sizePolicy4);
-        filterBgReset->setMaximumSize(QSize(40, 18));
-
-        horizontalLayout_13->addWidget(filterBgReset);
-
-        filterBgLoad = new QPushButton(groupBox);
-        filterBgLoad->setObjectName(QString::fromUtf8("filterBgLoad"));
-        filterBgLoad->setEnabled(true);
-        filterBgLoad->setMaximumSize(QSize(36, 18));
-
-        horizontalLayout_13->addWidget(filterBgLoad);
-
-        filterBgSave = new QPushButton(groupBox);
-        filterBgSave->setObjectName(QString::fromUtf8("filterBgSave"));
-        filterBgSave->setEnabled(true);
-        filterBgSave->setMaximumSize(QSize(36, 18));
-
-        horizontalLayout_13->addWidget(filterBgSave);
-
-        horizontalSpacer_7 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_13->addItem(horizontalSpacer_7);
-
-
-        verticalLayout_8->addLayout(horizontalLayout_13);
-
-        horizontalLayout_14 = new QHBoxLayout();
-        horizontalLayout_14->setObjectName(QString::fromUtf8("horizontalLayout_14"));
-        filterBgDeleteTrj = new QCheckBox(groupBox);
-        filterBgDeleteTrj->setObjectName(QString::fromUtf8("filterBgDeleteTrj"));
-        filterBgDeleteTrj->setChecked(true);
-
-        horizontalLayout_14->addWidget(filterBgDeleteTrj);
-
-        label_63 = new QLabel(groupBox);
-        label_63->setObjectName(QString::fromUtf8("label_63"));
-        sizePolicy4.setHeightForWidth(label_63->sizePolicy().hasHeightForWidth());
-        label_63->setSizePolicy(sizePolicy4);
-
-        horizontalLayout_14->addWidget(label_63);
-
-        filterBgDeleteNumber = new QSpinBox(groupBox);
-        filterBgDeleteNumber->setObjectName(QString::fromUtf8("filterBgDeleteNumber"));
-        filterBgDeleteNumber->setMinimum(1);
-        filterBgDeleteNumber->setValue(3);
-
-        horizontalLayout_14->addWidget(filterBgDeleteNumber);
-
-        horizontalSpacer_12 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_14->addItem(horizontalSpacer_12);
-
-
-        verticalLayout_8->addLayout(horizontalLayout_14);
-
-
-        gridLayout->addLayout(verticalLayout_8, 3, 1, 1, 1);
-
-        horizontalLayout_3 = new QHBoxLayout();
-        horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
-        filterSwapH = new QCheckBox(groupBox);
-        filterSwapH->setObjectName(QString::fromUtf8("filterSwapH"));
-
-        horizontalLayout_3->addWidget(filterSwapH);
-
-        filterSwapV = new QCheckBox(groupBox);
-        filterSwapV->setObjectName(QString::fromUtf8("filterSwapV"));
-        filterSwapV->setChecked(true);
-
-        horizontalLayout_3->addWidget(filterSwapV);
-
-        horizontalSpacer_13 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_3->addItem(horizontalSpacer_13);
-
-
-        gridLayout->addLayout(horizontalLayout_3, 4, 1, 1, 1);
-
-        filterSwap = new QCheckBox(groupBox);
-        filterSwap->setObjectName(QString::fromUtf8("filterSwap"));
-
-        gridLayout->addWidget(filterSwap, 4, 0, 1, 1);
-
-        filterBorder = new QCheckBox(groupBox);
-        filterBorder->setObjectName(QString::fromUtf8("filterBorder"));
-
-        gridLayout->addWidget(filterBorder, 2, 0, 1, 1);
-
-        filterContrastParam = new QScrollBar(groupBox);
-        filterContrastParam->setObjectName(QString::fromUtf8("filterContrastParam"));
-        filterContrastParam->setMinimumSize(QSize(100, 0));
-        filterContrastParam->setMinimum(-100);
-        filterContrastParam->setMaximum(100);
-        filterContrastParam->setOrientation(Qt::Horizontal);
-
-        gridLayout->addWidget(filterContrastParam, 1, 1, 1, 1);
-
-        filterBrightContrast = new QCheckBox(groupBox);
-        filterBrightContrast->setObjectName(QString::fromUtf8("filterBrightContrast"));
-
-        gridLayout->addWidget(filterBrightContrast, 0, 0, 1, 1);
-
-        filterBrightParam = new QScrollBar(groupBox);
-        filterBrightParam->setObjectName(QString::fromUtf8("filterBrightParam"));
-        filterBrightParam->setMinimumSize(QSize(100, 0));
-        filterBrightParam->setMinimum(-100);
-        filterBrightParam->setMaximum(100);
-        filterBrightParam->setOrientation(Qt::Horizontal);
-
-        gridLayout->addWidget(filterBrightParam, 0, 1, 1, 1);
-
-        filterBg = new QCheckBox(groupBox);
-        filterBg->setObjectName(QString::fromUtf8("filterBg"));
-        filterBg->setChecked(false);
-
-        gridLayout->addWidget(filterBg, 3, 0, 1, 1);
-
-        label_18 = new QLabel(groupBox);
-        label_18->setObjectName(QString::fromUtf8("label_18"));
-        sizePolicy4.setHeightForWidth(label_18->sizePolicy().hasHeightForWidth());
-        label_18->setSizePolicy(sizePolicy4);
-
-        gridLayout->addWidget(label_18, 1, 0, 1, 1);
-
-        gridLayout->setColumnStretch(1, 1);
-
-        verticalLayout_13->addWidget(groupBox);
-
-        intr = new QGroupBox(scrollAreaWidgetContents);
-        intr->setObjectName(QString::fromUtf8("intr"));
-        sizePolicy3.setHeightForWidth(intr->sizePolicy().hasHeightForWidth());
-        intr->setSizePolicy(sizePolicy3);
-        intr->setMinimumSize(QSize(300, 0));
-        intr->setMaximumSize(QSize(16777215, 16777215));
-        verticalLayout_12 = new QVBoxLayout(intr);
-        verticalLayout_12->setObjectName(QString::fromUtf8("verticalLayout_12"));
-        verticalLayout_12->setContentsMargins(5, 5, 5, 5);
-        apply = new QCheckBox(intr);
-        apply->setObjectName(QString::fromUtf8("apply"));
-
-        verticalLayout_12->addWidget(apply);
-
-        gridLayout1 = new QGridLayout();
-        gridLayout1->setSpacing(4);
-        gridLayout1->setObjectName(QString::fromUtf8("gridLayout1"));
-        gridLayout1->setContentsMargins(0, 0, 0, 0);
-        fx = new QDoubleSpinBox(intr);
-        fx->setObjectName(QString::fromUtf8("fx"));
-        fx->setAlignment(Qt::AlignRight);
-        fx->setDecimals(2);
-        fx->setMinimum(500.000000000000000);
-        fx->setMaximum(5000.000000000000000);
-        fx->setValue(1000.000000000000000);
-
-        gridLayout1->addWidget(fx, 0, 1, 1, 1);
-
-        ty = new QDoubleSpinBox(intr);
-        ty->setObjectName(QString::fromUtf8("ty"));
-        ty->setAlignment(Qt::AlignRight);
-        ty->setDecimals(6);
-        ty->setMinimum(-5.000000000000000);
-        ty->setMaximum(5.000000000000000);
-        ty->setSingleStep(0.001000000000000);
-
-        gridLayout1->addWidget(ty, 4, 3, 1, 1);
-
-        r2 = new QDoubleSpinBox(intr);
-        r2->setObjectName(QString::fromUtf8("r2"));
-        r2->setAlignment(Qt::AlignRight);
-        r2->setDecimals(6);
-        r2->setMinimum(-5.000000000000000);
-        r2->setMaximum(5.000000000000000);
-        r2->setSingleStep(0.010000000000000);
-
-        gridLayout1->addWidget(r2, 2, 1, 1, 1);
-
-        label_7 = new QLabel(intr);
-        label_7->setObjectName(QString::fromUtf8("label_7"));
-        QFont font;
-        font.setPointSize(8);
-        label_7->setFont(font);
-        label_7->setLayoutDirection(Qt::LeftToRight);
-        label_7->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout1->addWidget(label_7, 4, 0, 1, 1);
-
-        tx = new QDoubleSpinBox(intr);
-        tx->setObjectName(QString::fromUtf8("tx"));
-        tx->setAlignment(Qt::AlignRight);
-        tx->setDecimals(6);
-        tx->setMinimum(-5.000000000000000);
-        tx->setMaximum(5.000000000000000);
-        tx->setSingleStep(0.001000000000000);
-
-        gridLayout1->addWidget(tx, 4, 1, 1, 1);
-
-        label_3 = new QLabel(intr);
-        label_3->setObjectName(QString::fromUtf8("label_3"));
-        label_3->setLayoutDirection(Qt::LeftToRight);
-        label_3->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout1->addWidget(label_3, 1, 0, 1, 1);
-
-        label_6 = new QLabel(intr);
-        label_6->setObjectName(QString::fromUtf8("label_6"));
-        label_6->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout1->addWidget(label_6, 2, 2, 1, 1);
-
-        label_8 = new QLabel(intr);
-        label_8->setObjectName(QString::fromUtf8("label_8"));
-        label_8->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout1->addWidget(label_8, 4, 2, 1, 1);
-
-        r4 = new QDoubleSpinBox(intr);
-        r4->setObjectName(QString::fromUtf8("r4"));
-        r4->setAlignment(Qt::AlignRight);
-        r4->setDecimals(6);
-        r4->setMinimum(-5.000000000000000);
-        r4->setMaximum(5.000000000000000);
-        r4->setSingleStep(0.010000000000000);
-
-        gridLayout1->addWidget(r4, 2, 3, 1, 1);
-
-        cx = new QDoubleSpinBox(intr);
-        cx->setObjectName(QString::fromUtf8("cx"));
-        cx->setAlignment(Qt::AlignRight);
-        cx->setDecimals(2);
-        cx->setMinimum(1.000000000000000);
-        cx->setMaximum(1920.000000000000000);
-        cx->setValue(960.000000000000000);
-
-        gridLayout1->addWidget(cx, 1, 1, 1, 1);
-
-        label = new QLabel(intr);
-        label->setObjectName(QString::fromUtf8("label"));
-        label->setFont(font);
-        label->setLayoutDirection(Qt::LeftToRight);
-        label->setScaledContents(false);
-        label->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout1->addWidget(label, 0, 0, 1, 1);
-
-        label_4 = new QLabel(intr);
-        label_4->setObjectName(QString::fromUtf8("label_4"));
-        label_4->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout1->addWidget(label_4, 1, 2, 1, 1);
-
-        cy = new QDoubleSpinBox(intr);
-        cy->setObjectName(QString::fromUtf8("cy"));
-        cy->setAlignment(Qt::AlignRight);
-        cy->setDecimals(2);
-        cy->setMinimum(1.000000000000000);
-        cy->setMaximum(1080.000000000000000);
-        cy->setValue(540.000000000000000);
-
-        gridLayout1->addWidget(cy, 1, 3, 1, 1);
-
-        fy = new QDoubleSpinBox(intr);
-        fy->setObjectName(QString::fromUtf8("fy"));
-        fy->setAlignment(Qt::AlignRight);
-        fy->setDecimals(2);
-        fy->setMinimum(500.000000000000000);
-        fy->setMaximum(5000.000000000000000);
-        fy->setValue(1000.000000000000000);
-
-        gridLayout1->addWidget(fy, 0, 3, 1, 1);
-
-        label_2 = new QLabel(intr);
-        label_2->setObjectName(QString::fromUtf8("label_2"));
-        label_2->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout1->addWidget(label_2, 0, 2, 1, 1);
-
-        label_5 = new QLabel(intr);
-        label_5->setObjectName(QString::fromUtf8("label_5"));
-        label_5->setFont(font);
-        label_5->setLayoutDirection(Qt::LeftToRight);
-        label_5->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout1->addWidget(label_5, 2, 0, 1, 1);
-
-        r6 = new QDoubleSpinBox(intr);
-        r6->setObjectName(QString::fromUtf8("r6"));
-        r6->setAlignment(Qt::AlignRight);
-        r6->setDecimals(6);
-        r6->setMinimum(-5.000000000000000);
-        r6->setMaximum(5.000000000000000);
-        r6->setSingleStep(0.010000000000000);
-
-        gridLayout1->addWidget(r6, 3, 1, 1, 1);
-
-        label_64 = new QLabel(intr);
-        label_64->setObjectName(QString::fromUtf8("label_64"));
-        label_64->setLayoutDirection(Qt::LeftToRight);
-        label_64->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout1->addWidget(label_64, 3, 0, 1, 1, Qt::AlignRight);
-
-        gridLayout1->setColumnStretch(1, 1);
-        gridLayout1->setColumnStretch(3, 1);
-
-        verticalLayout_12->addLayout(gridLayout1);
-
-        gridLayout2 = new QGridLayout();
-        gridLayout2->setSpacing(4);
-        gridLayout2->setObjectName(QString::fromUtf8("gridLayout2"));
-        gridLayout2->setContentsMargins(0, 0, 0, 0);
-        fixCenter = new QCheckBox(intr);
-        fixCenter->setObjectName(QString::fromUtf8("fixCenter"));
-
-        gridLayout2->addWidget(fixCenter, 0, 1, 1, 1);
-
-        quadAspectRatio = new QCheckBox(intr);
-        quadAspectRatio->setObjectName(QString::fromUtf8("quadAspectRatio"));
-
-        gridLayout2->addWidget(quadAspectRatio, 0, 0, 1, 1);
-
-        tangDist = new QCheckBox(intr);
-        tangDist->setObjectName(QString::fromUtf8("tangDist"));
-        tangDist->setChecked(true);
-
-        gridLayout2->addWidget(tangDist, 0, 2, 1, 1);
-
-
-        verticalLayout_12->addLayout(gridLayout2);
-
-        gridLayout3 = new QGridLayout();
-        gridLayout3->setSpacing(4);
-        gridLayout3->setObjectName(QString::fromUtf8("gridLayout3"));
-        gridLayout3->setContentsMargins(0, 0, 0, 0);
-        autoCalib = new QPushButton(intr);
-        autoCalib->setObjectName(QString::fromUtf8("autoCalib"));
-        autoCalib->setEnabled(false);
-
-        gridLayout3->addWidget(autoCalib, 0, 0, 1, 1);
-
-        calibFiles = new QPushButton(intr);
-        calibFiles->setObjectName(QString::fromUtf8("calibFiles"));
-
-        gridLayout3->addWidget(calibFiles, 0, 1, 1, 1);
-
-
-        verticalLayout_12->addLayout(gridLayout3);
-
-
-        verticalLayout_13->addWidget(intr);
-
-        extr = new QGroupBox(scrollAreaWidgetContents);
-        extr->setObjectName(QString::fromUtf8("extr"));
-        sizePolicy3.setHeightForWidth(extr->sizePolicy().hasHeightForWidth());
-        extr->setSizePolicy(sizePolicy3);
-        extr->setMinimumSize(QSize(300, 0));
-        extr->setMaximumSize(QSize(16777215, 16777215));
-        verticalLayout_7 = new QVBoxLayout(extr);
-        verticalLayout_7->setObjectName(QString::fromUtf8("verticalLayout_7"));
-        verticalLayout_7->setContentsMargins(5, 5, 5, 5);
-        gridLayout_6 = new QGridLayout();
-        gridLayout_6->setObjectName(QString::fromUtf8("gridLayout_6"));
-        label_58 = new QLabel(extr);
-        label_58->setObjectName(QString::fromUtf8("label_58"));
-        label_58->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_6->addWidget(label_58, 0, 0, 1, 1);
-
-        label_59 = new QLabel(extr);
-        label_59->setObjectName(QString::fromUtf8("label_59"));
-        label_59->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_6->addWidget(label_59, 1, 0, 1, 1);
-
-        trans1 = new QDoubleSpinBox(extr);
-        trans1->setObjectName(QString::fromUtf8("trans1"));
-        trans1->setDecimals(3);
-        trans1->setMinimum(-10000.000000000000000);
-        trans1->setMaximum(10000.000000000000000);
-        trans1->setSingleStep(0.100000000000000);
-
-        gridLayout_6->addWidget(trans1, 1, 1, 1, 1);
-
-        rot1 = new QDoubleSpinBox(extr);
-        rot1->setObjectName(QString::fromUtf8("rot1"));
-        rot1->setDecimals(3);
-        rot1->setMinimum(-100.000000000000000);
-        rot1->setSingleStep(0.001000000000000);
-
-        gridLayout_6->addWidget(rot1, 0, 1, 1, 1);
-
-        trans2 = new QDoubleSpinBox(extr);
-        trans2->setObjectName(QString::fromUtf8("trans2"));
-        trans2->setDecimals(3);
-        trans2->setMinimum(-10000.000000000000000);
-        trans2->setMaximum(10000.000000000000000);
-        trans2->setSingleStep(0.100000000000000);
-
-        gridLayout_6->addWidget(trans2, 1, 2, 1, 1);
-
-        trans3 = new QDoubleSpinBox(extr);
-        trans3->setObjectName(QString::fromUtf8("trans3"));
-        trans3->setDecimals(3);
-        trans3->setMinimum(-10000.000000000000000);
-        trans3->setMaximum(10000.000000000000000);
-        trans3->setSingleStep(0.100000000000000);
-        trans3->setValue(-500.000000000000000);
-
-        gridLayout_6->addWidget(trans3, 1, 3, 1, 1);
-
-        rot3 = new QDoubleSpinBox(extr);
-        rot3->setObjectName(QString::fromUtf8("rot3"));
-        rot3->setDecimals(3);
-        rot3->setMinimum(-100.000000000000000);
-        rot3->setSingleStep(0.001000000000000);
-
-        gridLayout_6->addWidget(rot3, 0, 3, 1, 1);
-
-        rot2 = new QDoubleSpinBox(extr);
-        rot2->setObjectName(QString::fromUtf8("rot2"));
-        rot2->setDecimals(3);
-        rot2->setMinimum(-100.000000000000000);
-        rot2->setSingleStep(0.001000000000000);
-
-        gridLayout_6->addWidget(rot2, 0, 2, 1, 1);
-
-
-        verticalLayout_7->addLayout(gridLayout_6);
-
-        horizontalLayout_10 = new QHBoxLayout();
-        horizontalLayout_10->setObjectName(QString::fromUtf8("horizontalLayout_10"));
-        label_62 = new QLabel(extr);
-        label_62->setObjectName(QString::fromUtf8("label_62"));
-        QSizePolicy sizePolicy5(QSizePolicy::Expanding, QSizePolicy::Fixed);
-        sizePolicy5.setHorizontalStretch(0);
-        sizePolicy5.setVerticalStretch(0);
-        sizePolicy5.setHeightForWidth(label_62->sizePolicy().hasHeightForWidth());
-        label_62->setSizePolicy(sizePolicy5);
-        label_62->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        horizontalLayout_10->addWidget(label_62);
-
-        coordLoad3DCalibPoints = new QPushButton(extr);
-        coordLoad3DCalibPoints->setObjectName(QString::fromUtf8("coordLoad3DCalibPoints"));
-        QSizePolicy sizePolicy6(QSizePolicy::Fixed, QSizePolicy::Fixed);
-        sizePolicy6.setHorizontalStretch(0);
-        sizePolicy6.setVerticalStretch(0);
-        sizePolicy6.setHeightForWidth(coordLoad3DCalibPoints->sizePolicy().hasHeightForWidth());
-        coordLoad3DCalibPoints->setSizePolicy(sizePolicy6);
-        coordLoad3DCalibPoints->setMinimumSize(QSize(30, 18));
-        coordLoad3DCalibPoints->setMaximumSize(QSize(40, 18));
-
-        horizontalLayout_10->addWidget(coordLoad3DCalibPoints);
-
-        extrCalibFetch = new QPushButton(extr);
-        extrCalibFetch->setObjectName(QString::fromUtf8("extrCalibFetch"));
-        sizePolicy6.setHeightForWidth(extrCalibFetch->sizePolicy().hasHeightForWidth());
-        extrCalibFetch->setSizePolicy(sizePolicy6);
-        extrCalibFetch->setMinimumSize(QSize(30, 18));
-        extrCalibFetch->setMaximumSize(QSize(40, 18));
-
-        horizontalLayout_10->addWidget(extrCalibFetch);
-
-        extrCalibSave = new QPushButton(extr);
-        extrCalibSave->setObjectName(QString::fromUtf8("extrCalibSave"));
-        sizePolicy6.setHeightForWidth(extrCalibSave->sizePolicy().hasHeightForWidth());
-        extrCalibSave->setSizePolicy(sizePolicy6);
-        extrCalibSave->setMinimumSize(QSize(30, 18));
-        extrCalibSave->setMaximumSize(QSize(40, 18));
-
-        horizontalLayout_10->addWidget(extrCalibSave);
-
-        extrCalibShowPoints = new QPushButton(extr);
-        extrCalibShowPoints->setObjectName(QString::fromUtf8("extrCalibShowPoints"));
-        sizePolicy6.setHeightForWidth(extrCalibShowPoints->sizePolicy().hasHeightForWidth());
-        extrCalibShowPoints->setSizePolicy(sizePolicy6);
-        extrCalibShowPoints->setMinimumSize(QSize(30, 18));
-        extrCalibShowPoints->setMaximumSize(QSize(40, 18));
-
-        horizontalLayout_10->addWidget(extrCalibShowPoints);
-
-        extrCalibShowError = new QPushButton(extr);
-        extrCalibShowError->setObjectName(QString::fromUtf8("extrCalibShowError"));
-        sizePolicy6.setHeightForWidth(extrCalibShowError->sizePolicy().hasHeightForWidth());
-        extrCalibShowError->setSizePolicy(sizePolicy6);
-        extrCalibShowError->setMinimumSize(QSize(30, 18));
-        extrCalibShowError->setMaximumSize(QSize(40, 18));
-
-        horizontalLayout_10->addWidget(extrCalibShowError);
-
-
-        verticalLayout_7->addLayout(horizontalLayout_10);
-
-
-        verticalLayout_13->addWidget(extr);
-
-        align_2 = new QGroupBox(scrollAreaWidgetContents);
-        align_2->setObjectName(QString::fromUtf8("align_2"));
-        sizePolicy3.setHeightForWidth(align_2->sizePolicy().hasHeightForWidth());
-        align_2->setSizePolicy(sizePolicy3);
-        align_2->setMinimumSize(QSize(300, 271));
-        align_2->setMaximumSize(QSize(16777215, 16777215));
-        verticalLayout_14 = new QVBoxLayout(align_2);
-        verticalLayout_14->setObjectName(QString::fromUtf8("verticalLayout_14"));
-        verticalLayout_14->setContentsMargins(5, 5, 5, 5);
-        gridLayout_7 = new QGridLayout();
-        gridLayout_7->setObjectName(QString::fromUtf8("gridLayout_7"));
-        coordShow = new QCheckBox(align_2);
-        coordShow->setObjectName(QString::fromUtf8("coordShow"));
-        coordShow->setMinimumSize(QSize(57, 17));
-        coordShow->setMaximumSize(QSize(16777215, 17));
-
-        gridLayout_7->addWidget(coordShow, 0, 0, 1, 1);
-
-        coordFix = new QCheckBox(align_2);
-        coordFix->setObjectName(QString::fromUtf8("coordFix"));
-        coordFix->setMinimumSize(QSize(0, 17));
-        coordFix->setMaximumSize(QSize(16777215, 17));
-
-        gridLayout_7->addWidget(coordFix, 0, 1, 1, 1);
-
-        horizontalSpacer_9 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        gridLayout_7->addItem(horizontalSpacer_9, 0, 2, 1, 1);
-
-        gridLayout_7->setColumnStretch(2, 1);
-
-        verticalLayout_14->addLayout(gridLayout_7);
-
-        coordTab = new QTabWidget(align_2);
-        coordTab->setObjectName(QString::fromUtf8("coordTab"));
-        sizePolicy5.setHeightForWidth(coordTab->sizePolicy().hasHeightForWidth());
-        coordTab->setSizePolicy(sizePolicy5);
-        coordTab->setFocusPolicy(Qt::StrongFocus);
-        coordTab->setLayoutDirection(Qt::LeftToRight);
-        coordTab->setTabPosition(QTabWidget::North);
-        coordTab->setTabShape(QTabWidget::Rounded);
-        coordTab->setElideMode(Qt::ElideNone);
-        coordTab->setUsesScrollButtons(true);
-        coordTab->setTabsClosable(false);
-        coordTab3D = new QWidget();
-        coordTab3D->setObjectName(QString::fromUtf8("coordTab3D"));
-        verticalLayout_5 = new QVBoxLayout(coordTab3D);
-        verticalLayout_5->setObjectName(QString::fromUtf8("verticalLayout_5"));
-        gridLayout_5 = new QGridLayout();
-        gridLayout_5->setSpacing(4);
-        gridLayout_5->setObjectName(QString::fromUtf8("gridLayout_5"));
-        label_54 = new QLabel(coordTab3D);
-        label_54->setObjectName(QString::fromUtf8("label_54"));
-        label_54->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_5->addWidget(label_54, 0, 0, 1, 1);
-
-        coord3DTransX = new QScrollBar(coordTab3D);
-        coord3DTransX->setObjectName(QString::fromUtf8("coord3DTransX"));
-        sizePolicy5.setHeightForWidth(coord3DTransX->sizePolicy().hasHeightForWidth());
-        coord3DTransX->setSizePolicy(sizePolicy5);
-        coord3DTransX->setMinimumSize(QSize(50, 17));
-        coord3DTransX->setMaximumSize(QSize(16777215, 17));
-        coord3DTransX->setMinimum(-10000);
-        coord3DTransX->setMaximum(10000);
-        coord3DTransX->setPageStep(10);
-        coord3DTransX->setValue(0);
-        coord3DTransX->setSliderPosition(0);
-        coord3DTransX->setOrientation(Qt::Horizontal);
-
-        gridLayout_5->addWidget(coord3DTransX, 0, 1, 1, 1);
-
-        coord3DTransX_spin = new QSpinBox(coordTab3D);
-        coord3DTransX_spin->setObjectName(QString::fromUtf8("coord3DTransX_spin"));
-        coord3DTransX_spin->setMinimumSize(QSize(0, 17));
-        coord3DTransX_spin->setMaximumSize(QSize(16777215, 17));
-        coord3DTransX_spin->setMinimum(-10000);
-        coord3DTransX_spin->setMaximum(10000);
-
-        gridLayout_5->addWidget(coord3DTransX_spin, 0, 2, 1, 1);
-
-        label_55 = new QLabel(coordTab3D);
-        label_55->setObjectName(QString::fromUtf8("label_55"));
-        label_55->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_5->addWidget(label_55, 1, 0, 1, 1);
-
-        coord3DTransY = new QScrollBar(coordTab3D);
-        coord3DTransY->setObjectName(QString::fromUtf8("coord3DTransY"));
-        coord3DTransY->setMinimumSize(QSize(0, 17));
-        coord3DTransY->setMaximumSize(QSize(16777215, 17));
-        coord3DTransY->setMinimum(-10000);
-        coord3DTransY->setMaximum(10000);
-        coord3DTransY->setValue(0);
-        coord3DTransY->setSliderPosition(0);
-        coord3DTransY->setOrientation(Qt::Horizontal);
-
-        gridLayout_5->addWidget(coord3DTransY, 1, 1, 1, 1);
-
-        coord3DTransY_spin = new QSpinBox(coordTab3D);
-        coord3DTransY_spin->setObjectName(QString::fromUtf8("coord3DTransY_spin"));
-        coord3DTransY_spin->setMinimumSize(QSize(0, 17));
-        coord3DTransY_spin->setMaximumSize(QSize(16777215, 17));
-        coord3DTransY_spin->setMinimum(-10000);
-        coord3DTransY_spin->setMaximum(10000);
-
-        gridLayout_5->addWidget(coord3DTransY_spin, 1, 2, 1, 1);
-
-        label_57 = new QLabel(coordTab3D);
-        label_57->setObjectName(QString::fromUtf8("label_57"));
-        label_57->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_5->addWidget(label_57, 2, 0, 1, 1);
-
-        coord3DTransZ = new QScrollBar(coordTab3D);
-        coord3DTransZ->setObjectName(QString::fromUtf8("coord3DTransZ"));
-        coord3DTransZ->setMinimumSize(QSize(0, 17));
-        coord3DTransZ->setMaximumSize(QSize(16777215, 17));
-        coord3DTransZ->setMinimum(-10000);
-        coord3DTransZ->setMaximum(10000);
-        coord3DTransZ->setPageStep(10);
-        coord3DTransZ->setSliderPosition(0);
-        coord3DTransZ->setOrientation(Qt::Horizontal);
-
-        gridLayout_5->addWidget(coord3DTransZ, 2, 1, 1, 1);
-
-        coord3DTransZ_spin = new QSpinBox(coordTab3D);
-        coord3DTransZ_spin->setObjectName(QString::fromUtf8("coord3DTransZ_spin"));
-        coord3DTransZ_spin->setMinimumSize(QSize(0, 17));
-        coord3DTransZ_spin->setMaximumSize(QSize(16777215, 17));
-        coord3DTransZ_spin->setMinimum(-10000);
-        coord3DTransZ_spin->setMaximum(10000);
-
-        gridLayout_5->addWidget(coord3DTransZ_spin, 2, 2, 1, 1);
-
-        label_56 = new QLabel(coordTab3D);
-        label_56->setObjectName(QString::fromUtf8("label_56"));
-        label_56->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_5->addWidget(label_56, 3, 0, 1, 1);
-
-        coord3DAxeLen = new QScrollBar(coordTab3D);
-        coord3DAxeLen->setObjectName(QString::fromUtf8("coord3DAxeLen"));
-        coord3DAxeLen->setMinimumSize(QSize(0, 17));
-        coord3DAxeLen->setMaximumSize(QSize(16777215, 17));
-        coord3DAxeLen->setMinimum(1);
-        coord3DAxeLen->setMaximum(10000);
-        coord3DAxeLen->setValue(200);
-        coord3DAxeLen->setSliderPosition(200);
-        coord3DAxeLen->setOrientation(Qt::Horizontal);
-
-        gridLayout_5->addWidget(coord3DAxeLen, 3, 1, 1, 1);
-
-        coord3DAxeLen_spin = new QSpinBox(coordTab3D);
-        coord3DAxeLen_spin->setObjectName(QString::fromUtf8("coord3DAxeLen_spin"));
-        coord3DAxeLen_spin->setMinimumSize(QSize(0, 17));
-        coord3DAxeLen_spin->setMaximumSize(QSize(16777215, 17));
-        coord3DAxeLen_spin->setMinimum(1);
-        coord3DAxeLen_spin->setMaximum(10000);
-        coord3DAxeLen_spin->setValue(200);
-
-        gridLayout_5->addWidget(coord3DAxeLen_spin, 3, 2, 1, 1);
-
-
-        verticalLayout_5->addLayout(gridLayout_5);
-
-        horizontalLayout_6 = new QHBoxLayout();
-        horizontalLayout_6->setObjectName(QString::fromUtf8("horizontalLayout_6"));
-        label_60 = new QLabel(coordTab3D);
-        label_60->setObjectName(QString::fromUtf8("label_60"));
-        label_60->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        horizontalLayout_6->addWidget(label_60);
-
-        coord3DSwapX = new QCheckBox(coordTab3D);
-        coord3DSwapX->setObjectName(QString::fromUtf8("coord3DSwapX"));
-        coord3DSwapX->setMinimumSize(QSize(0, 17));
-        coord3DSwapX->setMaximumSize(QSize(16777215, 17));
-
-        horizontalLayout_6->addWidget(coord3DSwapX);
-
-        coord3DSwapY = new QCheckBox(coordTab3D);
-        coord3DSwapY->setObjectName(QString::fromUtf8("coord3DSwapY"));
-        coord3DSwapY->setMinimumSize(QSize(0, 17));
-        coord3DSwapY->setMaximumSize(QSize(16777215, 17));
-
-        horizontalLayout_6->addWidget(coord3DSwapY);
-
-        coord3DSwapZ = new QCheckBox(coordTab3D);
-        coord3DSwapZ->setObjectName(QString::fromUtf8("coord3DSwapZ"));
-        coord3DSwapZ->setMinimumSize(QSize(0, 17));
-        coord3DSwapZ->setMaximumSize(QSize(16777215, 17));
-
-        horizontalLayout_6->addWidget(coord3DSwapZ);
-
-        horizontalSpacer_5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_6->addItem(horizontalSpacer_5);
-
-
-        verticalLayout_5->addLayout(horizontalLayout_6);
-
-        horizontalLayout_7 = new QHBoxLayout();
-        horizontalLayout_7->setObjectName(QString::fromUtf8("horizontalLayout_7"));
-        label_61 = new QLabel(coordTab3D);
-        label_61->setObjectName(QString::fromUtf8("label_61"));
-        label_61->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        horizontalLayout_7->addWidget(label_61);
-
-        extCalibPointsShow = new QCheckBox(coordTab3D);
-        extCalibPointsShow->setObjectName(QString::fromUtf8("extCalibPointsShow"));
-        extCalibPointsShow->setMinimumSize(QSize(0, 17));
-        extCalibPointsShow->setMaximumSize(QSize(16777215, 17));
-
-        horizontalLayout_7->addWidget(extCalibPointsShow);
-
-        extVanishPointsShow = new QCheckBox(coordTab3D);
-        extVanishPointsShow->setObjectName(QString::fromUtf8("extVanishPointsShow"));
-        extVanishPointsShow->setMinimumSize(QSize(0, 17));
-        extVanishPointsShow->setMaximumSize(QSize(16777215, 17));
-
-        horizontalLayout_7->addWidget(extVanishPointsShow);
-
-        horizontalSpacer_6 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_7->addItem(horizontalSpacer_6);
-
-
-        verticalLayout_5->addLayout(horizontalLayout_7);
-
-        verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
-        verticalLayout_5->addItem(verticalSpacer_2);
-
-        coordTab->addTab(coordTab3D, QString());
-        coordTab2D = new QWidget();
-        coordTab2D->setObjectName(QString::fromUtf8("coordTab2D"));
-        verticalLayout_4 = new QVBoxLayout(coordTab2D);
-        verticalLayout_4->setObjectName(QString::fromUtf8("verticalLayout_4"));
-        gridLayout4 = new QGridLayout();
-        gridLayout4->setSpacing(4);
-        gridLayout4->setObjectName(QString::fromUtf8("gridLayout4"));
-        gridLayout4->setContentsMargins(0, 0, 0, 0);
-        coordTransX_spin = new QSpinBox(coordTab2D);
-        coordTransX_spin->setObjectName(QString::fromUtf8("coordTransX_spin"));
-        coordTransX_spin->setMinimumSize(QSize(0, 18));
-        coordTransX_spin->setMaximumSize(QSize(16777215, 18));
-        coordTransX_spin->setMinimum(0);
-        coordTransX_spin->setMaximum(10000);
-
-        gridLayout4->addWidget(coordTransX_spin, 1, 2, 1, 1);
-
-        label_34 = new QLabel(coordTab2D);
-        label_34->setObjectName(QString::fromUtf8("label_34"));
-        label_34->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout4->addWidget(label_34, 1, 0, 1, 1);
-
-        coordTransX = new QScrollBar(coordTab2D);
-        coordTransX->setObjectName(QString::fromUtf8("coordTransX"));
-        coordTransX->setMinimumSize(QSize(0, 17));
-        coordTransX->setMaximumSize(QSize(16777215, 17));
-        coordTransX->setMinimum(0);
-        coordTransX->setMaximum(10000);
-        coordTransX->setPageStep(10);
-        coordTransX->setValue(0);
-        coordTransX->setSliderPosition(0);
-        coordTransX->setOrientation(Qt::Horizontal);
-
-        gridLayout4->addWidget(coordTransX, 1, 1, 1, 1);
-
-        label_32 = new QLabel(coordTab2D);
-        label_32->setObjectName(QString::fromUtf8("label_32"));
-        label_32->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout4->addWidget(label_32, 2, 0, 1, 1);
-
-        coordTransY = new QScrollBar(coordTab2D);
-        coordTransY->setObjectName(QString::fromUtf8("coordTransY"));
-        coordTransY->setMinimumSize(QSize(0, 17));
-        coordTransY->setMaximumSize(QSize(16777215, 17));
-        coordTransY->setMinimum(0);
-        coordTransY->setMaximum(10000);
-        coordTransY->setValue(0);
-        coordTransY->setSliderPosition(0);
-        coordTransY->setOrientation(Qt::Horizontal);
-
-        gridLayout4->addWidget(coordTransY, 2, 1, 1, 1);
-
-        label_33 = new QLabel(coordTab2D);
-        label_33->setObjectName(QString::fromUtf8("label_33"));
-        label_33->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout4->addWidget(label_33, 4, 0, 1, 1);
-
-        coordScale = new QScrollBar(coordTab2D);
-        coordScale->setObjectName(QString::fromUtf8("coordScale"));
-        coordScale->setMinimumSize(QSize(0, 17));
-        coordScale->setMaximumSize(QSize(16777215, 17));
-        coordScale->setMinimum(1);
-        coordScale->setMaximum(100000);
-        coordScale->setValue(100);
-        coordScale->setSliderPosition(100);
-        coordScale->setOrientation(Qt::Horizontal);
-
-        gridLayout4->addWidget(coordScale, 4, 1, 1, 1);
-
-        coordTransY_spin = new QSpinBox(coordTab2D);
-        coordTransY_spin->setObjectName(QString::fromUtf8("coordTransY_spin"));
-        coordTransY_spin->setMinimumSize(QSize(0, 18));
-        coordTransY_spin->setMaximumSize(QSize(16777215, 18));
-        coordTransY_spin->setMinimum(0);
-        coordTransY_spin->setMaximum(10000);
-
-        gridLayout4->addWidget(coordTransY_spin, 2, 2, 1, 1);
-
-        coordScale_spin = new QSpinBox(coordTab2D);
-        coordScale_spin->setObjectName(QString::fromUtf8("coordScale_spin"));
-        coordScale_spin->setMinimumSize(QSize(0, 18));
-        coordScale_spin->setMaximumSize(QSize(16777215, 18));
-        coordScale_spin->setMinimum(1);
-        coordScale_spin->setMaximum(100000);
-        coordScale_spin->setValue(100);
-
-        gridLayout4->addWidget(coordScale_spin, 4, 2, 1, 1);
-
-        label_35 = new QLabel(coordTab2D);
-        label_35->setObjectName(QString::fromUtf8("label_35"));
-        label_35->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout4->addWidget(label_35, 3, 0, 1, 1);
-
-        coordRotate = new QScrollBar(coordTab2D);
-        coordRotate->setObjectName(QString::fromUtf8("coordRotate"));
-        sizePolicy5.setHeightForWidth(coordRotate->sizePolicy().hasHeightForWidth());
-        coordRotate->setSizePolicy(sizePolicy5);
-        coordRotate->setMinimumSize(QSize(100, 17));
-        coordRotate->setMaximumSize(QSize(16777215, 17));
-        coordRotate->setMinimum(0);
-        coordRotate->setMaximum(3600);
-        coordRotate->setSliderPosition(0);
-        coordRotate->setOrientation(Qt::Horizontal);
-
-        gridLayout4->addWidget(coordRotate, 3, 1, 1, 1);
-
-        coordRotate_spin = new QSpinBox(coordTab2D);
-        coordRotate_spin->setObjectName(QString::fromUtf8("coordRotate_spin"));
-        coordRotate_spin->setMinimumSize(QSize(0, 18));
-        coordRotate_spin->setMaximumSize(QSize(16777215, 18));
-        coordRotate_spin->setMinimum(0);
-        coordRotate_spin->setMaximum(3600);
-
-        gridLayout4->addWidget(coordRotate_spin, 3, 2, 1, 1);
-
-
-        verticalLayout_4->addLayout(gridLayout4);
-
-        gridLayout5 = new QGridLayout();
-        gridLayout5->setSpacing(6);
-        gridLayout5->setObjectName(QString::fromUtf8("gridLayout5"));
-        gridLayout5->setContentsMargins(0, 0, 0, 0);
-        label_14 = new QLabel(coordTab2D);
-        label_14->setObjectName(QString::fromUtf8("label_14"));
-
-        gridLayout5->addWidget(label_14, 0, 0, 1, 1);
-
-        coordAltitude = new QDoubleSpinBox(coordTab2D);
-        coordAltitude->setObjectName(QString::fromUtf8("coordAltitude"));
-        sizePolicy6.setHeightForWidth(coordAltitude->sizePolicy().hasHeightForWidth());
-        coordAltitude->setSizePolicy(sizePolicy6);
-        coordAltitude->setMinimumSize(QSize(0, 18));
-        coordAltitude->setMaximumSize(QSize(16777215, 18));
-        coordAltitude->setAlignment(Qt::AlignRight);
-        coordAltitude->setDecimals(1);
-        coordAltitude->setMinimum(0.100000000000000);
-        coordAltitude->setMaximum(9999.000000000000000);
-        coordAltitude->setValue(535.000000000000000);
-
-        gridLayout5->addWidget(coordAltitude, 0, 1, 1, 1);
-
-        coordAltitudeMeasured = new QLabel(coordTab2D);
-        coordAltitudeMeasured->setObjectName(QString::fromUtf8("coordAltitudeMeasured"));
-        coordAltitudeMeasured->setMinimumSize(QSize(90, 0));
-
-        gridLayout5->addWidget(coordAltitudeMeasured, 0, 2, 1, 1);
-
-        horizontalSpacer_8 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        gridLayout5->addItem(horizontalSpacer_8, 0, 3, 1, 1);
-
-
-        verticalLayout_4->addLayout(gridLayout5);
-
-        gridLayout6 = new QGridLayout();
-        gridLayout6->setSpacing(6);
-        gridLayout6->setObjectName(QString::fromUtf8("gridLayout6"));
-        gridLayout6->setContentsMargins(0, 0, 0, 0);
-        label_37 = new QLabel(coordTab2D);
-        label_37->setObjectName(QString::fromUtf8("label_37"));
-        label_37->setMinimumSize(QSize(57, 0));
-
-        gridLayout6->addWidget(label_37, 0, 0, 1, 1);
-
-        coordUnit = new QDoubleSpinBox(coordTab2D);
-        coordUnit->setObjectName(QString::fromUtf8("coordUnit"));
-        coordUnit->setMinimumSize(QSize(0, 18));
-        coordUnit->setMaximumSize(QSize(16777215, 18));
-        coordUnit->setAlignment(Qt::AlignRight);
-        coordUnit->setDecimals(0);
-        coordUnit->setMinimum(1.000000000000000);
-        coordUnit->setMaximum(9999.000000000000000);
-        coordUnit->setSingleStep(1.000000000000000);
-        coordUnit->setValue(100.000000000000000);
-
-        gridLayout6->addWidget(coordUnit, 0, 1, 1, 1);
-
-        spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        gridLayout6->addItem(spacerItem, 0, 2, 1, 1);
-
-
-        verticalLayout_4->addLayout(gridLayout6);
-
-        coordUseIntrinsic = new QCheckBox(coordTab2D);
-        coordUseIntrinsic->setObjectName(QString::fromUtf8("coordUseIntrinsic"));
-        coordUseIntrinsic->setMinimumSize(QSize(0, 17));
-        coordUseIntrinsic->setMaximumSize(QSize(16777215, 17));
-
-        verticalLayout_4->addWidget(coordUseIntrinsic);
-
-        coordTab->addTab(coordTab2D, QString());
-
-        verticalLayout_14->addWidget(coordTab);
-
-
-        verticalLayout_13->addWidget(align_2);
-
-        align = new QGroupBox(scrollAreaWidgetContents);
-        align->setObjectName(QString::fromUtf8("align"));
-        sizePolicy3.setHeightForWidth(align->sizePolicy().hasHeightForWidth());
-        align->setSizePolicy(sizePolicy3);
-        align->setMinimumSize(QSize(300, 197));
-        align->setMaximumSize(QSize(16777215, 16777215));
-        verticalLayout_15 = new QVBoxLayout(align);
-        verticalLayout_15->setObjectName(QString::fromUtf8("verticalLayout_15"));
-        verticalLayout_15->setContentsMargins(5, 5, 5, 5);
-        horizontalLayout_12 = new QHBoxLayout();
-        horizontalLayout_12->setObjectName(QString::fromUtf8("horizontalLayout_12"));
-        gridShow = new QCheckBox(align);
-        gridShow->setObjectName(QString::fromUtf8("gridShow"));
-        gridShow->setMinimumSize(QSize(57, 0));
-
-        horizontalLayout_12->addWidget(gridShow);
-
-        gridFix = new QCheckBox(align);
-        gridFix->setObjectName(QString::fromUtf8("gridFix"));
-        gridFix->setMaximumSize(QSize(16777215, 25));
-
-        horizontalLayout_12->addWidget(gridFix);
-
-        horizontalSpacer_10 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_12->addItem(horizontalSpacer_10);
-
-
-        verticalLayout_15->addLayout(horizontalLayout_12);
-
-        gridTab = new QTabWidget(align);
-        gridTab->setObjectName(QString::fromUtf8("gridTab"));
-        gridTab->setEnabled(true);
-        gridTab->setBaseSize(QSize(0, 0));
-        gridTab->setLayoutDirection(Qt::LeftToRight);
-        gridTab->setAutoFillBackground(false);
-        gridTab->setTabPosition(QTabWidget::North);
-        gridTab->setTabShape(QTabWidget::Rounded);
-        gridTab->setElideMode(Qt::ElideNone);
-        gridTab->setUsesScrollButtons(false);
-        gridTab->setDocumentMode(false);
-        gridTab->setTabsClosable(false);
-        gridTab->setMovable(false);
-        gridTab3D = new QWidget();
-        gridTab3D->setObjectName(QString::fromUtf8("gridTab3D"));
-        verticalLayout_11 = new QVBoxLayout(gridTab3D);
-        verticalLayout_11->setObjectName(QString::fromUtf8("verticalLayout_11"));
-        gridLayout_3 = new QGridLayout();
-        gridLayout_3->setSpacing(4);
-        gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
-        gridLayout_3->setSizeConstraint(QLayout::SetDefaultConstraint);
-        label_15 = new QLabel(gridTab3D);
-        label_15->setObjectName(QString::fromUtf8("label_15"));
-        label_15->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_3->addWidget(label_15, 0, 0, 1, 1);
-
-        grid3DTransX = new QScrollBar(gridTab3D);
-        grid3DTransX->setObjectName(QString::fromUtf8("grid3DTransX"));
-        sizePolicy4.setHeightForWidth(grid3DTransX->sizePolicy().hasHeightForWidth());
-        grid3DTransX->setSizePolicy(sizePolicy4);
-        grid3DTransX->setMinimumSize(QSize(50, 17));
-        grid3DTransX->setMaximumSize(QSize(16777215, 17));
-        grid3DTransX->setMinimum(-10000);
-        grid3DTransX->setMaximum(10000);
-        grid3DTransX->setValue(0);
-        grid3DTransX->setOrientation(Qt::Horizontal);
-
-        gridLayout_3->addWidget(grid3DTransX, 0, 1, 1, 1);
-
-        grid3DTransX_spin = new QSpinBox(gridTab3D);
-        grid3DTransX_spin->setObjectName(QString::fromUtf8("grid3DTransX_spin"));
-        grid3DTransX_spin->setMaximumSize(QSize(16777215, 22));
-        grid3DTransX_spin->setMinimum(-10000);
-        grid3DTransX_spin->setMaximum(10000);
-
-        gridLayout_3->addWidget(grid3DTransX_spin, 0, 2, 1, 1);
-
-        label_49 = new QLabel(gridTab3D);
-        label_49->setObjectName(QString::fromUtf8("label_49"));
-        label_49->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_3->addWidget(label_49, 1, 0, 1, 1);
-
-        grid3DTransY = new QScrollBar(gridTab3D);
-        grid3DTransY->setObjectName(QString::fromUtf8("grid3DTransY"));
-        grid3DTransY->setMinimumSize(QSize(0, 17));
-        grid3DTransY->setMaximumSize(QSize(16777215, 17));
-        grid3DTransY->setMinimum(-10000);
-        grid3DTransY->setMaximum(10000);
-        grid3DTransY->setOrientation(Qt::Horizontal);
-
-        gridLayout_3->addWidget(grid3DTransY, 1, 1, 1, 1);
-
-        grid3DTransY_spin = new QSpinBox(gridTab3D);
-        grid3DTransY_spin->setObjectName(QString::fromUtf8("grid3DTransY_spin"));
-        grid3DTransY_spin->setMaximumSize(QSize(16777215, 22));
-        grid3DTransY_spin->setMinimum(-10000);
-        grid3DTransY_spin->setMaximum(10000);
-
-        gridLayout_3->addWidget(grid3DTransY_spin, 1, 2, 1, 1);
-
-        label_50 = new QLabel(gridTab3D);
-        label_50->setObjectName(QString::fromUtf8("label_50"));
-        label_50->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_3->addWidget(label_50, 2, 0, 1, 1);
-
-        grid3DTransZ = new QScrollBar(gridTab3D);
-        grid3DTransZ->setObjectName(QString::fromUtf8("grid3DTransZ"));
-        sizePolicy4.setHeightForWidth(grid3DTransZ->sizePolicy().hasHeightForWidth());
-        grid3DTransZ->setSizePolicy(sizePolicy4);
-        grid3DTransZ->setMinimumSize(QSize(50, 17));
-        grid3DTransZ->setMaximumSize(QSize(16777215, 17));
-        grid3DTransZ->setMinimum(-10000);
-        grid3DTransZ->setMaximum(10000);
-        grid3DTransZ->setOrientation(Qt::Horizontal);
-
-        gridLayout_3->addWidget(grid3DTransZ, 2, 1, 1, 1);
-
-        grid3DTransZ_spin = new QSpinBox(gridTab3D);
-        grid3DTransZ_spin->setObjectName(QString::fromUtf8("grid3DTransZ_spin"));
-        grid3DTransZ_spin->setEnabled(true);
-        grid3DTransZ_spin->setMaximumSize(QSize(16777215, 22));
-        grid3DTransZ_spin->setMinimum(-1000);
-        grid3DTransZ_spin->setMaximum(1000);
-
-        gridLayout_3->addWidget(grid3DTransZ_spin, 2, 2, 1, 1);
-
-        label_51 = new QLabel(gridTab3D);
-        label_51->setObjectName(QString::fromUtf8("label_51"));
-        label_51->setLayoutDirection(Qt::LeftToRight);
-        label_51->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_3->addWidget(label_51, 3, 0, 1, 1);
-
-        grid3DResolution = new QScrollBar(gridTab3D);
-        grid3DResolution->setObjectName(QString::fromUtf8("grid3DResolution"));
-        grid3DResolution->setMinimumSize(QSize(0, 17));
-        grid3DResolution->setMaximumSize(QSize(16777215, 17));
-        grid3DResolution->setMinimum(1);
-        grid3DResolution->setMaximum(10000);
-        grid3DResolution->setSingleStep(1);
-        grid3DResolution->setPageStep(10);
-        grid3DResolution->setValue(100);
-        grid3DResolution->setSliderPosition(100);
-        grid3DResolution->setOrientation(Qt::Horizontal);
-        grid3DResolution->setInvertedAppearance(false);
-        grid3DResolution->setInvertedControls(true);
-
-        gridLayout_3->addWidget(grid3DResolution, 3, 1, 1, 1);
-
-        grid3DResolution_spin = new QSpinBox(gridTab3D);
-        grid3DResolution_spin->setObjectName(QString::fromUtf8("grid3DResolution_spin"));
-        grid3DResolution_spin->setMaximumSize(QSize(16777215, 22));
-        grid3DResolution_spin->setMinimum(1);
-        grid3DResolution_spin->setMaximum(10000);
-        grid3DResolution_spin->setSingleStep(10);
-        grid3DResolution_spin->setValue(100);
-
-        gridLayout_3->addWidget(grid3DResolution_spin, 3, 2, 1, 1);
-
-        gridLayout_3->setColumnStretch(1, 1);
-
-        verticalLayout_11->addLayout(gridLayout_3);
-
-        gridTab->addTab(gridTab3D, QString());
-        gridTab2D = new QWidget();
-        gridTab2D->setObjectName(QString::fromUtf8("gridTab2D"));
-        verticalLayout_10 = new QVBoxLayout(gridTab2D);
-        verticalLayout_10->setObjectName(QString::fromUtf8("verticalLayout_10"));
-        gridLayout_100 = new QGridLayout();
-        gridLayout_100->setSpacing(6);
-        gridLayout_100->setObjectName(QString::fromUtf8("gridLayout_100"));
-        label_10 = new QLabel(gridTab2D);
-        label_10->setObjectName(QString::fromUtf8("label_10"));
-        label_10->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_100->addWidget(label_10, 0, 0, 1, 1);
-
-        gridTransX = new QScrollBar(gridTab2D);
-        gridTransX->setObjectName(QString::fromUtf8("gridTransX"));
-        sizePolicy5.setHeightForWidth(gridTransX->sizePolicy().hasHeightForWidth());
-        gridTransX->setSizePolicy(sizePolicy5);
-        gridTransX->setMinimumSize(QSize(100, 17));
-        gridTransX->setMaximumSize(QSize(16777215, 17));
-        gridTransX->setMinimum(0);
-        gridTransX->setMaximum(10000);
-        gridTransX->setValue(0);
-        gridTransX->setOrientation(Qt::Horizontal);
-
-        gridLayout_100->addWidget(gridTransX, 0, 1, 1, 1);
-
-        gridTransX_spin = new QSpinBox(gridTab2D);
-        gridTransX_spin->setObjectName(QString::fromUtf8("gridTransX_spin"));
-        gridTransX_spin->setMinimumSize(QSize(0, 17));
-        gridTransX_spin->setMaximumSize(QSize(16777215, 17));
-        gridTransX_spin->setMinimum(0);
-        gridTransX_spin->setMaximum(10000);
-
-        gridLayout_100->addWidget(gridTransX_spin, 0, 2, 1, 1);
-
-        label_11 = new QLabel(gridTab2D);
-        label_11->setObjectName(QString::fromUtf8("label_11"));
-        label_11->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_100->addWidget(label_11, 1, 0, 1, 1);
-
-        gridTransY = new QScrollBar(gridTab2D);
-        gridTransY->setObjectName(QString::fromUtf8("gridTransY"));
-        gridTransY->setMinimumSize(QSize(0, 17));
-        gridTransY->setMaximumSize(QSize(16777215, 17));
-        gridTransY->setMinimum(0);
-        gridTransY->setMaximum(10000);
-        gridTransY->setOrientation(Qt::Horizontal);
-
-        gridLayout_100->addWidget(gridTransY, 1, 1, 1, 1);
-
-        gridTransY_spin = new QSpinBox(gridTab2D);
-        gridTransY_spin->setObjectName(QString::fromUtf8("gridTransY_spin"));
-        gridTransY_spin->setMinimumSize(QSize(0, 17));
-        gridTransY_spin->setMaximumSize(QSize(16777215, 17));
-        gridTransY_spin->setMinimum(0);
-        gridTransY_spin->setMaximum(10000);
-
-        gridLayout_100->addWidget(gridTransY_spin, 1, 2, 1, 1);
-
-        label_9 = new QLabel(gridTab2D);
-        label_9->setObjectName(QString::fromUtf8("label_9"));
-        label_9->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_100->addWidget(label_9, 2, 0, 1, 1);
-
-        gridRotate = new QScrollBar(gridTab2D);
-        gridRotate->setObjectName(QString::fromUtf8("gridRotate"));
-        sizePolicy4.setHeightForWidth(gridRotate->sizePolicy().hasHeightForWidth());
-        gridRotate->setSizePolicy(sizePolicy4);
-        gridRotate->setMinimumSize(QSize(50, 17));
-        gridRotate->setMaximumSize(QSize(16777215, 17));
-        gridRotate->setMinimum(0);
-        gridRotate->setMaximum(3600);
-        gridRotate->setOrientation(Qt::Horizontal);
-
-        gridLayout_100->addWidget(gridRotate, 2, 1, 1, 1);
-
-        gridRot_spin = new QSpinBox(gridTab2D);
-        gridRot_spin->setObjectName(QString::fromUtf8("gridRot_spin"));
-        gridRot_spin->setEnabled(true);
-        gridRot_spin->setMinimumSize(QSize(0, 17));
-        gridRot_spin->setMaximumSize(QSize(16777215, 17));
-        gridRot_spin->setMinimum(0);
-        gridRot_spin->setMaximum(3600);
-
-        gridLayout_100->addWidget(gridRot_spin, 2, 2, 1, 1);
-
-        label_12 = new QLabel(gridTab2D);
-        label_12->setObjectName(QString::fromUtf8("label_12"));
-        QSizePolicy sizePolicy7(QSizePolicy::Preferred, QSizePolicy::Fixed);
-        sizePolicy7.setHorizontalStretch(0);
-        sizePolicy7.setVerticalStretch(0);
-        sizePolicy7.setHeightForWidth(label_12->sizePolicy().hasHeightForWidth());
-        label_12->setSizePolicy(sizePolicy7);
-        label_12->setMaximumSize(QSize(16777215, 17));
-        label_12->setLayoutDirection(Qt::LeftToRight);
-        label_12->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_100->addWidget(label_12, 3, 0, 1, 1);
-
-        gridScale = new QScrollBar(gridTab2D);
-        gridScale->setObjectName(QString::fromUtf8("gridScale"));
-        gridScale->setMinimumSize(QSize(0, 17));
-        gridScale->setMaximumSize(QSize(16777215, 17));
-        gridScale->setMinimum(1);
-        gridScale->setMaximum(10000);
-        gridScale->setValue(100);
-        gridScale->setSliderPosition(100);
-        gridScale->setOrientation(Qt::Horizontal);
-
-        gridLayout_100->addWidget(gridScale, 3, 1, 1, 1);
-
-        gridScale_spin = new QSpinBox(gridTab2D);
-        gridScale_spin->setObjectName(QString::fromUtf8("gridScale_spin"));
-        gridScale_spin->setMinimumSize(QSize(0, 17));
-        gridScale_spin->setMaximumSize(QSize(16777215, 17));
-        gridScale_spin->setMinimum(1);
-        gridScale_spin->setMaximum(10000);
-        gridScale_spin->setValue(100);
-
-        gridLayout_100->addWidget(gridScale_spin, 3, 2, 1, 1);
-
-        gridLayout_100->setColumnStretch(1, 1);
-
-        verticalLayout_10->addLayout(gridLayout_100);
-
-        gridTab->addTab(gridTab2D, QString());
-
-        verticalLayout_15->addWidget(gridTab);
-
-
-        verticalLayout_13->addWidget(align);
-
-        scrollArea->setWidget(scrollAreaWidgetContents);
-
-        horizontalLayout_11->addWidget(scrollArea);
-
-        tabs->addTab(calib, QString());
-        rec = new QWidget();
-        rec->setObjectName(QString::fromUtf8("rec"));
-        QSizePolicy sizePolicy8(QSizePolicy::Preferred, QSizePolicy::Preferred);
-        sizePolicy8.setHorizontalStretch(0);
-        sizePolicy8.setVerticalStretch(0);
-        sizePolicy8.setHeightForWidth(rec->sizePolicy().hasHeightForWidth());
-        rec->setSizePolicy(sizePolicy8);
-        horizontalLayout_16 = new QHBoxLayout(rec);
-        horizontalLayout_16->setObjectName(QString::fromUtf8("horizontalLayout_16"));
-        scrollArea_2 = new QScrollArea(rec);
-        scrollArea_2->setObjectName(QString::fromUtf8("scrollArea_2"));
-        scrollArea_2->setWidgetResizable(true);
-        scrollAreaWidgetContents_2 = new QWidget();
-        scrollAreaWidgetContents_2->setObjectName(QString::fromUtf8("scrollAreaWidgetContents_2"));
-        scrollAreaWidgetContents_2->setGeometry(QRect(0, 0, 337, 874));
-        verticalLayout_16 = new QVBoxLayout(scrollAreaWidgetContents_2);
-        verticalLayout_16->setObjectName(QString::fromUtf8("verticalLayout_16"));
-        verticalLayout_2 = new QVBoxLayout();
-        verticalLayout_2->setSpacing(2);
-        verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
-        hboxLayout = new QHBoxLayout();
-        hboxLayout->setSpacing(6);
-        hboxLayout->setObjectName(QString::fromUtf8("hboxLayout"));
-        hboxLayout->setContentsMargins(0, 0, 0, 0);
-        performRecognition = new QCheckBox(scrollAreaWidgetContents_2);
-        performRecognition->setObjectName(QString::fromUtf8("performRecognition"));
-        performRecognition->setEnabled(true);
-        performRecognition->setChecked(false);
-
-        hboxLayout->addWidget(performRecognition);
-
-        gridLayout7 = new QGridLayout();
-        gridLayout7->setSpacing(6);
-        gridLayout7->setObjectName(QString::fromUtf8("gridLayout7"));
-        gridLayout7->setContentsMargins(0, 0, 0, 0);
-        recoStep = new QSpinBox(scrollAreaWidgetContents_2);
-        recoStep->setObjectName(QString::fromUtf8("recoStep"));
-        sizePolicy6.setHeightForWidth(recoStep->sizePolicy().hasHeightForWidth());
-        recoStep->setSizePolicy(sizePolicy6);
-        recoStep->setMinimumSize(QSize(20, 0));
-        recoStep->setAlignment(Qt::AlignRight);
-        recoStep->setMinimum(1);
-        recoStep->setMaximum(9999);
-        recoStep->setValue(1);
-
-        gridLayout7->addWidget(recoStep, 0, 2, 1, 1);
-
-        label_27 = new QLabel(scrollAreaWidgetContents_2);
-        label_27->setObjectName(QString::fromUtf8("label_27"));
-
-        gridLayout7->addWidget(label_27, 0, 1, 1, 1);
-
-        spacerItem1 = new QSpacerItem(20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        gridLayout7->addItem(spacerItem1, 0, 0, 1, 1);
-
-        horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        gridLayout7->addItem(horizontalSpacer_3, 0, 4, 1, 1);
-
-
-        hboxLayout->addLayout(gridLayout7);
-
-
-        verticalLayout_2->addLayout(hboxLayout);
-
-        gridLayout_2 = new QGridLayout();
-        gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
-        label_26 = new QLabel(scrollAreaWidgetContents_2);
-        label_26->setObjectName(QString::fromUtf8("label_26"));
-
-        gridLayout_2->addWidget(label_26, 0, 0, 1, 1);
-
-        recoNumberNow = new QLabel(scrollAreaWidgetContents_2);
-        recoNumberNow->setObjectName(QString::fromUtf8("recoNumberNow"));
-        QFont font1;
-        font1.setBold(true);
-        font1.setWeight(75);
-        recoNumberNow->setFont(font1);
-        recoNumberNow->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout_2->addWidget(recoNumberNow, 0, 1, 1, 1);
-
-        horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        gridLayout_2->addItem(horizontalSpacer_2, 0, 2, 1, 1);
-
-
-        verticalLayout_2->addLayout(gridLayout_2);
-
-        horizontalLayout_4 = new QHBoxLayout();
-        horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4"));
-        recoMethod = new QComboBox(scrollAreaWidgetContents_2);
-        recoMethod->setObjectName(QString::fromUtf8("recoMethod"));
-        sizePolicy5.setHeightForWidth(recoMethod->sizePolicy().hasHeightForWidth());
-        recoMethod->setSizePolicy(sizePolicy5);
-
-        horizontalLayout_4->addWidget(recoMethod);
-
-        recoStereoShow = new QPushButton(scrollAreaWidgetContents_2);
-        recoStereoShow->setObjectName(QString::fromUtf8("recoStereoShow"));
-
-        horizontalLayout_4->addWidget(recoStereoShow);
-
-
-        verticalLayout_2->addLayout(horizontalLayout_4);
-
-
-        verticalLayout_16->addLayout(verticalLayout_2);
-
-        groupBox_2 = new QGroupBox(scrollAreaWidgetContents_2);
-        groupBox_2->setObjectName(QString::fromUtf8("groupBox_2"));
-        sizePolicy8.setHeightForWidth(groupBox_2->sizePolicy().hasHeightForWidth());
-        groupBox_2->setSizePolicy(sizePolicy8);
-        groupBox_2->setMinimumSize(QSize(0, 44));
-        groupBox_2->setMaximumSize(QSize(350, 16777215));
-        groupBox_2->setCheckable(false);
-        roiShow = new QCheckBox(groupBox_2);
-        roiShow->setObjectName(QString::fromUtf8("roiShow"));
-        roiShow->setGeometry(QRect(10, 20, 49, 18));
-        roiFix = new QCheckBox(groupBox_2);
-        roiFix->setObjectName(QString::fromUtf8("roiFix"));
-        roiFix->setGeometry(QRect(80, 20, 36, 18));
-
-        verticalLayout_16->addWidget(groupBox_2);
-
-        groupBox_5 = new QGroupBox(scrollAreaWidgetContents_2);
-        groupBox_5->setObjectName(QString::fromUtf8("groupBox_5"));
-        groupBox_5->setMinimumSize(QSize(0, 80));
-        groupBox_5->setMaximumSize(QSize(350, 16777215));
-        groupBox_5->setAlignment(Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter);
-        verticalLayout_19 = new QVBoxLayout(groupBox_5);
-        verticalLayout_19->setObjectName(QString::fromUtf8("verticalLayout_19"));
-        vboxLayout = new QVBoxLayout();
-        vboxLayout->setSpacing(6);
-        vboxLayout->setObjectName(QString::fromUtf8("vboxLayout"));
-        vboxLayout->setContentsMargins(0, 0, 0, 0);
-        hboxLayout1 = new QHBoxLayout();
-        hboxLayout1->setSpacing(6);
-        hboxLayout1->setObjectName(QString::fromUtf8("hboxLayout1"));
-        hboxLayout1->setContentsMargins(0, 0, 0, 0);
-        label_19 = new QLabel(groupBox_5);
-        label_19->setObjectName(QString::fromUtf8("label_19"));
-        QSizePolicy sizePolicy9(QSizePolicy::Fixed, QSizePolicy::Preferred);
-        sizePolicy9.setHorizontalStretch(0);
-        sizePolicy9.setVerticalStretch(0);
-        sizePolicy9.setHeightForWidth(label_19->sizePolicy().hasHeightForWidth());
-        label_19->setSizePolicy(sizePolicy9);
-
-        hboxLayout1->addWidget(label_19);
-
-        markerBrightness = new QScrollBar(groupBox_5);
-        markerBrightness->setObjectName(QString::fromUtf8("markerBrightness"));
-        sizePolicy4.setHeightForWidth(markerBrightness->sizePolicy().hasHeightForWidth());
-        markerBrightness->setSizePolicy(sizePolicy4);
-        markerBrightness->setMinimumSize(QSize(50, 0));
-        markerBrightness->setValue(50);
-        markerBrightness->setOrientation(Qt::Horizontal);
-
-        hboxLayout1->addWidget(markerBrightness);
-
-        hboxLayout1->setStretch(1, 1);
-
-        vboxLayout->addLayout(hboxLayout1);
-
-        markerIgnoreWithout = new QCheckBox(groupBox_5);
-        markerIgnoreWithout->setObjectName(QString::fromUtf8("markerIgnoreWithout"));
-        markerIgnoreWithout->setChecked(true);
-
-        vboxLayout->addWidget(markerIgnoreWithout);
-
-
-        verticalLayout_19->addLayout(vboxLayout);
-
-
-        verticalLayout_16->addWidget(groupBox_5);
-
-        colorBox = new QGroupBox(scrollAreaWidgetContents_2);
-        colorBox->setObjectName(QString::fromUtf8("colorBox"));
-        sizePolicy6.setHeightForWidth(colorBox->sizePolicy().hasHeightForWidth());
-        colorBox->setSizePolicy(sizePolicy6);
-        colorBox->setMinimumSize(QSize(309, 631));
-        colorBox->setMaximumSize(QSize(350, 631));
-        verticalLayout_9 = new QVBoxLayout(colorBox);
-        verticalLayout_9->setObjectName(QString::fromUtf8("verticalLayout_9"));
-        verticalLayout_3 = new QVBoxLayout();
-        verticalLayout_3->setSpacing(2);
-        verticalLayout_3->setObjectName(QString::fromUtf8("verticalLayout_3"));
-        verticalLayout_3->setSizeConstraint(QLayout::SetDefaultConstraint);
-        horizontalLayout_2 = new QHBoxLayout();
-        horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
-        recoShowColor = new QCheckBox(colorBox);
-        recoShowColor->setObjectName(QString::fromUtf8("recoShowColor"));
-        sizePolicy6.setHeightForWidth(recoShowColor->sizePolicy().hasHeightForWidth());
-        recoShowColor->setSizePolicy(sizePolicy6);
-        recoShowColor->setChecked(true);
-
-        horizontalLayout_2->addWidget(recoShowColor);
-
-        recoOptimizeColor = new QPushButton(colorBox);
-        recoOptimizeColor->setObjectName(QString::fromUtf8("recoOptimizeColor"));
-        recoOptimizeColor->setMaximumSize(QSize(50, 16777215));
-
-        horizontalLayout_2->addWidget(recoOptimizeColor);
-
-        horizontalSpacer_4 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_2->addItem(horizontalSpacer_4);
-
-
-        verticalLayout_3->addLayout(horizontalLayout_2);
-
-        hboxLayout2 = new QHBoxLayout();
-        hboxLayout2->setSpacing(6);
-        hboxLayout2->setObjectName(QString::fromUtf8("hboxLayout2"));
-        hboxLayout2->setContentsMargins(0, 0, 0, 0);
-        label_28 = new QLabel(colorBox);
-        label_28->setObjectName(QString::fromUtf8("label_28"));
-        sizePolicy9.setHeightForWidth(label_28->sizePolicy().hasHeightForWidth());
-        label_28->setSizePolicy(sizePolicy9);
-        label_28->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        hboxLayout2->addWidget(label_28);
-
-        recoColorModel = new QComboBox(colorBox);
-        recoColorModel->setObjectName(QString::fromUtf8("recoColorModel"));
-        sizePolicy4.setHeightForWidth(recoColorModel->sizePolicy().hasHeightForWidth());
-        recoColorModel->setSizePolicy(sizePolicy4);
-        recoColorModel->setMinimumSize(QSize(50, 0));
-        recoColorModel->setMaximumSize(QSize(16777215, 20));
-
-        hboxLayout2->addWidget(recoColorModel);
-
-        recoAutoWB = new QCheckBox(colorBox);
-        recoAutoWB->setObjectName(QString::fromUtf8("recoAutoWB"));
-
-        hboxLayout2->addWidget(recoAutoWB);
-
-        spacerItem2 = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        hboxLayout2->addItem(spacerItem2);
-
-
-        verticalLayout_3->addLayout(hboxLayout2);
-
-        hboxLayout3 = new QHBoxLayout();
-        hboxLayout3->setSpacing(6);
-        hboxLayout3->setObjectName(QString::fromUtf8("hboxLayout3"));
-        hboxLayout3->setContentsMargins(0, 0, 0, 0);
-        label_29 = new QLabel(colorBox);
-        label_29->setObjectName(QString::fromUtf8("label_29"));
-        sizePolicy9.setHeightForWidth(label_29->sizePolicy().hasHeightForWidth());
-        label_29->setSizePolicy(sizePolicy9);
-        label_29->setMinimumSize(QSize(32, 0));
-        label_29->setLayoutDirection(Qt::LeftToRight);
-        label_29->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        hboxLayout3->addWidget(label_29);
-
-        recoColorX = new QComboBox(colorBox);
-        recoColorX->setObjectName(QString::fromUtf8("recoColorX"));
-        sizePolicy4.setHeightForWidth(recoColorX->sizePolicy().hasHeightForWidth());
-        recoColorX->setSizePolicy(sizePolicy4);
-        recoColorX->setMinimumSize(QSize(35, 0));
-        recoColorX->setMaximumSize(QSize(35, 20));
-
-        hboxLayout3->addWidget(recoColorX);
-
-        label_30 = new QLabel(colorBox);
-        label_30->setObjectName(QString::fromUtf8("label_30"));
-        label_30->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        hboxLayout3->addWidget(label_30);
-
-        recoColorY = new QComboBox(colorBox);
-        recoColorY->setObjectName(QString::fromUtf8("recoColorY"));
-        recoColorY->setMinimumSize(QSize(35, 0));
-        recoColorY->setMaximumSize(QSize(35, 20));
-
-        hboxLayout3->addWidget(recoColorY);
-
-        label_31 = new QLabel(colorBox);
-        label_31->setObjectName(QString::fromUtf8("label_31"));
-        label_31->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        hboxLayout3->addWidget(label_31);
-
-        recoColorZ = new QScrollBar(colorBox);
-        recoColorZ->setObjectName(QString::fromUtf8("recoColorZ"));
-        recoColorZ->setMinimumSize(QSize(100, 0));
-        recoColorZ->setMaximum(255);
-        recoColorZ->setValue(255);
-        recoColorZ->setOrientation(Qt::Horizontal);
-
-        hboxLayout3->addWidget(recoColorZ);
-
-        hboxLayout3->setStretch(5, 1);
-
-        verticalLayout_3->addLayout(hboxLayout3);
-
-        hboxLayout4 = new QHBoxLayout();
-        hboxLayout4->setSpacing(6);
-        hboxLayout4->setObjectName(QString::fromUtf8("hboxLayout4"));
-        hboxLayout4->setContentsMargins(0, 0, 0, 0);
-        label_38 = new QLabel(colorBox);
-        label_38->setObjectName(QString::fromUtf8("label_38"));
-        sizePolicy6.setHeightForWidth(label_38->sizePolicy().hasHeightForWidth());
-        label_38->setSizePolicy(sizePolicy6);
-
-        hboxLayout4->addWidget(label_38);
-
-        recoGreyLevel = new QScrollBar(colorBox);
-        recoGreyLevel->setObjectName(QString::fromUtf8("recoGreyLevel"));
-        recoGreyLevel->setValue(50);
-        recoGreyLevel->setOrientation(Qt::Horizontal);
-
-        hboxLayout4->addWidget(recoGreyLevel);
-
-        label_39 = new QLabel(colorBox);
-        label_39->setObjectName(QString::fromUtf8("label_39"));
-        sizePolicy6.setHeightForWidth(label_39->sizePolicy().hasHeightForWidth());
-        label_39->setSizePolicy(sizePolicy6);
-
-        hboxLayout4->addWidget(label_39);
-
-        recoSymbolSize = new QScrollBar(colorBox);
-        recoSymbolSize->setObjectName(QString::fromUtf8("recoSymbolSize"));
-        recoSymbolSize->setMinimum(1);
-        recoSymbolSize->setMaximum(100);
-        recoSymbolSize->setValue(10);
-        recoSymbolSize->setOrientation(Qt::Horizontal);
-
-        hboxLayout4->addWidget(recoSymbolSize);
-
-
-        verticalLayout_3->addLayout(hboxLayout4);
-
-        colorPlot = new ColorPlot(colorBox);
-        colorPlot->setObjectName(QString::fromUtf8("colorPlot"));
-        sizePolicy5.setHeightForWidth(colorPlot->sizePolicy().hasHeightForWidth());
-        colorPlot->setSizePolicy(sizePolicy5);
-        colorPlot->setMinimumSize(QSize(288, 350));
-        colorPlot->setMaximumSize(QSize(340, 350));
-        colorPlot->setFrameShape(QFrame::StyledPanel);
-        colorPlot->setFrameShadow(QFrame::Raised);
-
-        verticalLayout_3->addWidget(colorPlot);
-
-        groupBox_4 = new QGroupBox(colorBox);
-        groupBox_4->setObjectName(QString::fromUtf8("groupBox_4"));
-        QSizePolicy sizePolicy10(QSizePolicy::Expanding, QSizePolicy::Preferred);
-        sizePolicy10.setHorizontalStretch(0);
-        sizePolicy10.setVerticalStretch(0);
-        sizePolicy10.setHeightForWidth(groupBox_4->sizePolicy().hasHeightForWidth());
-        groupBox_4->setSizePolicy(sizePolicy10);
-        groupBox_4->setMinimumSize(QSize(250, 110));
-        groupBox_4->setMaximumSize(QSize(350, 110));
-        layoutWidget11 = new QWidget(groupBox_4);
-        layoutWidget11->setObjectName(QString::fromUtf8("layoutWidget11"));
-        layoutWidget11->setGeometry(QRect(10, 20, 271, 95));
-        vboxLayout1 = new QVBoxLayout(layoutWidget11);
-        vboxLayout1->setSpacing(6);
-        vboxLayout1->setObjectName(QString::fromUtf8("vboxLayout1"));
-        vboxLayout1->setContentsMargins(0, 0, 0, 0);
-        gridLayout8 = new QGridLayout();
-        gridLayout8->setSpacing(6);
-        gridLayout8->setObjectName(QString::fromUtf8("gridLayout8"));
-        gridLayout8->setContentsMargins(0, 0, 0, 0);
-        label_44 = new QLabel(layoutWidget11);
-        label_44->setObjectName(QString::fromUtf8("label_44"));
-        sizePolicy9.setHeightForWidth(label_44->sizePolicy().hasHeightForWidth());
-        label_44->setSizePolicy(sizePolicy9);
-
-        gridLayout8->addWidget(label_44, 1, 3, 1, 1);
-
-        label_40 = new QLabel(layoutWidget11);
-        label_40->setObjectName(QString::fromUtf8("label_40"));
-        sizePolicy9.setHeightForWidth(label_40->sizePolicy().hasHeightForWidth());
-        label_40->setSizePolicy(sizePolicy9);
-
-        gridLayout8->addWidget(label_40, 0, 1, 1, 1);
-
-        mapX = new QScrollBar(layoutWidget11);
-        mapX->setObjectName(QString::fromUtf8("mapX"));
-        mapX->setMaximum(718);
-        mapX->setOrientation(Qt::Horizontal);
-
-        gridLayout8->addWidget(mapX, 0, 2, 1, 1);
-
-        mapH = new QScrollBar(layoutWidget11);
-        mapH->setObjectName(QString::fromUtf8("mapH"));
-        mapH->setMaximum(395);
-        mapH->setOrientation(Qt::Horizontal);
-
-        gridLayout8->addWidget(mapH, 1, 4, 1, 1);
-
-        mapW = new QScrollBar(layoutWidget11);
-        mapW->setObjectName(QString::fromUtf8("mapW"));
-        mapW->setMaximum(395);
-        mapW->setOrientation(Qt::Horizontal);
-
-        gridLayout8->addWidget(mapW, 1, 2, 1, 1);
-
-        mapY = new QScrollBar(layoutWidget11);
-        mapY->setObjectName(QString::fromUtf8("mapY"));
-        mapY->setMaximum(718);
-        mapY->setOrientation(Qt::Horizontal);
-
-        gridLayout8->addWidget(mapY, 0, 4, 1, 1);
-
-        label_43 = new QLabel(layoutWidget11);
-        label_43->setObjectName(QString::fromUtf8("label_43"));
-        sizePolicy9.setHeightForWidth(label_43->sizePolicy().hasHeightForWidth());
-        label_43->setSizePolicy(sizePolicy9);
-
-        gridLayout8->addWidget(label_43, 1, 1, 1, 1);
-
-        label_42 = new QLabel(layoutWidget11);
-        label_42->setObjectName(QString::fromUtf8("label_42"));
-        sizePolicy9.setHeightForWidth(label_42->sizePolicy().hasHeightForWidth());
-        label_42->setSizePolicy(sizePolicy9);
-
-        gridLayout8->addWidget(label_42, 0, 3, 1, 1);
-
-        mapNr = new QSpinBox(layoutWidget11);
-        mapNr->setObjectName(QString::fromUtf8("mapNr"));
-        sizePolicy6.setHeightForWidth(mapNr->sizePolicy().hasHeightForWidth());
-        mapNr->setSizePolicy(sizePolicy6);
-        mapNr->setAlignment(Qt::AlignRight);
-        mapNr->setMaximum(0);
-
-        gridLayout8->addWidget(mapNr, 0, 0, 1, 1);
-
-        mapColor = new QCheckBox(layoutWidget11);
-        mapColor->setObjectName(QString::fromUtf8("mapColor"));
-        sizePolicy6.setHeightForWidth(mapColor->sizePolicy().hasHeightForWidth());
-        mapColor->setSizePolicy(sizePolicy6);
-        mapColor->setChecked(true);
-
-        gridLayout8->addWidget(mapColor, 1, 0, 1, 1);
-
-
-        vboxLayout1->addLayout(gridLayout8);
-
-        hboxLayout5 = new QHBoxLayout();
-        hboxLayout5->setSpacing(6);
-        hboxLayout5->setObjectName(QString::fromUtf8("hboxLayout5"));
-        hboxLayout5->setContentsMargins(0, 0, 0, 0);
-        label_45 = new QLabel(layoutWidget11);
-        label_45->setObjectName(QString::fromUtf8("label_45"));
-        sizePolicy9.setHeightForWidth(label_45->sizePolicy().hasHeightForWidth());
-        label_45->setSizePolicy(sizePolicy9);
-
-        hboxLayout5->addWidget(label_45);
-
-        mapHeight = new QDoubleSpinBox(layoutWidget11);
-        mapHeight->setObjectName(QString::fromUtf8("mapHeight"));
-        sizePolicy6.setHeightForWidth(mapHeight->sizePolicy().hasHeightForWidth());
-        mapHeight->setSizePolicy(sizePolicy6);
-        mapHeight->setAlignment(Qt::AlignRight);
-        mapHeight->setDecimals(1);
-        mapHeight->setMinimum(50.000000000000000);
-        mapHeight->setMaximum(250.000000000000000);
-        mapHeight->setValue(180.000000000000000);
-
-        hboxLayout5->addWidget(mapHeight);
-
-        mapAdd = new QPushButton(layoutWidget11);
-        mapAdd->setObjectName(QString::fromUtf8("mapAdd"));
-        sizePolicy4.setHeightForWidth(mapAdd->sizePolicy().hasHeightForWidth());
-        mapAdd->setSizePolicy(sizePolicy4);
-        mapAdd->setMaximumSize(QSize(40, 16777215));
-
-        hboxLayout5->addWidget(mapAdd);
-
-        mapDel = new QPushButton(layoutWidget11);
-        mapDel->setObjectName(QString::fromUtf8("mapDel"));
-        mapDel->setMaximumSize(QSize(40, 16777215));
-
-        hboxLayout5->addWidget(mapDel);
-
-        mapColorRange = new QPushButton(layoutWidget11);
-        mapColorRange->setObjectName(QString::fromUtf8("mapColorRange"));
-        mapColorRange->setMaximumSize(QSize(80, 16777215));
-
-        hboxLayout5->addWidget(mapColorRange);
-
-
-        vboxLayout1->addLayout(hboxLayout5);
-
-
-        verticalLayout_3->addWidget(groupBox_4);
-
-        hboxLayout6 = new QHBoxLayout();
-        hboxLayout6->setSpacing(0);
-        hboxLayout6->setObjectName(QString::fromUtf8("hboxLayout6"));
-        hboxLayout6->setContentsMargins(0, 0, 0, 0);
-        label_46 = new QLabel(colorBox);
-        label_46->setObjectName(QString::fromUtf8("label_46"));
-        sizePolicy9.setHeightForWidth(label_46->sizePolicy().hasHeightForWidth());
-        label_46->setSizePolicy(sizePolicy9);
-
-        hboxLayout6->addWidget(label_46);
-
-        mapDefaultHeight = new QDoubleSpinBox(colorBox);
-        mapDefaultHeight->setObjectName(QString::fromUtf8("mapDefaultHeight"));
-        sizePolicy6.setHeightForWidth(mapDefaultHeight->sizePolicy().hasHeightForWidth());
-        mapDefaultHeight->setSizePolicy(sizePolicy6);
-        mapDefaultHeight->setAlignment(Qt::AlignRight);
-        mapDefaultHeight->setDecimals(1);
-        mapDefaultHeight->setMinimum(0.000000000000000);
-        mapDefaultHeight->setMaximum(250.000000000000000);
-        mapDefaultHeight->setValue(180.000000000000000);
-
-        hboxLayout6->addWidget(mapDefaultHeight);
-
-        mapDistribution = new QPushButton(colorBox);
-        mapDistribution->setObjectName(QString::fromUtf8("mapDistribution"));
-        sizePolicy6.setHeightForWidth(mapDistribution->sizePolicy().hasHeightForWidth());
-        mapDistribution->setSizePolicy(sizePolicy6);
-        mapDistribution->setMaximumSize(QSize(40, 16777215));
-
-        hboxLayout6->addWidget(mapDistribution);
-
-        mapResetHeight = new QPushButton(colorBox);
-        mapResetHeight->setObjectName(QString::fromUtf8("mapResetHeight"));
-        sizePolicy6.setHeightForWidth(mapResetHeight->sizePolicy().hasHeightForWidth());
-        mapResetHeight->setSizePolicy(sizePolicy6);
-
-        hboxLayout6->addWidget(mapResetHeight);
-
-        mapResetPos = new QPushButton(colorBox);
-        mapResetPos->setObjectName(QString::fromUtf8("mapResetPos"));
-        sizePolicy6.setHeightForWidth(mapResetPos->sizePolicy().hasHeightForWidth());
-        mapResetPos->setSizePolicy(sizePolicy6);
-
-        hboxLayout6->addWidget(mapResetPos);
-
-
-        verticalLayout_3->addLayout(hboxLayout6);
-
-
-        verticalLayout_9->addLayout(verticalLayout_3);
-
-
-        verticalLayout_16->addWidget(colorBox);
-
-        verticalSpacer_3 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
-        verticalLayout_16->addItem(verticalSpacer_3);
-
-        scrollArea_2->setWidget(scrollAreaWidgetContents_2);
-
-        horizontalLayout_16->addWidget(scrollArea_2);
-
-        tabs->addTab(rec, QString());
-        track = new QWidget();
-        track->setObjectName(QString::fromUtf8("track"));
-        horizontalLayout_17 = new QHBoxLayout(track);
-        horizontalLayout_17->setObjectName(QString::fromUtf8("horizontalLayout_17"));
-        scrollArea_3 = new QScrollArea(track);
-        scrollArea_3->setObjectName(QString::fromUtf8("scrollArea_3"));
-        scrollArea_3->setWidgetResizable(true);
-        scrollAreaWidgetContents_3 = new QWidget();
-        scrollAreaWidgetContents_3->setObjectName(QString::fromUtf8("scrollAreaWidgetContents_3"));
-        scrollAreaWidgetContents_3->setGeometry(QRect(0, 0, 337, 843));
-        verticalLayout_17 = new QVBoxLayout(scrollAreaWidgetContents_3);
-        verticalLayout_17->setObjectName(QString::fromUtf8("verticalLayout_17"));
-        hboxLayout7 = new QHBoxLayout();
-        hboxLayout7->setSpacing(4);
-        hboxLayout7->setObjectName(QString::fromUtf8("hboxLayout7"));
-        hboxLayout7->setContentsMargins(0, 0, 0, 0);
-        trackOnlineCalc = new QCheckBox(scrollAreaWidgetContents_3);
-        trackOnlineCalc->setObjectName(QString::fromUtf8("trackOnlineCalc"));
-        trackOnlineCalc->setMaximumSize(QSize(120, 16777215));
-        trackOnlineCalc->setChecked(false);
-
-        hboxLayout7->addWidget(trackOnlineCalc);
-
-        trackRepeat = new QCheckBox(scrollAreaWidgetContents_3);
-        trackRepeat->setObjectName(QString::fromUtf8("trackRepeat"));
-        trackRepeat->setMaximumSize(QSize(130, 16777215));
-        trackRepeat->setChecked(true);
-
-        hboxLayout7->addWidget(trackRepeat);
-
-        trackRepeatQual = new QSpinBox(scrollAreaWidgetContents_3);
-        trackRepeatQual->setObjectName(QString::fromUtf8("trackRepeatQual"));
-        sizePolicy6.setHeightForWidth(trackRepeatQual->sizePolicy().hasHeightForWidth());
-        trackRepeatQual->setSizePolicy(sizePolicy6);
-        trackRepeatQual->setMinimumSize(QSize(40, 0));
-        trackRepeatQual->setLayoutDirection(Qt::LeftToRight);
-        trackRepeatQual->setAlignment(Qt::AlignRight);
-        trackRepeatQual->setMaximum(100);
-        trackRepeatQual->setValue(50);
-
-        hboxLayout7->addWidget(trackRepeatQual);
-
-        spacerItem3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        hboxLayout7->addItem(spacerItem3);
-
-
-        verticalLayout_17->addLayout(hboxLayout7);
-
-        horizontalLayout_5 = new QHBoxLayout();
-        horizontalLayout_5->setObjectName(QString::fromUtf8("horizontalLayout_5"));
-        trackExtrapolation = new QCheckBox(scrollAreaWidgetContents_3);
-        trackExtrapolation->setObjectName(QString::fromUtf8("trackExtrapolation"));
-        trackExtrapolation->setMaximumSize(QSize(150, 16777215));
-        trackExtrapolation->setChecked(true);
-
-        horizontalLayout_5->addWidget(trackExtrapolation);
-
-        trackMerge = new QCheckBox(scrollAreaWidgetContents_3);
-        trackMerge->setObjectName(QString::fromUtf8("trackMerge"));
-        trackMerge->setMaximumSize(QSize(75, 16777215));
-
-        horizontalLayout_5->addWidget(trackMerge);
-
-        trackOnlyVisible = new QCheckBox(scrollAreaWidgetContents_3);
-        trackOnlyVisible->setObjectName(QString::fromUtf8("trackOnlyVisible"));
-        trackOnlyVisible->setMaximumSize(QSize(75, 16777215));
-        trackOnlyVisible->setChecked(true);
-
-        horizontalLayout_5->addWidget(trackOnlyVisible);
-
-        horizontalSpacer_15 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_5->addItem(horizontalSpacer_15);
-
-
-        verticalLayout_17->addLayout(horizontalLayout_5);
-
-        gridLayout9 = new QGridLayout();
-        gridLayout9->setSpacing(2);
-        gridLayout9->setObjectName(QString::fromUtf8("gridLayout9"));
-        gridLayout9->setContentsMargins(0, 0, 0, 0);
-        trackNumberNow = new QLabel(scrollAreaWidgetContents_3);
-        trackNumberNow->setObjectName(QString::fromUtf8("trackNumberNow"));
-        trackNumberNow->setFont(font1);
-        trackNumberNow->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout9->addWidget(trackNumberNow, 3, 1, 1, 1);
-
-        label_22 = new QLabel(scrollAreaWidgetContents_3);
-        label_22->setObjectName(QString::fromUtf8("label_22"));
-        sizePolicy4.setHeightForWidth(label_22->sizePolicy().hasHeightForWidth());
-        label_22->setSizePolicy(sizePolicy4);
-        label_22->setMinimumSize(QSize(0, 16));
-        label_22->setMaximumSize(QSize(300, 16777215));
-
-        gridLayout9->addWidget(label_22, 1, 0, 1, 1);
-
-        label_23 = new QLabel(scrollAreaWidgetContents_3);
-        label_23->setObjectName(QString::fromUtf8("label_23"));
-        sizePolicy4.setHeightForWidth(label_23->sizePolicy().hasHeightForWidth());
-        label_23->setSizePolicy(sizePolicy4);
-        label_23->setMinimumSize(QSize(0, 16));
-        label_23->setMaximumSize(QSize(300, 16777215));
-
-        gridLayout9->addWidget(label_23, 3, 0, 1, 1);
-
-        trackNumberAll = new QLabel(scrollAreaWidgetContents_3);
-        trackNumberAll->setObjectName(QString::fromUtf8("trackNumberAll"));
-        trackNumberAll->setFont(font1);
-        trackNumberAll->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout9->addWidget(trackNumberAll, 1, 1, 1, 1);
-
-        spacerItem4 = new QSpacerItem(40, 0, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        gridLayout9->addItem(spacerItem4, 1, 2, 1, 1);
-
-        label_65 = new QLabel(scrollAreaWidgetContents_3);
-        label_65->setObjectName(QString::fromUtf8("label_65"));
-        sizePolicy4.setHeightForWidth(label_65->sizePolicy().hasHeightForWidth());
-        label_65->setSizePolicy(sizePolicy4);
-        label_65->setMinimumSize(QSize(0, 16));
-        label_65->setMaximumSize(QSize(300, 16777215));
-
-        gridLayout9->addWidget(label_65, 2, 0, 1, 1);
-
-        trackNumberVisible = new QLabel(scrollAreaWidgetContents_3);
-        trackNumberVisible->setObjectName(QString::fromUtf8("trackNumberVisible"));
-        trackNumberVisible->setFont(font1);
-        trackNumberVisible->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
-
-        gridLayout9->addWidget(trackNumberVisible, 2, 1, 1, 1);
-
-
-        verticalLayout_17->addLayout(gridLayout9);
-
-        gridLayout10 = new QGridLayout();
-        gridLayout10->setSpacing(2);
-        gridLayout10->setObjectName(QString::fromUtf8("gridLayout10"));
-        gridLayout10->setContentsMargins(0, 0, 0, 0);
-        trackExport = new QPushButton(scrollAreaWidgetContents_3);
-        trackExport->setObjectName(QString::fromUtf8("trackExport"));
-        trackExport->setMaximumSize(QSize(16777215, 16777215));
-
-        gridLayout10->addWidget(trackExport, 1, 0, 1, 1);
-
-        trackCalc = new QPushButton(scrollAreaWidgetContents_3);
-        trackCalc->setObjectName(QString::fromUtf8("trackCalc"));
-        trackCalc->setMaximumSize(QSize(16777215, 16777215));
-
-        gridLayout10->addWidget(trackCalc, 0, 0, 1, 1);
-
-        trackImport = new QPushButton(scrollAreaWidgetContents_3);
-        trackImport->setObjectName(QString::fromUtf8("trackImport"));
-        trackImport->setMaximumSize(QSize(16777215, 16777215));
-
-        gridLayout10->addWidget(trackImport, 1, 1, 1, 1);
-
-        trackReset = new QPushButton(scrollAreaWidgetContents_3);
-        trackReset->setObjectName(QString::fromUtf8("trackReset"));
-        trackReset->setMaximumSize(QSize(16777215, 16777215));
-
-        gridLayout10->addWidget(trackReset, 0, 1, 1, 1);
-
-
-        verticalLayout_17->addLayout(gridLayout10);
-
-        groupBox_8 = new QGroupBox(scrollAreaWidgetContents_3);
-        groupBox_8->setObjectName(QString::fromUtf8("groupBox_8"));
-        groupBox_8->setMinimumSize(QSize(0, 44));
-        trackRoiShow = new QCheckBox(groupBox_8);
-        trackRoiShow->setObjectName(QString::fromUtf8("trackRoiShow"));
-        trackRoiShow->setGeometry(QRect(10, 20, 49, 18));
-        trackRoiFix = new QCheckBox(groupBox_8);
-        trackRoiFix->setObjectName(QString::fromUtf8("trackRoiFix"));
-        trackRoiFix->setGeometry(QRect(70, 20, 36, 18));
-
-        verticalLayout_17->addWidget(groupBox_8);
-
-        groupBox_7 = new QGroupBox(scrollAreaWidgetContents_3);
-        groupBox_7->setObjectName(QString::fromUtf8("groupBox_7"));
-        sizePolicy10.setHeightForWidth(groupBox_7->sizePolicy().hasHeightForWidth());
-        groupBox_7->setSizePolicy(sizePolicy10);
-        groupBox_7->setMaximumSize(QSize(324, 16777215));
-        verticalLayout_6 = new QVBoxLayout(groupBox_7);
-        verticalLayout_6->setSpacing(2);
-        verticalLayout_6->setObjectName(QString::fromUtf8("verticalLayout_6"));
-        verticalLayout_6->setContentsMargins(2, 6, 2, 6);
-        gridLayout_4 = new QGridLayout();
-        gridLayout_4->setSpacing(4);
-        gridLayout_4->setObjectName(QString::fromUtf8("gridLayout_4"));
-        trackMissingFrames = new QCheckBox(groupBox_7);
-        trackMissingFrames->setObjectName(QString::fromUtf8("trackMissingFrames"));
-        sizePolicy5.setHeightForWidth(trackMissingFrames->sizePolicy().hasHeightForWidth());
-        trackMissingFrames->setSizePolicy(sizePolicy5);
-        trackMissingFrames->setMaximumSize(QSize(100, 16777215));
-        trackMissingFrames->setChecked(true);
-
-        gridLayout_4->addWidget(trackMissingFrames, 0, 0, 1, 1);
-
-        trackRecalcHeight = new QCheckBox(groupBox_7);
-        trackRecalcHeight->setObjectName(QString::fromUtf8("trackRecalcHeight"));
-        sizePolicy5.setHeightForWidth(trackRecalcHeight->sizePolicy().hasHeightForWidth());
-        trackRecalcHeight->setSizePolicy(sizePolicy5);
-        trackRecalcHeight->setMaximumSize(QSize(100, 16777215));
-        trackRecalcHeight->setChecked(true);
-
-        gridLayout_4->addWidget(trackRecalcHeight, 0, 1, 1, 1);
-
-        trackAlternateHeight = new QCheckBox(groupBox_7);
-        trackAlternateHeight->setObjectName(QString::fromUtf8("trackAlternateHeight"));
-        sizePolicy5.setHeightForWidth(trackAlternateHeight->sizePolicy().hasHeightForWidth());
-        trackAlternateHeight->setSizePolicy(sizePolicy5);
-        trackAlternateHeight->setMaximumSize(QSize(100, 16777215));
-
-        gridLayout_4->addWidget(trackAlternateHeight, 0, 2, 1, 1);
-
-        exportElimTp = new QCheckBox(groupBox_7);
-        exportElimTp->setObjectName(QString::fromUtf8("exportElimTp"));
-        sizePolicy5.setHeightForWidth(exportElimTp->sizePolicy().hasHeightForWidth());
-        exportElimTp->setSizePolicy(sizePolicy5);
-        exportElimTp->setMaximumSize(QSize(120, 16777215));
-        exportElimTp->setChecked(false);
-
-        gridLayout_4->addWidget(exportElimTp, 1, 0, 1, 1);
-
-        exportElimTrj = new QCheckBox(groupBox_7);
-        exportElimTrj->setObjectName(QString::fromUtf8("exportElimTrj"));
-        sizePolicy5.setHeightForWidth(exportElimTrj->sizePolicy().hasHeightForWidth());
-        exportElimTrj->setSizePolicy(sizePolicy5);
-        exportElimTrj->setMaximumSize(QSize(120, 16777215));
-        exportElimTrj->setChecked(false);
-
-        gridLayout_4->addWidget(exportElimTrj, 1, 1, 1, 1);
-
-        exportSmooth = new QCheckBox(groupBox_7);
-        exportSmooth->setObjectName(QString::fromUtf8("exportSmooth"));
-        sizePolicy5.setHeightForWidth(exportSmooth->sizePolicy().hasHeightForWidth());
-        exportSmooth->setSizePolicy(sizePolicy5);
-        exportSmooth->setMaximumSize(QSize(120, 16777215));
-        exportSmooth->setChecked(true);
-
-        gridLayout_4->addWidget(exportSmooth, 1, 2, 1, 1);
-
-        exportViewDir = new QCheckBox(groupBox_7);
-        exportViewDir->setObjectName(QString::fromUtf8("exportViewDir"));
-        sizePolicy5.setHeightForWidth(exportViewDir->sizePolicy().hasHeightForWidth());
-        exportViewDir->setSizePolicy(sizePolicy5);
-        exportViewDir->setMaximumSize(QSize(120, 16777215));
-
-        gridLayout_4->addWidget(exportViewDir, 2, 0, 1, 1);
-
-        exportAngleOfView = new QCheckBox(groupBox_7);
-        exportAngleOfView->setObjectName(QString::fromUtf8("exportAngleOfView"));
-        sizePolicy5.setHeightForWidth(exportAngleOfView->sizePolicy().hasHeightForWidth());
-        exportAngleOfView->setSizePolicy(sizePolicy5);
-        exportAngleOfView->setMaximumSize(QSize(120, 16777215));
-
-        gridLayout_4->addWidget(exportAngleOfView, 2, 1, 1, 1);
-
-        exportUseM = new QCheckBox(groupBox_7);
-        exportUseM->setObjectName(QString::fromUtf8("exportUseM"));
-        sizePolicy5.setHeightForWidth(exportUseM->sizePolicy().hasHeightForWidth());
-        exportUseM->setSizePolicy(sizePolicy5);
-        exportUseM->setMaximumSize(QSize(120, 16777215));
-
-        gridLayout_4->addWidget(exportUseM, 2, 2, 1, 1);
-
-        exportComment = new QCheckBox(groupBox_7);
-        exportComment->setObjectName(QString::fromUtf8("exportComment"));
-        sizePolicy5.setHeightForWidth(exportComment->sizePolicy().hasHeightForWidth());
-        exportComment->setSizePolicy(sizePolicy5);
-        exportComment->setMaximumSize(QSize(120, 16777215));
-
-        gridLayout_4->addWidget(exportComment, 3, 0, 1, 1);
-
-        exportMarkerID = new QCheckBox(groupBox_7);
-        exportMarkerID->setObjectName(QString::fromUtf8("exportMarkerID"));
-
-        gridLayout_4->addWidget(exportMarkerID, 3, 1, 1, 1);
-
-        gridLayout_4->setColumnStretch(0, 1);
-        gridLayout_4->setColumnStretch(1, 1);
-        gridLayout_4->setColumnStretch(2, 1);
-
-        verticalLayout_6->addLayout(gridLayout_4);
-
-
-        verticalLayout_17->addWidget(groupBox_7);
-
-        horizontalLayout_9 = new QHBoxLayout();
-        horizontalLayout_9->setObjectName(QString::fromUtf8("horizontalLayout_9"));
-        trackTest = new QPushButton(scrollAreaWidgetContents_3);
-        trackTest->setObjectName(QString::fromUtf8("trackTest"));
-        trackTest->setMaximumSize(QSize(60, 16777215));
-
-        horizontalLayout_9->addWidget(trackTest);
-
-        testEqual = new QCheckBox(scrollAreaWidgetContents_3);
-        testEqual->setObjectName(QString::fromUtf8("testEqual"));
-        testEqual->setMaximumSize(QSize(60, 16777215));
-        testEqual->setChecked(true);
-
-        horizontalLayout_9->addWidget(testEqual);
-
-        testVelocity = new QCheckBox(scrollAreaWidgetContents_3);
-        testVelocity->setObjectName(QString::fromUtf8("testVelocity"));
-        testVelocity->setMaximumSize(QSize(60, 16777215));
-        testVelocity->setChecked(true);
-
-        horizontalLayout_9->addWidget(testVelocity);
-
-        testInside = new QCheckBox(scrollAreaWidgetContents_3);
-        testInside->setObjectName(QString::fromUtf8("testInside"));
-        testInside->setMaximumSize(QSize(60, 16777215));
-        testInside->setChecked(true);
-
-        horizontalLayout_9->addWidget(testInside);
-
-        testLength = new QCheckBox(scrollAreaWidgetContents_3);
-        testLength->setObjectName(QString::fromUtf8("testLength"));
-        testLength->setMaximumSize(QSize(60, 16777215));
-        testLength->setChecked(true);
-
-        horizontalLayout_9->addWidget(testLength);
-
-        horizontalSpacer_14 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout_9->addItem(horizontalSpacer_14);
-
-        horizontalLayout_9->setStretch(0, 1);
-
-        verticalLayout_17->addLayout(horizontalLayout_9);
-
-        groupBox_6 = new QGroupBox(scrollAreaWidgetContents_3);
-        groupBox_6->setObjectName(QString::fromUtf8("groupBox_6"));
-        sizePolicy8.setHeightForWidth(groupBox_6->sizePolicy().hasHeightForWidth());
-        groupBox_6->setSizePolicy(sizePolicy8);
-        groupBox_6->setMinimumSize(QSize(0, 120));
-        groupBox_6->setMaximumSize(QSize(324, 16777215));
-        verticalLayout_20 = new QVBoxLayout(groupBox_6);
-        verticalLayout_20->setObjectName(QString::fromUtf8("verticalLayout_20"));
-        verticalLayout = new QVBoxLayout();
-        verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
-        gridLayout_17 = new QGridLayout();
-        gridLayout_17->setObjectName(QString::fromUtf8("gridLayout_17"));
-        gridLayout_17->setVerticalSpacing(0);
-        label_52 = new QLabel(groupBox_6);
-        label_52->setObjectName(QString::fromUtf8("label_52"));
-        label_52->setMaximumSize(QSize(100, 16777215));
-
-        gridLayout_17->addWidget(label_52, 0, 0, 1, 1);
-
-        trackRegionScale = new QScrollBar(groupBox_6);
-        trackRegionScale->setObjectName(QString::fromUtf8("trackRegionScale"));
-        trackRegionScale->setMinimum(1);
-        trackRegionScale->setValue(16);
-        trackRegionScale->setOrientation(Qt::Horizontal);
-
-        gridLayout_17->addWidget(trackRegionScale, 0, 1, 1, 1);
-
-        label_53 = new QLabel(groupBox_6);
-        label_53->setObjectName(QString::fromUtf8("label_53"));
-        label_53->setMaximumSize(QSize(100, 16777215));
-
-        gridLayout_17->addWidget(label_53, 1, 0, 1, 1);
-
-        trackRegionLevels = new QScrollBar(groupBox_6);
-        trackRegionLevels->setObjectName(QString::fromUtf8("trackRegionLevels"));
-        trackRegionLevels->setMinimum(0);
-        trackRegionLevels->setMaximum(8);
-        trackRegionLevels->setValue(3);
-        trackRegionLevels->setOrientation(Qt::Horizontal);
-
-        gridLayout_17->addWidget(trackRegionLevels, 1, 1, 1, 1);
-
-        trackErrorExponent = new QScrollBar(groupBox_6);
-        trackErrorExponent->setObjectName(QString::fromUtf8("trackErrorExponent"));
-        trackErrorExponent->setMinimum(-10);
-        trackErrorExponent->setMaximum(10);
-        trackErrorExponent->setPageStep(3);
-        trackErrorExponent->setOrientation(Qt::Horizontal);
-
-        gridLayout_17->addWidget(trackErrorExponent, 2, 1, 1, 1);
-
-        label_66 = new QLabel(groupBox_6);
-        label_66->setObjectName(QString::fromUtf8("label_66"));
-        label_66->setMaximumSize(QSize(100, 16777215));
-
-        gridLayout_17->addWidget(label_66, 2, 0, 1, 1);
-
-        gridLayout_17->setColumnStretch(1, 1);
-
-        verticalLayout->addLayout(gridLayout_17);
-
-        trackShowSearchSize = new QCheckBox(groupBox_6);
-        trackShowSearchSize->setObjectName(QString::fromUtf8("trackShowSearchSize"));
-        trackShowSearchSize->setMaximumSize(QSize(300, 16777215));
-
-        verticalLayout->addWidget(trackShowSearchSize);
-
-
-        verticalLayout_20->addLayout(verticalLayout);
-
-
-        verticalLayout_17->addWidget(groupBox_6);
-
-        groupBox_3 = new QGroupBox(scrollAreaWidgetContents_3);
-        groupBox_3->setObjectName(QString::fromUtf8("groupBox_3"));
-        groupBox_3->setMinimumSize(QSize(0, 325));
-        groupBox_3->setMaximumSize(QSize(324, 16777215));
-        verticalLayout_21 = new QVBoxLayout(groupBox_3);
-        verticalLayout_21->setSpacing(6);
-        verticalLayout_21->setObjectName(QString::fromUtf8("verticalLayout_21"));
-        verticalLayout_21->setContentsMargins(2, 2, 2, 2);
-        vboxLayout2 = new QVBoxLayout();
-        vboxLayout2->setSpacing(4);
-        vboxLayout2->setObjectName(QString::fromUtf8("vboxLayout2"));
-        vboxLayout2->setContentsMargins(4, 4, 4, 4);
-        hboxLayout8 = new QHBoxLayout();
-        hboxLayout8->setSpacing(2);
-        hboxLayout8->setObjectName(QString::fromUtf8("hboxLayout8"));
-        hboxLayout8->setContentsMargins(0, 0, 0, 0);
-        trackShow = new QCheckBox(groupBox_3);
-        trackShow->setObjectName(QString::fromUtf8("trackShow"));
-        trackShow->setChecked(true);
-
-        hboxLayout8->addWidget(trackShow);
-
-        trackFix = new QCheckBox(groupBox_3);
-        trackFix->setObjectName(QString::fromUtf8("trackFix"));
-
-        hboxLayout8->addWidget(trackFix);
-
-        spacerItem5 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        hboxLayout8->addItem(spacerItem5);
-
-
-        vboxLayout2->addLayout(hboxLayout8);
-
-        trackShowOnlyVisible = new QCheckBox(groupBox_3);
-        trackShowOnlyVisible->setObjectName(QString::fromUtf8("trackShowOnlyVisible"));
-        trackShowOnlyVisible->setMaximumSize(QSize(300, 16777215));
-
-        vboxLayout2->addWidget(trackShowOnlyVisible);
-
-        horizontalLayout = new QHBoxLayout();
-        horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
-        trackShowOnly = new QCheckBox(groupBox_3);
-        trackShowOnly->setObjectName(QString::fromUtf8("trackShowOnly"));
-        trackShowOnly->setMaximumSize(QSize(160, 16777215));
-
-        horizontalLayout->addWidget(trackShowOnly);
-
-        trackShowOnlyNr = new QSpinBox(groupBox_3);
-        trackShowOnlyNr->setObjectName(QString::fromUtf8("trackShowOnlyNr"));
-        trackShowOnlyNr->setMinimum(1);
-
-        horizontalLayout->addWidget(trackShowOnlyNr);
-
-        trackGotoNr = new QPushButton(groupBox_3);
-        trackGotoNr->setObjectName(QString::fromUtf8("trackGotoNr"));
-        trackGotoNr->setMaximumSize(QSize(40, 16777215));
-
-        horizontalLayout->addWidget(trackGotoNr);
-
-        trackGotoStartNr = new QPushButton(groupBox_3);
-        trackGotoStartNr->setObjectName(QString::fromUtf8("trackGotoStartNr"));
-        trackGotoStartNr->setMaximumSize(QSize(40, 16777215));
-
-        horizontalLayout->addWidget(trackGotoStartNr);
-
-        trackGotoEndNr = new QPushButton(groupBox_3);
-        trackGotoEndNr->setObjectName(QString::fromUtf8("trackGotoEndNr"));
-        trackGotoEndNr->setMaximumSize(QSize(40, 16777215));
-
-        horizontalLayout->addWidget(trackGotoEndNr);
-
-        horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        horizontalLayout->addItem(horizontalSpacer);
-
-
-        vboxLayout2->addLayout(horizontalLayout);
-
-        horizontalLayout_20 = new QHBoxLayout();
-        horizontalLayout_20->setObjectName(QString::fromUtf8("horizontalLayout_20"));
-        trackShowOnlyList = new QCheckBox(groupBox_3);
-        trackShowOnlyList->setObjectName(QString::fromUtf8("trackShowOnlyList"));
-
-        horizontalLayout_20->addWidget(trackShowOnlyList);
-
-        trackShowOnlyNrList = new QLineEdit(groupBox_3);
-        trackShowOnlyNrList->setObjectName(QString::fromUtf8("trackShowOnlyNrList"));
-        trackShowOnlyNrList->setEnabled(false);
-
-        horizontalLayout_20->addWidget(trackShowOnlyNrList);
-
-        trackShowOnlyListButton = new QPushButton(groupBox_3);
-        trackShowOnlyListButton->setObjectName(QString::fromUtf8("trackShowOnlyListButton"));
-        trackShowOnlyListButton->setEnabled(false);
-        trackShowOnlyListButton->setMaximumSize(QSize(40, 16777215));
-
-        horizontalLayout_20->addWidget(trackShowOnlyListButton);
-
-
-        vboxLayout2->addLayout(horizontalLayout_20);
-
-        spacerItem6 = new QSpacerItem(275, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
-        vboxLayout2->addItem(spacerItem6);
-
-        gridLayout11 = new QGridLayout();
-        gridLayout11->setObjectName(QString::fromUtf8("gridLayout11"));
-        gridLayout11->setHorizontalSpacing(2);
-        gridLayout11->setVerticalSpacing(0);
-        gridLayout11->setContentsMargins(0, 0, 0, 0);
-        trackShowPath = new QCheckBox(groupBox_3);
-        trackShowPath->setObjectName(QString::fromUtf8("trackShowPath"));
-        trackShowPath->setMaximumSize(QSize(170, 16777215));
-        trackShowPath->setChecked(true);
-
-        gridLayout11->addWidget(trackShowPath, 2, 0, 1, 1);
-
-        trackCurrentPointSize = new QSpinBox(groupBox_3);
-        trackCurrentPointSize->setObjectName(QString::fromUtf8("trackCurrentPointSize"));
-        trackCurrentPointSize->setEnabled(false);
-        trackCurrentPointSize->setMaximumSize(QSize(16777215, 16777215));
-        trackCurrentPointSize->setAlignment(Qt::AlignRight);
-        trackCurrentPointSize->setMinimum(1);
-        trackCurrentPointSize->setValue(60);
-
-        gridLayout11->addWidget(trackCurrentPointSize, 0, 2, 1, 1);
-
-        trackColColorSize = new QSpinBox(groupBox_3);
-        trackColColorSize->setObjectName(QString::fromUtf8("trackColColorSize"));
-        trackColColorSize->setAlignment(Qt::AlignRight);
-        trackColColorSize->setMinimum(1);
-        trackColColorSize->setValue(11);
-
-        gridLayout11->addWidget(trackColColorSize, 3, 2, 1, 1);
-
-        trackShowCurrentPoint = new QCheckBox(groupBox_3);
-        trackShowCurrentPoint->setObjectName(QString::fromUtf8("trackShowCurrentPoint"));
-        trackShowCurrentPoint->setMaximumSize(QSize(150, 16777215));
-        trackShowCurrentPoint->setChecked(true);
-
-        gridLayout11->addWidget(trackShowCurrentPoint, 0, 0, 1, 1);
-
-        label_25 = new QLabel(groupBox_3);
-        label_25->setObjectName(QString::fromUtf8("label_25"));
-        label_25->setMaximumSize(QSize(30, 16777215));
-
-        gridLayout11->addWidget(label_25, 2, 1, 1, 1);
-
-        label_36 = new QLabel(groupBox_3);
-        label_36->setObjectName(QString::fromUtf8("label_36"));
-        label_36->setMaximumSize(QSize(30, 16777215));
-
-        gridLayout11->addWidget(label_36, 3, 1, 1, 1);
-
-        trackShowColColor = new QCheckBox(groupBox_3);
-        trackShowColColor->setObjectName(QString::fromUtf8("trackShowColColor"));
-        trackShowColColor->setMinimumSize(QSize(124, 0));
-        trackShowColColor->setMaximumSize(QSize(170, 16777215));
-        trackShowColColor->setChecked(true);
-
-        gridLayout11->addWidget(trackShowColColor, 3, 0, 1, 1);
-
-        trackShowColorMarker = new QCheckBox(groupBox_3);
-        trackShowColorMarker->setObjectName(QString::fromUtf8("trackShowColorMarker"));
-        trackShowColorMarker->setMaximumSize(QSize(170, 16777215));
-        trackShowColorMarker->setChecked(true);
-
-        gridLayout11->addWidget(trackShowColorMarker, 4, 0, 1, 1);
-
-        trackShowNumber = new QCheckBox(groupBox_3);
-        trackShowNumber->setObjectName(QString::fromUtf8("trackShowNumber"));
-        trackShowNumber->setMaximumSize(QSize(170, 16777215));
-        trackShowNumber->setChecked(true);
-
-        gridLayout11->addWidget(trackShowNumber, 5, 0, 1, 1);
-
-        label_48 = new QLabel(groupBox_3);
-        label_48->setObjectName(QString::fromUtf8("label_48"));
-        label_48->setMaximumSize(QSize(30, 16777215));
-
-        gridLayout11->addWidget(label_48, 5, 1, 1, 1);
-
-        trackNumberSize = new QSpinBox(groupBox_3);
-        trackNumberSize->setObjectName(QString::fromUtf8("trackNumberSize"));
-        trackNumberSize->setAlignment(Qt::AlignRight);
-        trackNumberSize->setMinimum(2);
-        trackNumberSize->setValue(14);
-
-        gridLayout11->addWidget(trackNumberSize, 5, 2, 1, 1);
-
-        trackNumberBold = new QCheckBox(groupBox_3);
-        trackNumberBold->setObjectName(QString::fromUtf8("trackNumberBold"));
-        trackNumberBold->setMaximumSize(QSize(70, 16777215));
-        trackNumberBold->setChecked(true);
-
-        gridLayout11->addWidget(trackNumberBold, 5, 3, 1, 1);
-
-        trackHeadSized = new QCheckBox(groupBox_3);
-        trackHeadSized->setObjectName(QString::fromUtf8("trackHeadSized"));
-        trackHeadSized->setMaximumSize(QSize(70, 16777215));
-        trackHeadSized->setChecked(true);
-
-        gridLayout11->addWidget(trackHeadSized, 0, 3, 1, 1);
-
-        trackShowHeightIndividual = new QCheckBox(groupBox_3);
-        trackShowHeightIndividual->setObjectName(QString::fromUtf8("trackShowHeightIndividual"));
-        trackShowHeightIndividual->setMaximumSize(QSize(70, 16777215));
-        trackShowHeightIndividual->setChecked(true);
-
-        gridLayout11->addWidget(trackShowHeightIndividual, 3, 3, 1, 1);
-
-        trackPathColorButton = new QPushButton(groupBox_3);
-        trackPathColorButton->setObjectName(QString::fromUtf8("trackPathColorButton"));
-        sizePolicy5.setHeightForWidth(trackPathColorButton->sizePolicy().hasHeightForWidth());
-        trackPathColorButton->setSizePolicy(sizePolicy5);
-        trackPathColorButton->setMaximumSize(QSize(60, 20));
-        trackPathColorButton->setBaseSize(QSize(0, 0));
-        QPalette palette;
-        QBrush brush(QColor(0, 0, 0, 255));
-        brush.setStyle(Qt::SolidPattern);
-        palette.setBrush(QPalette::Active, QPalette::WindowText, brush);
-        QBrush brush1(QColor(255, 0, 0, 255));
-        brush1.setStyle(Qt::SolidPattern);
-        palette.setBrush(QPalette::Active, QPalette::Button, brush1);
-        QBrush brush2(QColor(255, 127, 127, 255));
-        brush2.setStyle(Qt::SolidPattern);
-        palette.setBrush(QPalette::Active, QPalette::Light, brush2);
-        QBrush brush3(QColor(255, 63, 63, 255));
-        brush3.setStyle(Qt::SolidPattern);
-        palette.setBrush(QPalette::Active, QPalette::Midlight, brush3);
-        QBrush brush4(QColor(127, 0, 0, 255));
-        brush4.setStyle(Qt::SolidPattern);
-        palette.setBrush(QPalette::Active, QPalette::Dark, brush4);
-        QBrush brush5(QColor(170, 0, 0, 255));
-        brush5.setStyle(Qt::SolidPattern);
-        palette.setBrush(QPalette::Active, QPalette::Mid, brush5);
-        palette.setBrush(QPalette::Active, QPalette::Text, brush);
-        QBrush brush6(QColor(255, 255, 255, 255));
-        brush6.setStyle(Qt::SolidPattern);
-        palette.setBrush(QPalette::Active, QPalette::BrightText, brush6);
-        palette.setBrush(QPalette::Active, QPalette::ButtonText, brush);
-        palette.setBrush(QPalette::Active, QPalette::Base, brush6);
-        palette.setBrush(QPalette::Active, QPalette::Window, brush1);
-        palette.setBrush(QPalette::Active, QPalette::Shadow, brush);
-        palette.setBrush(QPalette::Active, QPalette::AlternateBase, brush2);
-        QBrush brush7(QColor(255, 255, 220, 255));
-        brush7.setStyle(Qt::SolidPattern);
-        palette.setBrush(QPalette::Active, QPalette::ToolTipBase, brush7);
-        palette.setBrush(QPalette::Active, QPalette::ToolTipText, brush);
-        palette.setBrush(QPalette::Inactive, QPalette::WindowText, brush);
-        palette.setBrush(QPalette::Inactive, QPalette::Button, brush1);
-        palette.setBrush(QPalette::Inactive, QPalette::Light, brush2);
-        palette.setBrush(QPalette::Inactive, QPalette::Midlight, brush3);
-        palette.setBrush(QPalette::Inactive, QPalette::Dark, brush4);
-        palette.setBrush(QPalette::Inactive, QPalette::Mid, brush5);
-        palette.setBrush(QPalette::Inactive, QPalette::Text, brush);
-        palette.setBrush(QPalette::Inactive, QPalette::BrightText, brush6);
-        palette.setBrush(QPalette::Inactive, QPalette::ButtonText, brush);
-        palette.setBrush(QPalette::Inactive, QPalette::Base, brush6);
-        palette.setBrush(QPalette::Inactive, QPalette::Window, brush1);
-        palette.setBrush(QPalette::Inactive, QPalette::Shadow, brush);
-        palette.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush2);
-        palette.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush7);
-        palette.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush);
-        palette.setBrush(QPalette::Disabled, QPalette::WindowText, brush4);
-        palette.setBrush(QPalette::Disabled, QPalette::Button, brush1);
-        palette.setBrush(QPalette::Disabled, QPalette::Light, brush2);
-        palette.setBrush(QPalette::Disabled, QPalette::Midlight, brush3);
-        palette.setBrush(QPalette::Disabled, QPalette::Dark, brush4);
-        palette.setBrush(QPalette::Disabled, QPalette::Mid, brush5);
-        palette.setBrush(QPalette::Disabled, QPalette::Text, brush4);
-        palette.setBrush(QPalette::Disabled, QPalette::BrightText, brush6);
-        palette.setBrush(QPalette::Disabled, QPalette::ButtonText, brush4);
-        palette.setBrush(QPalette::Disabled, QPalette::Base, brush1);
-        palette.setBrush(QPalette::Disabled, QPalette::Window, brush1);
-        palette.setBrush(QPalette::Disabled, QPalette::Shadow, brush);
-        palette.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush1);
-        palette.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush7);
-        palette.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush);
-        trackPathColorButton->setPalette(palette);
-
-        gridLayout11->addWidget(trackPathColorButton, 2, 3, 1, 1);
-
-        trackPathWidth = new QSpinBox(groupBox_3);
-        trackPathWidth->setObjectName(QString::fromUtf8("trackPathWidth"));
-        trackPathWidth->setAlignment(Qt::AlignRight);
-        trackPathWidth->setMinimum(1);
-        trackPathWidth->setMaximum(20);
-        trackPathWidth->setValue(2);
-
-        gridLayout11->addWidget(trackPathWidth, 2, 2, 1, 1);
-
-        trackShowPoints = new QCheckBox(groupBox_3);
-        trackShowPoints->setObjectName(QString::fromUtf8("trackShowPoints"));
-        trackShowPoints->setMinimumSize(QSize(90, 0));
-        trackShowPoints->setMaximumSize(QSize(170, 16777215));
-        trackShowPoints->setChecked(false);
-
-        gridLayout11->addWidget(trackShowPoints, 1, 0, 1, 1);
-
-        trackShowPointsColored = new QCheckBox(groupBox_3);
-        trackShowPointsColored->setObjectName(QString::fromUtf8("trackShowPointsColored"));
-        trackShowPointsColored->setMaximumSize(QSize(70, 16777215));
-        trackShowPointsColored->setChecked(true);
-
-        gridLayout11->addWidget(trackShowPointsColored, 1, 3, 1, 1);
-
-        label_13 = new QLabel(groupBox_3);
-        label_13->setObjectName(QString::fromUtf8("label_13"));
-        label_13->setMaximumSize(QSize(30, 16777215));
-
-        gridLayout11->addWidget(label_13, 1, 1, 1, 1);
-
-        label_41 = new QLabel(groupBox_3);
-        label_41->setObjectName(QString::fromUtf8("label_41"));
-        label_41->setMaximumSize(QSize(30, 16777215));
-
-        gridLayout11->addWidget(label_41, 4, 1, 1, 1);
-
-        trackColorMarkerSize = new QSpinBox(groupBox_3);
-        trackColorMarkerSize->setObjectName(QString::fromUtf8("trackColorMarkerSize"));
-        trackColorMarkerSize->setAlignment(Qt::AlignRight);
-        trackColorMarkerSize->setMinimum(1);
-        trackColorMarkerSize->setValue(14);
-
-        gridLayout11->addWidget(trackColorMarkerSize, 4, 2, 1, 1);
-
-        trackPointSize = new QSpinBox(groupBox_3);
-        trackPointSize->setObjectName(QString::fromUtf8("trackPointSize"));
-        trackPointSize->setAlignment(Qt::AlignRight);
-        trackPointSize->setMinimum(1);
-        trackPointSize->setValue(7);
-
-        gridLayout11->addWidget(trackPointSize, 1, 2, 1, 1);
-
-        label_47 = new QLabel(groupBox_3);
-        label_47->setObjectName(QString::fromUtf8("label_47"));
-        label_47->setMaximumSize(QSize(30, 16777215));
-
-        gridLayout11->addWidget(label_47, 0, 1, 1, 1);
-
-        trackShowGroundPosition = new QCheckBox(groupBox_3);
-        trackShowGroundPosition->setObjectName(QString::fromUtf8("trackShowGroundPosition"));
-        trackShowGroundPosition->setMaximumSize(QSize(170, 16777215));
-        trackShowGroundPosition->setChecked(false);
-
-        gridLayout11->addWidget(trackShowGroundPosition, 6, 0, 1, 1);
-
-        label_67 = new QLabel(groupBox_3);
-        label_67->setObjectName(QString::fromUtf8("label_67"));
-        label_67->setMaximumSize(QSize(30, 16777215));
-
-        gridLayout11->addWidget(label_67, 6, 1, 1, 1);
-
-        trackGroundPositionSize = new QSpinBox(groupBox_3);
-        trackGroundPositionSize->setObjectName(QString::fromUtf8("trackGroundPositionSize"));
-        trackGroundPositionSize->setAlignment(Qt::AlignRight);
-        trackGroundPositionSize->setMinimum(1);
-        trackGroundPositionSize->setValue(1);
-
-        gridLayout11->addWidget(trackGroundPositionSize, 6, 2, 1, 1);
-
-        trackShowGroundPath = new QCheckBox(groupBox_3);
-        trackShowGroundPath->setObjectName(QString::fromUtf8("trackShowGroundPath"));
-        trackShowGroundPath->setMaximumSize(QSize(170, 16777215));
-        trackShowGroundPath->setChecked(false);
-
-        gridLayout11->addWidget(trackShowGroundPath, 7, 0, 1, 1);
-
-        label_68 = new QLabel(groupBox_3);
-        label_68->setObjectName(QString::fromUtf8("label_68"));
-        label_68->setMaximumSize(QSize(30, 16777215));
-
-        gridLayout11->addWidget(label_68, 7, 1, 1, 1);
-
-        trackGroundPathSize = new QSpinBox(groupBox_3);
-        trackGroundPathSize->setObjectName(QString::fromUtf8("trackGroundPathSize"));
-        trackGroundPathSize->setAlignment(Qt::AlignRight);
-        trackGroundPathSize->setMinimum(1);
-        trackGroundPathSize->setValue(1);
-
-        gridLayout11->addWidget(trackGroundPathSize, 7, 2, 1, 1);
-
-        trackGroundPathColorButton = new QPushButton(groupBox_3);
-        trackGroundPathColorButton->setObjectName(QString::fromUtf8("trackGroundPathColorButton"));
-        sizePolicy5.setHeightForWidth(trackGroundPathColorButton->sizePolicy().hasHeightForWidth());
-        trackGroundPathColorButton->setSizePolicy(sizePolicy5);
-        trackGroundPathColorButton->setMaximumSize(QSize(60, 20));
-        trackGroundPathColorButton->setBaseSize(QSize(0, 0));
-        QPalette palette1;
-        palette1.setBrush(QPalette::Active, QPalette::WindowText, brush);
-        QBrush brush8(QColor(0, 255, 0, 255));
-        brush8.setStyle(Qt::SolidPattern);
-        palette1.setBrush(QPalette::Active, QPalette::Button, brush8);
-        QBrush brush9(QColor(127, 255, 127, 255));
-        brush9.setStyle(Qt::SolidPattern);
-        palette1.setBrush(QPalette::Active, QPalette::Light, brush9);
-        QBrush brush10(QColor(63, 255, 63, 255));
-        brush10.setStyle(Qt::SolidPattern);
-        palette1.setBrush(QPalette::Active, QPalette::Midlight, brush10);
-        QBrush brush11(QColor(0, 127, 0, 255));
-        brush11.setStyle(Qt::SolidPattern);
-        palette1.setBrush(QPalette::Active, QPalette::Dark, brush11);
-        QBrush brush12(QColor(0, 170, 0, 255));
-        brush12.setStyle(Qt::SolidPattern);
-        palette1.setBrush(QPalette::Active, QPalette::Mid, brush12);
-        palette1.setBrush(QPalette::Active, QPalette::Text, brush);
-        palette1.setBrush(QPalette::Active, QPalette::BrightText, brush6);
-        palette1.setBrush(QPalette::Active, QPalette::ButtonText, brush);
-        palette1.setBrush(QPalette::Active, QPalette::Base, brush6);
-        palette1.setBrush(QPalette::Active, QPalette::Window, brush8);
-        palette1.setBrush(QPalette::Active, QPalette::Shadow, brush);
-        palette1.setBrush(QPalette::Active, QPalette::AlternateBase, brush9);
-        palette1.setBrush(QPalette::Active, QPalette::ToolTipBase, brush7);
-        palette1.setBrush(QPalette::Active, QPalette::ToolTipText, brush);
-        palette1.setBrush(QPalette::Inactive, QPalette::WindowText, brush);
-        palette1.setBrush(QPalette::Inactive, QPalette::Button, brush8);
-        palette1.setBrush(QPalette::Inactive, QPalette::Light, brush9);
-        palette1.setBrush(QPalette::Inactive, QPalette::Midlight, brush10);
-        palette1.setBrush(QPalette::Inactive, QPalette::Dark, brush11);
-        palette1.setBrush(QPalette::Inactive, QPalette::Mid, brush12);
-        palette1.setBrush(QPalette::Inactive, QPalette::Text, brush);
-        palette1.setBrush(QPalette::Inactive, QPalette::BrightText, brush6);
-        palette1.setBrush(QPalette::Inactive, QPalette::ButtonText, brush);
-        palette1.setBrush(QPalette::Inactive, QPalette::Base, brush6);
-        palette1.setBrush(QPalette::Inactive, QPalette::Window, brush8);
-        palette1.setBrush(QPalette::Inactive, QPalette::Shadow, brush);
-        palette1.setBrush(QPalette::Inactive, QPalette::AlternateBase, brush9);
-        palette1.setBrush(QPalette::Inactive, QPalette::ToolTipBase, brush7);
-        palette1.setBrush(QPalette::Inactive, QPalette::ToolTipText, brush);
-        palette1.setBrush(QPalette::Disabled, QPalette::WindowText, brush11);
-        palette1.setBrush(QPalette::Disabled, QPalette::Button, brush8);
-        palette1.setBrush(QPalette::Disabled, QPalette::Light, brush9);
-        palette1.setBrush(QPalette::Disabled, QPalette::Midlight, brush10);
-        palette1.setBrush(QPalette::Disabled, QPalette::Dark, brush11);
-        palette1.setBrush(QPalette::Disabled, QPalette::Mid, brush12);
-        palette1.setBrush(QPalette::Disabled, QPalette::Text, brush11);
-        palette1.setBrush(QPalette::Disabled, QPalette::BrightText, brush6);
-        palette1.setBrush(QPalette::Disabled, QPalette::ButtonText, brush11);
-        palette1.setBrush(QPalette::Disabled, QPalette::Base, brush8);
-        palette1.setBrush(QPalette::Disabled, QPalette::Window, brush8);
-        palette1.setBrush(QPalette::Disabled, QPalette::Shadow, brush);
-        palette1.setBrush(QPalette::Disabled, QPalette::AlternateBase, brush8);
-        palette1.setBrush(QPalette::Disabled, QPalette::ToolTipBase, brush7);
-        palette1.setBrush(QPalette::Disabled, QPalette::ToolTipText, brush);
-        trackGroundPathColorButton->setPalette(palette1);
-
-        gridLayout11->addWidget(trackGroundPathColorButton, 7, 3, 1, 1);
-
-        gridLayout11->setColumnStretch(0, 5);
-        gridLayout11->setColumnStretch(1, 1);
-        gridLayout11->setColumnStretch(2, 1);
-        gridLayout11->setColumnStretch(3, 2);
-
-        vboxLayout2->addLayout(gridLayout11);
-
-        spacerItem7 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
-        vboxLayout2->addItem(spacerItem7);
-
-        gridLayout12 = new QGridLayout();
-        gridLayout12->setSpacing(0);
-        gridLayout12->setObjectName(QString::fromUtf8("gridLayout12"));
-        gridLayout12->setContentsMargins(0, 0, 0, 0);
-        label_17 = new QLabel(groupBox_3);
-        label_17->setObjectName(QString::fromUtf8("label_17"));
-        label_17->setMinimumSize(QSize(150, 0));
-        label_17->setMaximumSize(QSize(250, 16777215));
-
-        gridLayout12->addWidget(label_17, 0, 0, 1, 1);
-
-        trackShowAfter = new QSpinBox(groupBox_3);
-        trackShowAfter->setObjectName(QString::fromUtf8("trackShowAfter"));
-        trackShowAfter->setMaximumSize(QSize(80, 16777215));
-        trackShowAfter->setAlignment(Qt::AlignRight);
-        trackShowAfter->setMinimum(-1);
-        trackShowAfter->setMaximum(99999);
-        trackShowAfter->setValue(15);
-
-        gridLayout12->addWidget(trackShowAfter, 1, 1, 1, 1);
-
-        label_20 = new QLabel(groupBox_3);
-        label_20->setObjectName(QString::fromUtf8("label_20"));
-        label_20->setMaximumSize(QSize(250, 16777215));
-
-        gridLayout12->addWidget(label_20, 1, 0, 1, 1);
-
-        trackShowBefore = new QSpinBox(groupBox_3);
-        trackShowBefore->setObjectName(QString::fromUtf8("trackShowBefore"));
-        trackShowBefore->setMaximumSize(QSize(80, 16777215));
-        trackShowBefore->setAlignment(Qt::AlignRight);
-        trackShowBefore->setMinimum(-1);
-        trackShowBefore->setMaximum(99999);
-        trackShowBefore->setValue(15);
-
-        gridLayout12->addWidget(trackShowBefore, 0, 1, 1, 1);
-
-        spacerItem8 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        gridLayout12->addItem(spacerItem8, 0, 2, 1, 1);
-
-
-        vboxLayout2->addLayout(gridLayout12);
-
-
-        verticalLayout_21->addLayout(vboxLayout2);
-
-
-        verticalLayout_17->addWidget(groupBox_3);
-
-        verticalSpacer_4 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
-        verticalLayout_17->addItem(verticalSpacer_4);
-
-        scrollArea_3->setWidget(scrollAreaWidgetContents_3);
-
-        horizontalLayout_17->addWidget(scrollArea_3);
-
-        tabs->addTab(track, QString());
-        ana = new QWidget();
-        ana->setObjectName(QString::fromUtf8("ana"));
-        horizontalLayout_18 = new QHBoxLayout(ana);
-        horizontalLayout_18->setObjectName(QString::fromUtf8("horizontalLayout_18"));
-        scrollArea_4 = new QScrollArea(ana);
-        scrollArea_4->setObjectName(QString::fromUtf8("scrollArea_4"));
-        scrollArea_4->setWidgetResizable(true);
-        scrollAreaWidgetContents_4 = new QWidget();
-        scrollAreaWidgetContents_4->setObjectName(QString::fromUtf8("scrollAreaWidgetContents_4"));
-        scrollAreaWidgetContents_4->setGeometry(QRect(0, 0, 354, 311));
-        verticalLayout_18 = new QVBoxLayout(scrollAreaWidgetContents_4);
-        verticalLayout_18->setObjectName(QString::fromUtf8("verticalLayout_18"));
-        analysePlot = new AnalysePlot(scrollAreaWidgetContents_4);
-        analysePlot->setObjectName(QString::fromUtf8("analysePlot"));
-        QSizePolicy sizePolicy11(QSizePolicy::Expanding, QSizePolicy::Expanding);
-        sizePolicy11.setHorizontalStretch(0);
-        sizePolicy11.setVerticalStretch(0);
-        sizePolicy11.setHeightForWidth(analysePlot->sizePolicy().hasHeightForWidth());
-        analysePlot->setSizePolicy(sizePolicy11);
-        analysePlot->setMaximumSize(QSize(16777215, 400));
-        analysePlot->setFrameShape(QFrame::StyledPanel);
-        analysePlot->setFrameShadow(QFrame::Raised);
-
-        verticalLayout_18->addWidget(analysePlot);
-
-        hboxLayout9 = new QHBoxLayout();
-        hboxLayout9->setObjectName(QString::fromUtf8("hboxLayout9"));
-        anaCalculate = new QPushButton(scrollAreaWidgetContents_4);
-        anaCalculate->setObjectName(QString::fromUtf8("anaCalculate"));
-
-        hboxLayout9->addWidget(anaCalculate);
-
-        anaMissingFrames = new QCheckBox(scrollAreaWidgetContents_4);
-        anaMissingFrames->setObjectName(QString::fromUtf8("anaMissingFrames"));
-        anaMissingFrames->setChecked(true);
-
-        hboxLayout9->addWidget(anaMissingFrames);
-
-
-        verticalLayout_18->addLayout(hboxLayout9);
-
-        hboxLayout10 = new QHBoxLayout();
-        hboxLayout10->setObjectName(QString::fromUtf8("hboxLayout10"));
-        hboxLayout11 = new QHBoxLayout();
-        hboxLayout11->setObjectName(QString::fromUtf8("hboxLayout11"));
-        label_21 = new QLabel(scrollAreaWidgetContents_4);
-        label_21->setObjectName(QString::fromUtf8("label_21"));
-
-        hboxLayout11->addWidget(label_21);
-
-        anaStep = new QSpinBox(scrollAreaWidgetContents_4);
-        anaStep->setObjectName(QString::fromUtf8("anaStep"));
-        anaStep->setMinimum(1);
-        anaStep->setValue(25);
-
-        hboxLayout11->addWidget(anaStep);
-
-
-        hboxLayout10->addLayout(hboxLayout11);
-
-        spacerItem9 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        hboxLayout10->addItem(spacerItem9);
-
-        anaMarkAct = new QCheckBox(scrollAreaWidgetContents_4);
-        anaMarkAct->setObjectName(QString::fromUtf8("anaMarkAct"));
-
-        hboxLayout10->addWidget(anaMarkAct);
-
-
-        verticalLayout_18->addLayout(hboxLayout10);
-
-        hboxLayout12 = new QHBoxLayout();
-        hboxLayout12->setObjectName(QString::fromUtf8("hboxLayout12"));
-        label_16 = new QLabel(scrollAreaWidgetContents_4);
-        label_16->setObjectName(QString::fromUtf8("label_16"));
-
-        hboxLayout12->addWidget(label_16);
-
-        anaConsiderX = new QCheckBox(scrollAreaWidgetContents_4);
-        anaConsiderX->setObjectName(QString::fromUtf8("anaConsiderX"));
-
-        hboxLayout12->addWidget(anaConsiderX);
-
-        anaConsiderY = new QCheckBox(scrollAreaWidgetContents_4);
-        anaConsiderY->setObjectName(QString::fromUtf8("anaConsiderY"));
-        anaConsiderY->setChecked(true);
-
-        hboxLayout12->addWidget(anaConsiderY);
-
-        anaConsiderAbs = new QCheckBox(scrollAreaWidgetContents_4);
-        anaConsiderAbs->setObjectName(QString::fromUtf8("anaConsiderAbs"));
-
-        hboxLayout12->addWidget(anaConsiderAbs);
-
-        anaConsiderRev = new QCheckBox(scrollAreaWidgetContents_4);
-        anaConsiderRev->setObjectName(QString::fromUtf8("anaConsiderRev"));
-
-        hboxLayout12->addWidget(anaConsiderRev);
-
-
-        verticalLayout_18->addLayout(hboxLayout12);
-
-        showVoronoiCells = new QCheckBox(scrollAreaWidgetContents_4);
-        showVoronoiCells->setObjectName(QString::fromUtf8("showVoronoiCells"));
-
-        verticalLayout_18->addWidget(showVoronoiCells);
-
-        verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
-
-        verticalLayout_18->addItem(verticalSpacer);
-
-        scrollArea_4->setWidget(scrollAreaWidgetContents_4);
-
-        horizontalLayout_18->addWidget(scrollArea_4);
-
-        tabs->addTab(ana, QString());
-
-        horizontalLayout_19->addWidget(tabs);
-
-#if QT_CONFIG(shortcut)
-        label_7->setBuddy(tx);
-        label_3->setBuddy(cx);
-        label_6->setBuddy(r4);
-        label_8->setBuddy(ty);
-        label->setBuddy(fx);
-        label_4->setBuddy(cy);
-        label_2->setBuddy(fy);
-        label_5->setBuddy(r2);
-        label_64->setBuddy(r2);
-#endif // QT_CONFIG(shortcut)
-        QWidget::setTabOrder(fx, fy);
-        QWidget::setTabOrder(fy, cx);
-        QWidget::setTabOrder(cx, cy);
-        QWidget::setTabOrder(cy, r2);
-        QWidget::setTabOrder(r2, r4);
-        QWidget::setTabOrder(r4, tx);
-        QWidget::setTabOrder(tx, ty);
-        QWidget::setTabOrder(ty, gridTransY_spin);
-        QWidget::setTabOrder(gridTransY_spin, gridScale_spin);
-        QWidget::setTabOrder(gridScale_spin, gridTransX_spin);
-        QWidget::setTabOrder(gridTransX_spin, gridRot_spin);
-        QWidget::setTabOrder(gridRot_spin, coordTransY_spin);
-        QWidget::setTabOrder(coordTransY_spin, coordScale_spin);
-        QWidget::setTabOrder(coordScale_spin, coordTransX_spin);
-        QWidget::setTabOrder(coordTransX_spin, coordRotate_spin);
-        QWidget::setTabOrder(coordRotate_spin, coordAltitude);
-        QWidget::setTabOrder(coordAltitude, coordUnit);
-        QWidget::setTabOrder(coordUnit, coordUseIntrinsic);
-        QWidget::setTabOrder(coordUseIntrinsic, filterBrightContrast);
-        QWidget::setTabOrder(filterBrightContrast, filterBorder);
-        QWidget::setTabOrder(filterBorder, filterBorderParamCol);
-        QWidget::setTabOrder(filterBorderParamCol, filterBg);
-        QWidget::setTabOrder(filterBg, filterBgReset);
-        QWidget::setTabOrder(filterBgReset, filterBgLoad);
-        QWidget::setTabOrder(filterBgLoad, filterBgSave);
-        QWidget::setTabOrder(filterBgSave, filterSwap);
-        QWidget::setTabOrder(filterSwap, filterSwapH);
-        QWidget::setTabOrder(filterSwapH, filterSwapV);
-        QWidget::setTabOrder(filterSwapV, autoCalib);
-        QWidget::setTabOrder(autoCalib, calibFiles);
-        QWidget::setTabOrder(calibFiles, fixCenter);
-        QWidget::setTabOrder(fixCenter, quadAspectRatio);
-        QWidget::setTabOrder(quadAspectRatio, tangDist);
-        QWidget::setTabOrder(tangDist, apply);
-        QWidget::setTabOrder(apply, markerIgnoreWithout);
-        QWidget::setTabOrder(markerIgnoreWithout, roiShow);
-        QWidget::setTabOrder(roiShow, roiFix);
-        QWidget::setTabOrder(roiFix, recoShowColor);
-        QWidget::setTabOrder(recoShowColor, recoOptimizeColor);
-        QWidget::setTabOrder(recoOptimizeColor, recoColorModel);
-        QWidget::setTabOrder(recoColorModel, recoAutoWB);
-        QWidget::setTabOrder(recoAutoWB, recoColorX);
-        QWidget::setTabOrder(recoColorX, recoColorY);
-        QWidget::setTabOrder(recoColorY, mapNr);
-        QWidget::setTabOrder(mapNr, mapColor);
-        QWidget::setTabOrder(mapColor, mapHeight);
-        QWidget::setTabOrder(mapHeight, mapAdd);
-        QWidget::setTabOrder(mapAdd, mapDel);
-        QWidget::setTabOrder(mapDel, mapDefaultHeight);
-        QWidget::setTabOrder(mapDefaultHeight, mapDistribution);
-        QWidget::setTabOrder(mapDistribution, mapResetHeight);
-        QWidget::setTabOrder(mapResetHeight, mapResetPos);
-        QWidget::setTabOrder(mapResetPos, performRecognition);
-        QWidget::setTabOrder(performRecognition, recoStep);
-        QWidget::setTabOrder(recoStep, recoMethod);
-        QWidget::setTabOrder(recoMethod, recoStereoShow);
-        QWidget::setTabOrder(recoStereoShow, trackOnlineCalc);
-        QWidget::setTabOrder(trackOnlineCalc, trackRepeat);
-        QWidget::setTabOrder(trackRepeat, trackRepeatQual);
-        QWidget::setTabOrder(trackRepeatQual, trackExtrapolation);
-        QWidget::setTabOrder(trackExtrapolation, trackMerge);
-        QWidget::setTabOrder(trackMerge, trackOnlyVisible);
-        QWidget::setTabOrder(trackOnlyVisible, trackExport);
-        QWidget::setTabOrder(trackExport, trackCalc);
-        QWidget::setTabOrder(trackCalc, trackImport);
-        QWidget::setTabOrder(trackImport, trackReset);
-        QWidget::setTabOrder(trackReset, trackMissingFrames);
-        QWidget::setTabOrder(trackMissingFrames, trackRecalcHeight);
-        QWidget::setTabOrder(trackRecalcHeight, trackAlternateHeight);
-        QWidget::setTabOrder(trackAlternateHeight, exportElimTp);
-        QWidget::setTabOrder(exportElimTp, exportElimTrj);
-        QWidget::setTabOrder(exportElimTrj, exportSmooth);
-        QWidget::setTabOrder(exportSmooth, trackTest);
-        QWidget::setTabOrder(trackTest, testEqual);
-        QWidget::setTabOrder(testEqual, testVelocity);
-        QWidget::setTabOrder(testVelocity, testInside);
-        QWidget::setTabOrder(testInside, testLength);
-        QWidget::setTabOrder(testLength, trackShowSearchSize);
-        QWidget::setTabOrder(trackShowSearchSize, trackShow);
-        QWidget::setTabOrder(trackShow, trackFix);
-        QWidget::setTabOrder(trackFix, trackShowOnlyVisible);
-        QWidget::setTabOrder(trackShowOnlyVisible, trackShowOnly);
-        QWidget::setTabOrder(trackShowOnly, trackGotoNr);
-        QWidget::setTabOrder(trackGotoNr, trackPathWidth);
-        QWidget::setTabOrder(trackPathWidth, trackShowPoints);
-        QWidget::setTabOrder(trackShowPoints, trackShowPointsColored);
-        QWidget::setTabOrder(trackShowPointsColored, trackColorMarkerSize);
-        QWidget::setTabOrder(trackColorMarkerSize, trackPointSize);
-        QWidget::setTabOrder(trackPointSize, trackShowPath);
-        QWidget::setTabOrder(trackShowPath, trackCurrentPointSize);
-        QWidget::setTabOrder(trackCurrentPointSize, trackColColorSize);
-        QWidget::setTabOrder(trackColColorSize, trackShowCurrentPoint);
-        QWidget::setTabOrder(trackShowCurrentPoint, trackShowColColor);
-        QWidget::setTabOrder(trackShowColColor, trackShowColorMarker);
-        QWidget::setTabOrder(trackShowColorMarker, trackShowNumber);
-        QWidget::setTabOrder(trackShowNumber, trackNumberSize);
-        QWidget::setTabOrder(trackNumberSize, trackNumberBold);
-        QWidget::setTabOrder(trackNumberBold, trackHeadSized);
-        QWidget::setTabOrder(trackHeadSized, trackShowHeightIndividual);
-        QWidget::setTabOrder(trackShowHeightIndividual, trackShowAfter);
-        QWidget::setTabOrder(trackShowAfter, trackShowBefore);
-        QWidget::setTabOrder(trackShowBefore, anaStep);
-        QWidget::setTabOrder(anaStep, anaMarkAct);
-        QWidget::setTabOrder(anaMarkAct, anaCalculate);
-        QWidget::setTabOrder(anaCalculate, anaMissingFrames);
-        QWidget::setTabOrder(anaMissingFrames, anaConsiderX);
-        QWidget::setTabOrder(anaConsiderX, anaConsiderY);
-        QWidget::setTabOrder(anaConsiderY, anaConsiderAbs);
-        QWidget::setTabOrder(anaConsiderAbs, anaConsiderRev);
-
-        retranslateUi(Control);
-        QObject::connect(gridTransY, SIGNAL(valueChanged(int)), gridTransY_spin, SLOT(setValue(int)));
-        QObject::connect(gridTransY_spin, SIGNAL(valueChanged(int)), gridTransY, SLOT(setValue(int)));
-        QObject::connect(gridScale, SIGNAL(valueChanged(int)), gridScale_spin, SLOT(setValue(int)));
-        QObject::connect(gridTransX, SIGNAL(valueChanged(int)), gridTransX_spin, SLOT(setValue(int)));
-        QObject::connect(gridRot_spin, SIGNAL(valueChanged(int)), gridRotate, SLOT(setValue(int)));
-        QObject::connect(coordTransY, SIGNAL(valueChanged(int)), coordTransY_spin, SLOT(setValue(int)));
-        QObject::connect(gridRotate, SIGNAL(valueChanged(int)), gridRot_spin, SLOT(setValue(int)));
-        QObject::connect(coordTransX, SIGNAL(valueChanged(int)), coordTransX_spin, SLOT(setValue(int)));
-        QObject::connect(gridScale_spin, SIGNAL(valueChanged(int)), gridScale, SLOT(setValue(int)));
-        QObject::connect(gridTransX_spin, SIGNAL(valueChanged(int)), gridTransX, SLOT(setValue(int)));
-        QObject::connect(coordScale, SIGNAL(valueChanged(int)), coordScale_spin, SLOT(setValue(int)));
-        QObject::connect(coordRotate, SIGNAL(valueChanged(int)), coordRotate_spin, SLOT(setValue(int)));
-        QObject::connect(coordTransY_spin, SIGNAL(valueChanged(int)), coordTransY, SLOT(setValue(int)));
-        QObject::connect(coordTransX_spin, SIGNAL(valueChanged(int)), coordTransX, SLOT(setValue(int)));
-        QObject::connect(grid3DTransY, SIGNAL(valueChanged(int)), grid3DTransY_spin, SLOT(setValue(int)));
-        QObject::connect(coord3DTransZ_spin, SIGNAL(valueChanged(int)), coord3DTransZ, SLOT(setValue(int)));
-        QObject::connect(coordRotate_spin, SIGNAL(valueChanged(int)), coordRotate, SLOT(setValue(int)));
-        QObject::connect(coord3DAxeLen_spin, SIGNAL(valueChanged(int)), coord3DAxeLen, SLOT(setValue(int)));
-        QObject::connect(coordScale_spin, SIGNAL(valueChanged(int)), coordScale, SLOT(setValue(int)));
-        QObject::connect(grid3DTransX, SIGNAL(valueChanged(int)), grid3DTransX_spin, SLOT(setValue(int)));
-        QObject::connect(grid3DResolution, SIGNAL(valueChanged(int)), grid3DResolution_spin, SLOT(setValue(int)));
-        QObject::connect(grid3DTransZ, SIGNAL(valueChanged(int)), grid3DTransZ_spin, SLOT(setValue(int)));
-        QObject::connect(grid3DResolution_spin, SIGNAL(valueChanged(int)), grid3DResolution, SLOT(setValue(int)));
-        QObject::connect(grid3DTransY_spin, SIGNAL(valueChanged(int)), grid3DTransY, SLOT(setValue(int)));
-        QObject::connect(grid3DTransZ_spin, SIGNAL(valueChanged(int)), grid3DTransZ, SLOT(setValue(int)));
-        QObject::connect(coord3DTransY, SIGNAL(valueChanged(int)), coord3DTransY_spin, SLOT(setValue(int)));
-        QObject::connect(coord3DTransZ, SIGNAL(valueChanged(int)), coord3DTransZ_spin, SLOT(setValue(int)));
-        QObject::connect(coord3DAxeLen, SIGNAL(valueChanged(int)), coord3DAxeLen_spin, SLOT(setValue(int)));
-        QObject::connect(grid3DTransX_spin, SIGNAL(valueChanged(int)), grid3DTransX, SLOT(setValue(int)));
-        QObject::connect(coord3DTransX_spin, SIGNAL(valueChanged(int)), coord3DTransX, SLOT(setValue(int)));
-        QObject::connect(coord3DTransY_spin, SIGNAL(valueChanged(int)), coord3DTransY, SLOT(setValue(int)));
-        QObject::connect(coord3DTransX, SIGNAL(valueChanged(int)), coord3DTransX_spin, SLOT(setValue(int)));
-
-        tabs->setCurrentIndex(2);
-        coordTab->setCurrentIndex(0);
-        gridTab->setCurrentIndex(0);
-        recoMethod->setCurrentIndex(-1);
-
-
-        QMetaObject::connectSlotsByName(Control);
-    } // setupUi
-
-    void retranslateUi(QWidget *Control)
-    {
-        Control->setWindowTitle(QCoreApplication::translate("Control", "Form", nullptr));
-        groupBox->setTitle(QCoreApplication::translate("Control", "filter before", nullptr));
-        filterBorderParamCol->setText(QCoreApplication::translate("Control", "color", nullptr));
-        filterBgShow->setText(QCoreApplication::translate("Control", "show", nullptr));
-        filterBgUpdate->setText(QCoreApplication::translate("Control", "update", nullptr));
-        filterBgReset->setText(QCoreApplication::translate("Control", "reset", nullptr));
-        filterBgLoad->setText(QCoreApplication::translate("Control", "load", nullptr));
-        filterBgSave->setText(QCoreApplication::translate("Control", "save", nullptr));
-#if QT_CONFIG(tooltip)
-        filterBgDeleteTrj->setToolTip(QCoreApplication::translate("Control", "delete trajectory after a certain number of trackpoints outside foreground", nullptr));
-#endif // QT_CONFIG(tooltip)
-        filterBgDeleteTrj->setText(QCoreApplication::translate("Control", "delete", nullptr));
-        label_63->setText(QCoreApplication::translate("Control", "trj. after:", nullptr));
-        filterSwapH->setText(QCoreApplication::translate("Control", "horizontally", nullptr));
-        filterSwapV->setText(QCoreApplication::translate("Control", "vertically", nullptr));
-        filterSwap->setText(QCoreApplication::translate("Control", "swap", nullptr));
-        filterBorder->setText(QCoreApplication::translate("Control", "border:", nullptr));
-        filterBrightContrast->setText(QCoreApplication::translate("Control", "brightness:", nullptr));
-        filterBg->setText(QCoreApplication::translate("Control", "bg subtr.:", nullptr));
-        label_18->setText(QCoreApplication::translate("Control", "         contrast:", nullptr));
-        intr->setTitle(QCoreApplication::translate("Control", "intrinsic parameters", nullptr));
-        apply->setText(QCoreApplication::translate("Control", "apply", nullptr));
-        label_7->setText(QCoreApplication::translate("Control", "tangential distortion: x:", nullptr));
-        label_3->setText(QCoreApplication::translate("Control", "center [px]: x:", nullptr));
-        label_6->setText(QCoreApplication::translate("Control", "4th:", nullptr));
-        label_8->setText(QCoreApplication::translate("Control", "y:", nullptr));
-        label->setText(QCoreApplication::translate("Control", "focal length [px]: x:", nullptr));
-        label_4->setText(QCoreApplication::translate("Control", "y:", nullptr));
-        label_2->setText(QCoreApplication::translate("Control", "y:", nullptr));
-        label_5->setText(QCoreApplication::translate("Control", "radial distortion: 2nd:", nullptr));
-        label_64->setText(QCoreApplication::translate("Control", "6th:", nullptr));
-        fixCenter->setText(QCoreApplication::translate("Control", "fix center", nullptr));
-        quadAspectRatio->setText(QCoreApplication::translate("Control", "quad. aspect ratio", nullptr));
-        tangDist->setText(QCoreApplication::translate("Control", "tang. dist.", nullptr));
-        autoCalib->setText(QCoreApplication::translate("Control", "auto", nullptr));
-        calibFiles->setText(QCoreApplication::translate("Control", "files", nullptr));
-        extr->setTitle(QCoreApplication::translate("Control", "extrinsic parameters", nullptr));
-#if QT_CONFIG(tooltip)
-        label_58->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_58->setText(QCoreApplication::translate("Control", "rotation:", nullptr));
-#if QT_CONFIG(tooltip)
-        label_59->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_59->setText(QCoreApplication::translate("Control", "translation:", nullptr));
-        label_62->setText(QCoreApplication::translate("Control", "3D/2D Points:", nullptr));
-#if QT_CONFIG(tooltip)
-        coordLoad3DCalibPoints->setToolTip(QCoreApplication::translate("Control", "Load 3D points to corresponding 2D image points", nullptr));
-#endif // QT_CONFIG(tooltip)
-        coordLoad3DCalibPoints->setText(QCoreApplication::translate("Control", "load", nullptr));
-#if QT_CONFIG(tooltip)
-        extrCalibFetch->setToolTip(QCoreApplication::translate("Control", "Fetch marked 2D Points to loaded 3D points", nullptr));
-#endif // QT_CONFIG(tooltip)
-        extrCalibFetch->setText(QCoreApplication::translate("Control", "fetch", nullptr));
-#if QT_CONFIG(tooltip)
-        extrCalibSave->setToolTip(QCoreApplication::translate("Control", "Save 3D and/or 2D points to extrinisc calib file", nullptr));
-#endif // QT_CONFIG(tooltip)
-        extrCalibSave->setText(QCoreApplication::translate("Control", "save", nullptr));
-#if QT_CONFIG(tooltip)
-        extrCalibShowPoints->setToolTip(QCoreApplication::translate("Control", "Show the saved 2D/3D point correspondences in the file", nullptr));
-#endif // QT_CONFIG(tooltip)
-        extrCalibShowPoints->setText(QCoreApplication::translate("Control", "show", nullptr));
-#if QT_CONFIG(tooltip)
-        extrCalibShowError->setToolTip(QCoreApplication::translate("Control", "Show the reprojection error of extrinsic calibration", nullptr));
-#endif // QT_CONFIG(tooltip)
-        extrCalibShowError->setText(QCoreApplication::translate("Control", "error", nullptr));
-        align_2->setTitle(QCoreApplication::translate("Control", "coordinate system", nullptr));
-#if QT_CONFIG(tooltip)
-        coordShow->setToolTip(QCoreApplication::translate("Control", "Show the coordinate system.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        coordShow->setText(QCoreApplication::translate("Control", "show", nullptr));
-#if QT_CONFIG(tooltip)
-        coordFix->setToolTip(QCoreApplication::translate("Control", "Fix the coordinate system", nullptr));
-#endif // QT_CONFIG(tooltip)
-        coordFix->setText(QCoreApplication::translate("Control", "fix", nullptr));
-#if QT_CONFIG(tooltip)
-        label_54->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_54->setText(QCoreApplication::translate("Control", "translate [cm] x:", nullptr));
-#if QT_CONFIG(tooltip)
-        coord3DTransX->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        coord3DTransX_spin->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_55->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_55->setText(QCoreApplication::translate("Control", "y:", nullptr));
-#if QT_CONFIG(tooltip)
-        coord3DTransY->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        coord3DTransY_spin->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_57->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_57->setText(QCoreApplication::translate("Control", "z:", nullptr));
-#if QT_CONFIG(tooltip)
-        coord3DTransZ->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        coord3DTransZ_spin->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_56->setToolTip(QCoreApplication::translate("Control", "Scale the coordinate system.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_56->setText(QCoreApplication::translate("Control", "axis length:", nullptr));
-#if QT_CONFIG(tooltip)
-        coord3DAxeLen->setToolTip(QCoreApplication::translate("Control", "Scale the coordinate system.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        coord3DAxeLen_spin->setToolTip(QCoreApplication::translate("Control", "Scale the coordinate system.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        coord3DAxeLen_spin->setSuffix(QCoreApplication::translate("Control", " cm", nullptr));
-#if QT_CONFIG(tooltip)
-        label_60->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_60->setText(QCoreApplication::translate("Control", "swap axis:", nullptr));
-        coord3DSwapX->setText(QCoreApplication::translate("Control", "X-axis", nullptr));
-        coord3DSwapY->setText(QCoreApplication::translate("Control", "Y-axis", nullptr));
-        coord3DSwapZ->setText(QCoreApplication::translate("Control", "Z-axis", nullptr));
-#if QT_CONFIG(tooltip)
-        label_61->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_61->setText(QCoreApplication::translate("Control", "        show:", nullptr));
-        extCalibPointsShow->setText(QCoreApplication::translate("Control", "calibration points", nullptr));
-        extVanishPointsShow->setText(QCoreApplication::translate("Control", "vanish points", nullptr));
-        coordTab->setTabText(coordTab->indexOf(coordTab3D), QCoreApplication::translate("Control", "     3D     ", nullptr));
-#if QT_CONFIG(tooltip)
-        coordTab->setTabToolTip(coordTab->indexOf(coordTab3D), QCoreApplication::translate("Control", "Select for 3D coordinatesystem", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        coordTransX_spin->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_34->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_34->setText(QCoreApplication::translate("Control", "translate x:", nullptr));
-#if QT_CONFIG(tooltip)
-        coordTransX->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in x-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_32->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_32->setText(QCoreApplication::translate("Control", "y:", nullptr));
-#if QT_CONFIG(tooltip)
-        coordTransY->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_33->setToolTip(QCoreApplication::translate("Control", "Scale the coordinate system.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_33->setText(QCoreApplication::translate("Control", "scale:", nullptr));
-#if QT_CONFIG(tooltip)
-        coordScale->setToolTip(QCoreApplication::translate("Control", "Scale the coordinate system.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        coordTransY_spin->setToolTip(QCoreApplication::translate("Control", "Translate the coordinate system in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        coordScale_spin->setToolTip(QCoreApplication::translate("Control", "Scale the coordinate system.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_35->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_35->setText(QCoreApplication::translate("Control", "rotate:", nullptr));
-#if QT_CONFIG(tooltip)
-        coordRotate->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        coordRotate_spin->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the coordinate system clockwise. 3D: Translate the coordinate system in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_14->setText(QCoreApplication::translate("Control", "camera altitude [cm]:", nullptr));
-        coordAltitude->setSuffix(QString());
-        coordAltitudeMeasured->setText(QCoreApplication::translate("Control", "(measured: 535.0)", nullptr));
-        label_37->setText(QCoreApplication::translate("Control", "unit [cm]:", nullptr));
-        coordUnit->setSuffix(QString());
-        coordUseIntrinsic->setText(QCoreApplication::translate("Control", "use intrinsic center for calculating real position", nullptr));
-        coordTab->setTabText(coordTab->indexOf(coordTab2D), QCoreApplication::translate("Control", "     2D     ", nullptr));
-#if QT_CONFIG(tooltip)
-        coordTab->setTabToolTip(coordTab->indexOf(coordTab2D), QCoreApplication::translate("Control", "Select for 2D coordinatesystem", nullptr));
-#endif // QT_CONFIG(tooltip)
-        align->setTitle(QCoreApplication::translate("Control", "alignment grid", nullptr));
-#if QT_CONFIG(tooltip)
-        gridShow->setToolTip(QCoreApplication::translate("Control", "Show the grid.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        gridShow->setText(QCoreApplication::translate("Control", "show", nullptr));
-#if QT_CONFIG(tooltip)
-        gridFix->setToolTip(QCoreApplication::translate("Control", "Fix the grid.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        gridFix->setText(QCoreApplication::translate("Control", "fix", nullptr));
-#if QT_CONFIG(tooltip)
-        label_15->setToolTip(QCoreApplication::translate("Control", "Translate the grid in x-direction", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_15->setText(QCoreApplication::translate("Control", "translate [cm] x:", nullptr));
-#if QT_CONFIG(tooltip)
-        grid3DTransX->setToolTip(QCoreApplication::translate("Control", "Translate the grid in x-direction", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        grid3DTransX_spin->setToolTip(QCoreApplication::translate("Control", "Translate the grid in x-direction", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_49->setToolTip(QCoreApplication::translate("Control", "Translate the grid in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_49->setText(QCoreApplication::translate("Control", "y:", nullptr));
-#if QT_CONFIG(tooltip)
-        grid3DTransY->setToolTip(QCoreApplication::translate("Control", "Translate the grid in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        grid3DTransY_spin->setToolTip(QCoreApplication::translate("Control", "Translate the grid in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_50->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the grid clockwise. 3D: Translate the grid in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_50->setText(QCoreApplication::translate("Control", "z:", nullptr));
-#if QT_CONFIG(tooltip)
-        grid3DTransZ->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the grid clockwise. 3D: Translate the grid in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        grid3DTransZ_spin->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the grid clockwise. 3D: Translate the grid in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        grid3DTransZ_spin->setSuffix(QString());
-#if QT_CONFIG(tooltip)
-        label_51->setToolTip(QCoreApplication::translate("Control", "Scale the gridcells", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_51->setText(QCoreApplication::translate("Control", "resolution [cm]:", nullptr));
-#if QT_CONFIG(tooltip)
-        grid3DResolution->setToolTip(QCoreApplication::translate("Control", "Scale the gridcells", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        grid3DResolution_spin->setToolTip(QCoreApplication::translate("Control", "Scale the gridcells", nullptr));
-#endif // QT_CONFIG(tooltip)
-        grid3DResolution_spin->setSuffix(QCoreApplication::translate("Control", " cm", nullptr));
-        grid3DResolution_spin->setPrefix(QString());
-        gridTab->setTabText(gridTab->indexOf(gridTab3D), QCoreApplication::translate("Control", "     3D     ", nullptr));
-#if QT_CONFIG(tooltip)
-        gridTab->setTabToolTip(gridTab->indexOf(gridTab3D), QCoreApplication::translate("Control", "Select for 3D grid", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_10->setToolTip(QCoreApplication::translate("Control", "Translate the grid in x-direction", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_10->setText(QCoreApplication::translate("Control", "translate x:", nullptr));
-#if QT_CONFIG(tooltip)
-        gridTransX->setToolTip(QCoreApplication::translate("Control", "Translate the grid in x-direction", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        gridTransX_spin->setToolTip(QCoreApplication::translate("Control", "Translate the grid in x-direction", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_11->setToolTip(QCoreApplication::translate("Control", "Translate the grid in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_11->setText(QCoreApplication::translate("Control", "y:", nullptr));
-#if QT_CONFIG(tooltip)
-        gridTransY->setToolTip(QCoreApplication::translate("Control", "Translate the grid in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        gridTransY_spin->setToolTip(QCoreApplication::translate("Control", "Translate the grid in y-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_9->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the grid clockwise. 3D: Translate the grid in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_9->setText(QCoreApplication::translate("Control", "rotate:", nullptr));
-#if QT_CONFIG(tooltip)
-        gridRotate->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the grid clockwise. 3D: Translate the grid in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        gridRot_spin->setToolTip(QCoreApplication::translate("Control", "2D: Rotate the grid clockwise. 3D: Translate the grid in z-direction.", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        label_12->setToolTip(QCoreApplication::translate("Control", "Scale the gridcells", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_12->setText(QCoreApplication::translate("Control", "scale:", nullptr));
-#if QT_CONFIG(tooltip)
-        gridScale->setToolTip(QCoreApplication::translate("Control", "Scale the gridcells", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(tooltip)
-        gridScale_spin->setToolTip(QCoreApplication::translate("Control", "Scale the gridcells", nullptr));
-#endif // QT_CONFIG(tooltip)
-        gridTab->setTabText(gridTab->indexOf(gridTab2D), QCoreApplication::translate("Control", "     2D     ", nullptr));
-#if QT_CONFIG(tooltip)
-        gridTab->setTabToolTip(gridTab->indexOf(gridTab2D), QCoreApplication::translate("Control", "Select for 2D grid", nullptr));
-#endif // QT_CONFIG(tooltip)
-        tabs->setTabText(tabs->indexOf(calib), QCoreApplication::translate("Control", "calibration", nullptr));
-        performRecognition->setText(QCoreApplication::translate("Control", "perform", nullptr));
-        label_27->setText(QCoreApplication::translate("Control", "step:", nullptr));
-        label_26->setText(QCoreApplication::translate("Control", "number of recognized people by now:", nullptr));
-        recoNumberNow->setText(QCoreApplication::translate("Control", "0", nullptr));
-        recoStereoShow->setText(QCoreApplication::translate("Control", "parameter", nullptr));
-        groupBox_2->setTitle(QCoreApplication::translate("Control", "region of interest", nullptr));
-        roiShow->setText(QCoreApplication::translate("Control", "show", nullptr));
-        roiFix->setText(QCoreApplication::translate("Control", "fix", nullptr));
-        groupBox_5->setTitle(QCoreApplication::translate("Control", "marker", nullptr));
-        label_19->setText(QCoreApplication::translate("Control", "marker brightness: ", nullptr));
-        markerIgnoreWithout->setText(QCoreApplication::translate("Control", "ignore head without marker", nullptr));
-        colorBox->setTitle(QCoreApplication::translate("Control", "size and color", nullptr));
-        recoShowColor->setText(QCoreApplication::translate("Control", "show recognition color", nullptr));
-        recoOptimizeColor->setText(QCoreApplication::translate("Control", "optimize", nullptr));
-        label_28->setText(QCoreApplication::translate("Control", "model:", nullptr));
-        recoAutoWB->setText(QCoreApplication::translate("Control", "auto white balance and brigtness", nullptr));
-        label_29->setText(QCoreApplication::translate("Control", "x:", nullptr));
-        label_30->setText(QCoreApplication::translate("Control", "y:", nullptr));
-        label_31->setText(QCoreApplication::translate("Control", "z:", nullptr));
-        label_38->setText(QCoreApplication::translate("Control", "grey level:", nullptr));
-        label_39->setText(QCoreApplication::translate("Control", "symbol size:", nullptr));
-        groupBox_4->setTitle(QCoreApplication::translate("Control", "map", nullptr));
-        label_44->setText(QCoreApplication::translate("Control", "h:", nullptr));
-        label_40->setText(QCoreApplication::translate("Control", "x:", nullptr));
-        label_43->setText(QCoreApplication::translate("Control", "w:", nullptr));
-        label_42->setText(QCoreApplication::translate("Control", "y:", nullptr));
-        mapColor->setText(QCoreApplication::translate("Control", "color", nullptr));
-        label_45->setText(QCoreApplication::translate("Control", "height:", nullptr));
-        mapAdd->setText(QCoreApplication::translate("Control", "add", nullptr));
-        mapDel->setText(QCoreApplication::translate("Control", "delete", nullptr));
-        mapColorRange->setText(QCoreApplication::translate("Control", "color range", nullptr));
-#if QT_CONFIG(tooltip)
-        label_46->setToolTip(QCoreApplication::translate("Control", "default height, if no height is measured through color marker or disparity", nullptr));
-#endif // QT_CONFIG(tooltip)
-        label_46->setText(QCoreApplication::translate("Control", "def. height:", nullptr));
-#if QT_CONFIG(tooltip)
-        mapDistribution->setToolTip(QCoreApplication::translate("Control", "print out distribution of height", nullptr));
-#endif // QT_CONFIG(tooltip)
-        mapDistribution->setText(QCoreApplication::translate("Control", "dist.", nullptr));
-#if QT_CONFIG(tooltip)
-        mapResetHeight->setToolTip(QCoreApplication::translate("Control", "reset height of every person measured over time, so that default value will be choosen", nullptr));
-#endif // QT_CONFIG(tooltip)
-        mapResetHeight->setText(QCoreApplication::translate("Control", "res. height", nullptr));
-#if QT_CONFIG(tooltip)
-        mapResetPos->setToolTip(QCoreApplication::translate("Control", "reset position of every trackpoint (from disparity)", nullptr));
-#endif // QT_CONFIG(tooltip)
-        mapResetPos->setText(QCoreApplication::translate("Control", "res. pos.", nullptr));
-        tabs->setTabText(tabs->indexOf(rec), QCoreApplication::translate("Control", "recognition", nullptr));
-        trackOnlineCalc->setText(QCoreApplication::translate("Control", "online calculation", nullptr));
-#if QT_CONFIG(shortcut)
-        trackOnlineCalc->setShortcut(QCoreApplication::translate("Control", "Shift+T", nullptr));
-#endif // QT_CONFIG(shortcut)
-#if QT_CONFIG(tooltip)
-        trackRepeat->setToolTip(QCoreApplication::translate("Control", "repeat tracking below existing quality of trackpoint ", nullptr));
-#endif // QT_CONFIG(tooltip)
-        trackRepeat->setText(QCoreApplication::translate("Control", "repeat below quality:", nullptr));
-        trackExtrapolation->setText(QCoreApplication::translate("Control", "extrapolation for big diff.", nullptr));
-        trackMerge->setText(QCoreApplication::translate("Control", "merge", nullptr));
-#if QT_CONFIG(tooltip)
-        trackOnlyVisible->setToolTip(QCoreApplication::translate("Control", "online tracking and manual deletion and moving only for trajectories, which are visable (see \"show only people\")", nullptr));
-#endif // QT_CONFIG(tooltip)
-        trackOnlyVisible->setText(QCoreApplication::translate("Control", "only visible", nullptr));
-        trackNumberNow->setText(QCoreApplication::translate("Control", "0", nullptr));
-        label_22->setText(QCoreApplication::translate("Control", "number of all tracked and recognized people:", nullptr));
-        label_23->setText(QCoreApplication::translate("Control", "number of tracked people by now:", nullptr));
-        trackNumberAll->setText(QCoreApplication::translate("Control", "0", nullptr));
-        label_65->setText(QCoreApplication::translate("Control", "number of visible people:", nullptr));
-        trackNumberVisible->setText(QCoreApplication::translate("Control", "0", nullptr));
-        trackExport->setText(QCoreApplication::translate("Control", "export", nullptr));
-        trackCalc->setText(QCoreApplication::translate("Control", "calculate all", nullptr));
-        trackImport->setText(QCoreApplication::translate("Control", "import", nullptr));
-        trackReset->setText(QCoreApplication::translate("Control", "reset", nullptr));
-        groupBox_8->setTitle(QCoreApplication::translate("Control", "Region of interest", nullptr));
-        trackRoiShow->setText(QCoreApplication::translate("Control", "show", nullptr));
-        trackRoiFix->setText(QCoreApplication::translate("Control", "fix", nullptr));
-        groupBox_7->setTitle(QCoreApplication::translate("Control", "export options", nullptr));
-#if QT_CONFIG(tooltip)
-        trackMissingFrames->setToolTip(QCoreApplication::translate("Control", "search and insert missing frames", nullptr));
-#endif // QT_CONFIG(tooltip)
-        trackMissingFrames->setText(QCoreApplication::translate("Control", "insert miss. frames", nullptr));
-#if QT_CONFIG(tooltip)
-        trackRecalcHeight->setToolTip(QCoreApplication::translate("Control", "recalculate median height", nullptr));
-#endif // QT_CONFIG(tooltip)
-        trackRecalcHeight->setText(QCoreApplication::translate("Control", "recalc. height", nullptr));
-#if QT_CONFIG(tooltip)
-        trackAlternateHeight->setToolTip(QCoreApplication::translate("Control", "allow alternate height", nullptr));
-#endif // QT_CONFIG(tooltip)
-        trackAlternateHeight->setText(QCoreApplication::translate("Control", "alt. height", nullptr));
-#if QT_CONFIG(tooltip)
-        exportElimTp->setToolTip(QCoreApplication::translate("Control", "eliminate trackpoints at outer margins without calculated height", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(statustip)
-        exportElimTp->setStatusTip(QString());
-#endif // QT_CONFIG(statustip)
-        exportElimTp->setText(QCoreApplication::translate("Control", "elim. tp. wo. hgt.", nullptr));
-#if QT_CONFIG(tooltip)
-        exportElimTrj->setToolTip(QCoreApplication::translate("Control", "eliminate trajectories without calculated height", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(statustip)
-        exportElimTrj->setStatusTip(QString());
-#endif // QT_CONFIG(statustip)
-        exportElimTrj->setText(QCoreApplication::translate("Control", "elim. trj. wo. hgt.", nullptr));
-#if QT_CONFIG(tooltip)
-        exportSmooth->setToolTip(QCoreApplication::translate("Control", "smooth trajectories (Attention: original trajectories are changed)", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(statustip)
-        exportSmooth->setStatusTip(QString());
-#endif // QT_CONFIG(statustip)
-        exportSmooth->setText(QCoreApplication::translate("Control", "smooth", nullptr));
-#if QT_CONFIG(tooltip)
-        exportViewDir->setToolTip(QCoreApplication::translate("Control", "add direction of head (corresponding to view direction; possible with Japan and casern marker)", nullptr));
-#endif // QT_CONFIG(tooltip)
-        exportViewDir->setText(QCoreApplication::translate("Control", "add head direction", nullptr));
-#if QT_CONFIG(tooltip)
-        exportAngleOfView->setToolTip(QCoreApplication::translate("Control", "add angle of view of camera to person", nullptr));
-#endif // QT_CONFIG(tooltip)
-        exportAngleOfView->setText(QCoreApplication::translate("Control", "add angle of view", nullptr));
-#if QT_CONFIG(tooltip)
-        exportUseM->setToolTip(QCoreApplication::translate("Control", "use meter instead of cm", nullptr));
-#endif // QT_CONFIG(tooltip)
-        exportUseM->setText(QCoreApplication::translate("Control", "use meter", nullptr));
-        exportComment->setText(QCoreApplication::translate("Control", "add comment", nullptr));
-        exportMarkerID->setText(QCoreApplication::translate("Control", "add marker ID", nullptr));
-        trackTest->setText(QCoreApplication::translate("Control", "test", nullptr));
-#if QT_CONFIG(tooltip)
-        testEqual->setToolTip(QCoreApplication::translate("Control", "search for trajectories with similar trackpoints", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(whatsthis)
-        testEqual->setWhatsThis(QString());
-#endif // QT_CONFIG(whatsthis)
-        testEqual->setText(QCoreApplication::translate("Control", "equal", nullptr));
-#if QT_CONFIG(tooltip)
-        testVelocity->setToolTip(QCoreApplication::translate("Control", "search for hight velocity variations", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(whatsthis)
-        testVelocity->setWhatsThis(QString());
-#endif // QT_CONFIG(whatsthis)
-        testVelocity->setText(QCoreApplication::translate("Control", "velocity", nullptr));
-#if QT_CONFIG(tooltip)
-        testInside->setToolTip(QCoreApplication::translate("Control", "search for trajectories which start or end outside recognition area", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(whatsthis)
-        testInside->setWhatsThis(QString());
-#endif // QT_CONFIG(whatsthis)
-        testInside->setText(QCoreApplication::translate("Control", "inside", nullptr));
-#if QT_CONFIG(tooltip)
-        testLength->setToolTip(QCoreApplication::translate("Control", "search for short trajectories", nullptr));
-#endif // QT_CONFIG(tooltip)
-#if QT_CONFIG(whatsthis)
-        testLength->setWhatsThis(QString());
-#endif // QT_CONFIG(whatsthis)
-        testLength->setText(QCoreApplication::translate("Control", "length", nullptr));
-        groupBox_6->setTitle(QCoreApplication::translate("Control", "search region", nullptr));
-        label_52->setText(QCoreApplication::translate("Control", "scale:", nullptr));
-        label_53->setText(QCoreApplication::translate("Control", "levels:", nullptr));
-        label_66->setText(QCoreApplication::translate("Control", "max. error:", nullptr));
-        trackShowSearchSize->setText(QCoreApplication::translate("Control", "show pyramidal search size", nullptr));
-        groupBox_3->setTitle(QCoreApplication::translate("Control", "path", nullptr));
-        trackShow->setText(QCoreApplication::translate("Control", "show", nullptr));
-        trackFix->setText(QCoreApplication::translate("Control", "fix", nullptr));
-        trackShowOnlyVisible->setText(QCoreApplication::translate("Control", "only for visible people", nullptr));
-        trackShowOnly->setText(QCoreApplication::translate("Control", "show only people:", nullptr));
-        trackGotoNr->setText(QCoreApplication::translate("Control", "goto", nullptr));
-        trackGotoStartNr->setText(QCoreApplication::translate("Control", "start", nullptr));
-        trackGotoEndNr->setText(QCoreApplication::translate("Control", "end", nullptr));
-        trackShowOnlyList->setText(QCoreApplication::translate("Control", "show only people list: ", nullptr));
-        trackShowOnlyListButton->setText(QCoreApplication::translate("Control", "list", nullptr));
-        trackShowPath->setText(QCoreApplication::translate("Control", "show path", nullptr));
-        trackShowCurrentPoint->setText(QCoreApplication::translate("Control", "show current point", nullptr));
-        label_25->setText(QCoreApplication::translate("Control", "size:", nullptr));
-        label_36->setText(QCoreApplication::translate("Control", "size:", nullptr));
-        trackShowColColor->setText(QCoreApplication::translate("Control", "show height/col. color", nullptr));
-        trackShowColorMarker->setText(QCoreApplication::translate("Control", "show color marker", nullptr));
-        trackShowNumber->setText(QCoreApplication::translate("Control", "show number", nullptr));
-        label_48->setText(QCoreApplication::translate("Control", "size:", nullptr));
-        trackNumberBold->setText(QCoreApplication::translate("Control", "bold", nullptr));
-        trackHeadSized->setText(QCoreApplication::translate("Control", "head size", nullptr));
-        trackShowHeightIndividual->setText(QCoreApplication::translate("Control", "individual", nullptr));
-        trackPathColorButton->setText(QCoreApplication::translate("Control", "color", nullptr));
-        trackShowPoints->setText(QCoreApplication::translate("Control", "show points", nullptr));
-        trackShowPointsColored->setText(QCoreApplication::translate("Control", "colored", nullptr));
-        label_13->setText(QCoreApplication::translate("Control", "size:", nullptr));
-        label_41->setText(QCoreApplication::translate("Control", "size:", nullptr));
-        label_47->setText(QCoreApplication::translate("Control", "size:", nullptr));
-        trackShowGroundPosition->setText(QCoreApplication::translate("Control", "show ground position", nullptr));
-        label_67->setText(QCoreApplication::translate("Control", "size:", nullptr));
-        trackShowGroundPath->setText(QCoreApplication::translate("Control", "show ground path", nullptr));
-        label_68->setText(QCoreApplication::translate("Control", "size:", nullptr));
-        trackGroundPathColorButton->setText(QCoreApplication::translate("Control", "color", nullptr));
-        label_17->setText(QCoreApplication::translate("Control", "frames before actual position:", nullptr));
-        label_20->setText(QCoreApplication::translate("Control", "frames after actual position:", nullptr));
-        tabs->setTabText(tabs->indexOf(track), QCoreApplication::translate("Control", "tracking", nullptr));
-        anaCalculate->setText(QCoreApplication::translate("Control", "calculate", nullptr));
-        anaMissingFrames->setText(QCoreApplication::translate("Control", "search and  insert missing frames", nullptr));
-        label_21->setText(QCoreApplication::translate("Control", "averaging step size:", nullptr));
-        anaMarkAct->setText(QCoreApplication::translate("Control", "mark actual frame", nullptr));
-        label_16->setText(QCoreApplication::translate("Control", "consider:", nullptr));
-        anaConsiderX->setText(QCoreApplication::translate("Control", "x", nullptr));
-        anaConsiderY->setText(QCoreApplication::translate("Control", "y", nullptr));
-        anaConsiderAbs->setText(QCoreApplication::translate("Control", "absolute", nullptr));
-        anaConsiderRev->setText(QCoreApplication::translate("Control", "reverse", nullptr));
-        showVoronoiCells->setText(QCoreApplication::translate("Control", "show voronoi cells", nullptr));
-        tabs->setTabText(tabs->indexOf(ana), QCoreApplication::translate("Control", "analysis", nullptr));
-    } // retranslateUi
-
-};
-
-namespace Ui {
-    class Control: public Ui_Control {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_CONTROL_H
diff --git a/ui/ui_multiColorMarker.h b/ui/ui_multiColorMarker.h
deleted file mode 100644
index d1c42bfb7e8c57eeb5de22b01c8e6252fb7f2f54..0000000000000000000000000000000000000000
--- a/ui/ui_multiColorMarker.h
+++ /dev/null
@@ -1,308 +0,0 @@
-/********************************************************************************
-** Form generated from reading UI file 'multiColorMarker.ui'
-**
-** Created by: Qt User Interface Compiler version 5.14.1
-**
-** WARNING! All changes made in this file will be lost when recompiling UI file!
-********************************************************************************/
-
-#ifndef UI_MULTICOLORMARKER_H
-#define UI_MULTICOLORMARKER_H
-
-#include <QtCore/QVariant>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QCheckBox>
-#include <QtWidgets/QDoubleSpinBox>
-#include <QtWidgets/QGridLayout>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QSpacerItem>
-#include <QtWidgets/QSpinBox>
-#include <QtWidgets/QVBoxLayout>
-#include <QtWidgets/QWidget>
-
-QT_BEGIN_NAMESPACE
-
-class Ui_MultiColorMarker
-{
-public:
-    QVBoxLayout *verticalLayout;
-    QVBoxLayout *verticalLayout_2;
-    QGridLayout *gridLayout_3;
-    QCheckBox *useDot;
-    QDoubleSpinBox *dotSize;
-    QSpacerItem *horizontalSpacer_2;
-    QGridLayout *gridLayout_2;
-    QCheckBox *ignoreWithoutDot;
-    QSpacerItem *horizontalSpacer;
-    QCheckBox *useColor;
-    QCheckBox *restrictPosition;
-    QHBoxLayout *horizontalLayout;
-    QCheckBox *autoCorrect;
-    QCheckBox *autoCorrectOnlyExport;
-    QHBoxLayout *horizontalLayout_2;
-    QCheckBox *showMask;
-    QGridLayout *gridLayout;
-    QLabel *label;
-    QSpinBox *closeRadius;
-    QLabel *label_2;
-    QSpinBox *openRadius;
-    QCheckBox *useOpen;
-    QLabel *label_3;
-    QSpinBox *minArea;
-    QLabel *label_4;
-    QLabel *label_5;
-    QSpinBox *opacity;
-    QCheckBox *maskMask;
-    QDoubleSpinBox *maxRatio;
-    QCheckBox *useClose;
-    QSpinBox *maxArea;
-    QCheckBox *useHeadSize;
-
-    void setupUi(QWidget *MultiColorMarker)
-    {
-        if (MultiColorMarker->objectName().isEmpty())
-            MultiColorMarker->setObjectName(QString::fromUtf8("MultiColorMarker"));
-        MultiColorMarker->resize(369, 370);
-        verticalLayout = new QVBoxLayout(MultiColorMarker);
-        verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
-        verticalLayout_2 = new QVBoxLayout();
-        verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
-        gridLayout_3 = new QGridLayout();
-        gridLayout_3->setObjectName(QString::fromUtf8("gridLayout_3"));
-        useDot = new QCheckBox(MultiColorMarker);
-        useDot->setObjectName(QString::fromUtf8("useDot"));
-        useDot->setChecked(true);
-
-        gridLayout_3->addWidget(useDot, 0, 0, 1, 1);
-
-        dotSize = new QDoubleSpinBox(MultiColorMarker);
-        dotSize->setObjectName(QString::fromUtf8("dotSize"));
-        dotSize->setMinimum(0.100000000000000);
-        dotSize->setValue(5.000000000000000);
-
-        gridLayout_3->addWidget(dotSize, 0, 1, 1, 1);
-
-        horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
-        gridLayout_3->addItem(horizontalSpacer_2, 0, 2, 1, 1);
-
-
-        verticalLayout_2->addLayout(gridLayout_3);
-
-        gridLayout_2 = new QGridLayout();
-        gridLayout_2->setObjectName(QString::fromUtf8("gridLayout_2"));
-        ignoreWithoutDot = new QCheckBox(MultiColorMarker);
-        ignoreWithoutDot->setObjectName(QString::fromUtf8("ignoreWithoutDot"));
-        ignoreWithoutDot->setChecked(true);
-
-        gridLayout_2->addWidget(ignoreWithoutDot, 0, 1, 1, 1);
-
-        horizontalSpacer = new QSpacerItem(20, 20, QSizePolicy::Fixed, QSizePolicy::Minimum);
-
-        gridLayout_2->addItem(horizontalSpacer, 0, 0, 1, 1);
-
-        useColor = new QCheckBox(MultiColorMarker);
-        useColor->setObjectName(QString::fromUtf8("useColor"));
-
-        gridLayout_2->addWidget(useColor, 1, 1, 1, 1);
-
-        restrictPosition = new QCheckBox(MultiColorMarker);
-        restrictPosition->setObjectName(QString::fromUtf8("restrictPosition"));
-
-        gridLayout_2->addWidget(restrictPosition, 2, 1, 1, 1);
-
-
-        verticalLayout_2->addLayout(gridLayout_2);
-
-
-        verticalLayout->addLayout(verticalLayout_2);
-
-        horizontalLayout = new QHBoxLayout();
-        horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
-        autoCorrect = new QCheckBox(MultiColorMarker);
-        autoCorrect->setObjectName(QString::fromUtf8("autoCorrect"));
-
-        horizontalLayout->addWidget(autoCorrect);
-
-        autoCorrectOnlyExport = new QCheckBox(MultiColorMarker);
-        autoCorrectOnlyExport->setObjectName(QString::fromUtf8("autoCorrectOnlyExport"));
-
-        horizontalLayout->addWidget(autoCorrectOnlyExport);
-
-
-        verticalLayout->addLayout(horizontalLayout);
-
-        horizontalLayout_2 = new QHBoxLayout();
-        horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
-        showMask = new QCheckBox(MultiColorMarker);
-        showMask->setObjectName(QString::fromUtf8("showMask"));
-
-        horizontalLayout_2->addWidget(showMask);
-
-
-        verticalLayout->addLayout(horizontalLayout_2);
-
-        gridLayout = new QGridLayout();
-        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
-        label = new QLabel(MultiColorMarker);
-        label->setObjectName(QString::fromUtf8("label"));
-
-        gridLayout->addWidget(label, 1, 0, 1, 1);
-
-        closeRadius = new QSpinBox(MultiColorMarker);
-        closeRadius->setObjectName(QString::fromUtf8("closeRadius"));
-        closeRadius->setKeyboardTracking(false);
-        closeRadius->setMinimum(0);
-        closeRadius->setMaximum(99);
-        closeRadius->setSingleStep(1);
-        closeRadius->setValue(5);
-
-        gridLayout->addWidget(closeRadius, 1, 1, 1, 1);
-
-        label_2 = new QLabel(MultiColorMarker);
-        label_2->setObjectName(QString::fromUtf8("label_2"));
-
-        gridLayout->addWidget(label_2, 2, 0, 1, 1);
-
-        openRadius = new QSpinBox(MultiColorMarker);
-        openRadius->setObjectName(QString::fromUtf8("openRadius"));
-        openRadius->setKeyboardTracking(false);
-        openRadius->setMinimum(0);
-        openRadius->setMaximum(99);
-        openRadius->setSingleStep(1);
-        openRadius->setValue(5);
-
-        gridLayout->addWidget(openRadius, 2, 1, 1, 1);
-
-        useOpen = new QCheckBox(MultiColorMarker);
-        useOpen->setObjectName(QString::fromUtf8("useOpen"));
-        useOpen->setChecked(true);
-
-        gridLayout->addWidget(useOpen, 2, 2, 1, 1);
-
-        label_3 = new QLabel(MultiColorMarker);
-        label_3->setObjectName(QString::fromUtf8("label_3"));
-
-        gridLayout->addWidget(label_3, 3, 0, 1, 1);
-
-        minArea = new QSpinBox(MultiColorMarker);
-        minArea->setObjectName(QString::fromUtf8("minArea"));
-        minArea->setKeyboardTracking(false);
-        minArea->setMinimum(1);
-        minArea->setMaximum(100000);
-        minArea->setSingleStep(100);
-        minArea->setValue(1000);
-
-        gridLayout->addWidget(minArea, 3, 1, 1, 1);
-
-        label_4 = new QLabel(MultiColorMarker);
-        label_4->setObjectName(QString::fromUtf8("label_4"));
-
-        gridLayout->addWidget(label_4, 4, 0, 1, 1);
-
-        label_5 = new QLabel(MultiColorMarker);
-        label_5->setObjectName(QString::fromUtf8("label_5"));
-
-        gridLayout->addWidget(label_5, 8, 0, 1, 1);
-
-        opacity = new QSpinBox(MultiColorMarker);
-        opacity->setObjectName(QString::fromUtf8("opacity"));
-        opacity->setMaximum(100);
-        opacity->setValue(100);
-
-        gridLayout->addWidget(opacity, 8, 1, 1, 1);
-
-        maskMask = new QCheckBox(MultiColorMarker);
-        maskMask->setObjectName(QString::fromUtf8("maskMask"));
-        maskMask->setChecked(true);
-
-        gridLayout->addWidget(maskMask, 8, 2, 1, 1);
-
-        maxRatio = new QDoubleSpinBox(MultiColorMarker);
-        maxRatio->setObjectName(QString::fromUtf8("maxRatio"));
-        maxRatio->setMinimum(1.000000000000000);
-        maxRatio->setValue(2.000000000000000);
-
-        gridLayout->addWidget(maxRatio, 4, 1, 1, 1);
-
-        useClose = new QCheckBox(MultiColorMarker);
-        useClose->setObjectName(QString::fromUtf8("useClose"));
-        useClose->setChecked(true);
-
-        gridLayout->addWidget(useClose, 1, 2, 1, 1);
-
-        maxArea = new QSpinBox(MultiColorMarker);
-        maxArea->setObjectName(QString::fromUtf8("maxArea"));
-        maxArea->setMinimum(1);
-        maxArea->setMaximum(100000);
-        maxArea->setSingleStep(100);
-        maxArea->setValue(5000);
-
-        gridLayout->addWidget(maxArea, 3, 2, 1, 1);
-
-        useHeadSize = new QCheckBox(MultiColorMarker);
-        useHeadSize->setObjectName(QString::fromUtf8("useHeadSize"));
-
-        gridLayout->addWidget(useHeadSize, 3, 3, 1, 1);
-
-
-        verticalLayout->addLayout(gridLayout);
-
-
-        retranslateUi(MultiColorMarker);
-
-        QMetaObject::connectSlotsByName(MultiColorMarker);
-    } // setupUi
-
-    void retranslateUi(QWidget *MultiColorMarker)
-    {
-#if QT_CONFIG(tooltip)
-        useDot->setToolTip(QCoreApplication::translate("MultiColorMarker", "using black dot on top of the hat for tracking", nullptr));
-#endif // QT_CONFIG(tooltip)
-        useDot->setText(QCoreApplication::translate("MultiColorMarker", "use black dot, size [cm]:", nullptr));
-#if QT_CONFIG(tooltip)
-        ignoreWithoutDot->setToolTip(QCoreApplication::translate("MultiColorMarker", "ignore head without black dot, if not visible / surrounded by color", nullptr));
-#endif // QT_CONFIG(tooltip)
-        ignoreWithoutDot->setText(QCoreApplication::translate("MultiColorMarker", "ignore head without black dot", nullptr));
-#if QT_CONFIG(tooltip)
-        useColor->setToolTip(QCoreApplication::translate("MultiColorMarker", "use color marker while tracking for big tracking error", nullptr));
-#endif // QT_CONFIG(tooltip)
-        useColor->setText(QCoreApplication::translate("MultiColorMarker", "use color marker for big error", nullptr));
-#if QT_CONFIG(tooltip)
-        restrictPosition->setToolTip(QCoreApplication::translate("MultiColorMarker", "restrict position of black dot on centre of head according to viewing angle", nullptr));
-#endif // QT_CONFIG(tooltip)
-        restrictPosition->setText(QCoreApplication::translate("MultiColorMarker", "restrict position of black dot", nullptr));
-#if QT_CONFIG(tooltip)
-        autoCorrect->setToolTip(QCoreApplication::translate("MultiColorMarker", "automatically correct the position of the person according to angle of view", nullptr));
-#endif // QT_CONFIG(tooltip)
-        autoCorrect->setText(QCoreApplication::translate("MultiColorMarker", "auto correct perspective view", nullptr));
-#if QT_CONFIG(tooltip)
-        autoCorrectOnlyExport->setToolTip(QCoreApplication::translate("MultiColorMarker", "if auto correct is enabled only the exported real trajectories will be corrected", nullptr));
-#endif // QT_CONFIG(tooltip)
-        autoCorrectOnlyExport->setText(QCoreApplication::translate("MultiColorMarker", "only for export", nullptr));
-#if QT_CONFIG(tooltip)
-        showMask->setToolTip(QCoreApplication::translate("MultiColorMarker", "show mask in main window", nullptr));
-#endif // QT_CONFIG(tooltip)
-        showMask->setText(QCoreApplication::translate("MultiColorMarker", "show mask", nullptr));
-        label->setText(QCoreApplication::translate("MultiColorMarker", "close radius", nullptr));
-        label_2->setText(QCoreApplication::translate("MultiColorMarker", "open radius", nullptr));
-        useOpen->setText(QCoreApplication::translate("MultiColorMarker", "use", nullptr));
-        label_3->setText(QCoreApplication::translate("MultiColorMarker", "area", nullptr));
-        label_4->setText(QCoreApplication::translate("MultiColorMarker", "max ratio", nullptr));
-        label_5->setText(QCoreApplication::translate("MultiColorMarker", "opacity", nullptr));
-        maskMask->setText(QCoreApplication::translate("MultiColorMarker", "mask", nullptr));
-        useClose->setText(QCoreApplication::translate("MultiColorMarker", "use", nullptr));
-        useHeadSize->setText(QCoreApplication::translate("MultiColorMarker", "head size", nullptr));
-        (void)MultiColorMarker;
-    } // retranslateUi
-
-};
-
-namespace Ui {
-    class MultiColorMarker: public Ui_MultiColorMarker {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_MULTICOLORMARKER_H
diff --git a/ui/ui_stereo.h b/ui/ui_stereo.h
deleted file mode 100644
index 057644cf36b78c72fd53c58670727d48b2e6cbe8..0000000000000000000000000000000000000000
--- a/ui/ui_stereo.h
+++ /dev/null
@@ -1,263 +0,0 @@
-/********************************************************************************
-** Form generated from reading UI file 'stereo.ui'
-**
-** Created by: Qt User Interface Compiler version 5.14.1
-**
-** WARNING! All changes made in this file will be lost when recompiling UI file!
-********************************************************************************/
-
-#ifndef UI_STEREO_H
-#define UI_STEREO_H
-
-#include <QtCore/QVariant>
-#include <QtWidgets/QApplication>
-#include <QtWidgets/QCheckBox>
-#include <QtWidgets/QComboBox>
-#include <QtWidgets/QGridLayout>
-#include <QtWidgets/QHBoxLayout>
-#include <QtWidgets/QLabel>
-#include <QtWidgets/QPushButton>
-#include <QtWidgets/QSpinBox>
-#include <QtWidgets/QVBoxLayout>
-#include <QtWidgets/QWidget>
-
-QT_BEGIN_NAMESPACE
-
-class Ui_Stereo
-{
-public:
-    QVBoxLayout *verticalLayout;
-    QHBoxLayout *horizontalLayout;
-    QCheckBox *stereoShowDisparity;
-    QComboBox *stereoColor;
-    QHBoxLayout *horizontalLayout_4;
-    QCheckBox *stereoUseForReco;
-    QComboBox *stereoDispAlgo;
-    QHBoxLayout *horizontalLayout_2;
-    QCheckBox *stereoUseForHeight;
-    QCheckBox *stereoUseForHeightEver;
-    QHBoxLayout *horizontalLayout_3;
-    QCheckBox *stereoUseForExport;
-    QCheckBox *stereoUseCalibrationCenter;
-    QGridLayout *gridLayout;
-    QLabel *label;
-    QLabel *label_2;
-    QLabel *label_4;
-    QSpinBox *stereoMaskSize;
-    QSpinBox *edgeMaskSize;
-    QSpinBox *maxDisparity;
-    QSpinBox *minDisparity;
-    QLabel *label_3;
-    QCheckBox *useEdge;
-    QLabel *label_5;
-    QSpinBox *opacity;
-    QCheckBox *hideWrong;
-    QPushButton *stereoExport;
-
-    void setupUi(QWidget *Stereo)
-    {
-        if (Stereo->objectName().isEmpty())
-            Stereo->setObjectName(QString::fromUtf8("Stereo"));
-        Stereo->resize(267, 274);
-        verticalLayout = new QVBoxLayout(Stereo);
-        verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
-        horizontalLayout = new QHBoxLayout();
-        horizontalLayout->setSpacing(2);
-        horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
-        stereoShowDisparity = new QCheckBox(Stereo);
-        stereoShowDisparity->setObjectName(QString::fromUtf8("stereoShowDisparity"));
-
-        horizontalLayout->addWidget(stereoShowDisparity);
-
-        stereoColor = new QComboBox(Stereo);
-        stereoColor->setObjectName(QString::fromUtf8("stereoColor"));
-
-        horizontalLayout->addWidget(stereoColor);
-
-
-        verticalLayout->addLayout(horizontalLayout);
-
-        horizontalLayout_4 = new QHBoxLayout();
-        horizontalLayout_4->setSpacing(2);
-        horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4"));
-        stereoUseForReco = new QCheckBox(Stereo);
-        stereoUseForReco->setObjectName(QString::fromUtf8("stereoUseForReco"));
-
-        horizontalLayout_4->addWidget(stereoUseForReco);
-
-        stereoDispAlgo = new QComboBox(Stereo);
-        stereoDispAlgo->setObjectName(QString::fromUtf8("stereoDispAlgo"));
-
-        horizontalLayout_4->addWidget(stereoDispAlgo);
-
-
-        verticalLayout->addLayout(horizontalLayout_4);
-
-        horizontalLayout_2 = new QHBoxLayout();
-        horizontalLayout_2->setSpacing(6);
-        horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
-        stereoUseForHeight = new QCheckBox(Stereo);
-        stereoUseForHeight->setObjectName(QString::fromUtf8("stereoUseForHeight"));
-
-        horizontalLayout_2->addWidget(stereoUseForHeight);
-
-        stereoUseForHeightEver = new QCheckBox(Stereo);
-        stereoUseForHeightEver->setObjectName(QString::fromUtf8("stereoUseForHeightEver"));
-        stereoUseForHeightEver->setEnabled(true);
-        stereoUseForHeightEver->setChecked(true);
-
-        horizontalLayout_2->addWidget(stereoUseForHeightEver);
-
-
-        verticalLayout->addLayout(horizontalLayout_2);
-
-        horizontalLayout_3 = new QHBoxLayout();
-        horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
-        stereoUseForExport = new QCheckBox(Stereo);
-        stereoUseForExport->setObjectName(QString::fromUtf8("stereoUseForExport"));
-
-        horizontalLayout_3->addWidget(stereoUseForExport);
-
-        stereoUseCalibrationCenter = new QCheckBox(Stereo);
-        stereoUseCalibrationCenter->setObjectName(QString::fromUtf8("stereoUseCalibrationCenter"));
-        stereoUseCalibrationCenter->setChecked(true);
-
-        horizontalLayout_3->addWidget(stereoUseCalibrationCenter);
-
-
-        verticalLayout->addLayout(horizontalLayout_3);
-
-        gridLayout = new QGridLayout();
-        gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
-        label = new QLabel(Stereo);
-        label->setObjectName(QString::fromUtf8("label"));
-
-        gridLayout->addWidget(label, 1, 0, 1, 1);
-
-        label_2 = new QLabel(Stereo);
-        label_2->setObjectName(QString::fromUtf8("label_2"));
-
-        gridLayout->addWidget(label_2, 2, 0, 1, 1);
-
-        label_4 = new QLabel(Stereo);
-        label_4->setObjectName(QString::fromUtf8("label_4"));
-
-        gridLayout->addWidget(label_4, 4, 0, 1, 1);
-
-        stereoMaskSize = new QSpinBox(Stereo);
-        stereoMaskSize->setObjectName(QString::fromUtf8("stereoMaskSize"));
-        stereoMaskSize->setKeyboardTracking(false);
-        stereoMaskSize->setMinimum(1);
-        stereoMaskSize->setMaximum(23);
-        stereoMaskSize->setSingleStep(2);
-        stereoMaskSize->setValue(7);
-
-        gridLayout->addWidget(stereoMaskSize, 1, 1, 1, 1);
-
-        edgeMaskSize = new QSpinBox(Stereo);
-        edgeMaskSize->setObjectName(QString::fromUtf8("edgeMaskSize"));
-        edgeMaskSize->setKeyboardTracking(false);
-        edgeMaskSize->setMinimum(3);
-        edgeMaskSize->setMaximum(11);
-        edgeMaskSize->setSingleStep(2);
-        edgeMaskSize->setValue(5);
-
-        gridLayout->addWidget(edgeMaskSize, 2, 1, 1, 1);
-
-        maxDisparity = new QSpinBox(Stereo);
-        maxDisparity->setObjectName(QString::fromUtf8("maxDisparity"));
-        maxDisparity->setKeyboardTracking(false);
-        maxDisparity->setMaximum(999);
-        maxDisparity->setValue(100);
-
-        gridLayout->addWidget(maxDisparity, 3, 1, 1, 1);
-
-        minDisparity = new QSpinBox(Stereo);
-        minDisparity->setObjectName(QString::fromUtf8("minDisparity"));
-        minDisparity->setKeyboardTracking(false);
-        minDisparity->setMaximum(999);
-
-        gridLayout->addWidget(minDisparity, 4, 1, 1, 1);
-
-        label_3 = new QLabel(Stereo);
-        label_3->setObjectName(QString::fromUtf8("label_3"));
-
-        gridLayout->addWidget(label_3, 3, 0, 1, 1);
-
-        useEdge = new QCheckBox(Stereo);
-        useEdge->setObjectName(QString::fromUtf8("useEdge"));
-
-        gridLayout->addWidget(useEdge, 2, 2, 1, 1);
-
-        label_5 = new QLabel(Stereo);
-        label_5->setObjectName(QString::fromUtf8("label_5"));
-
-        gridLayout->addWidget(label_5, 5, 0, 1, 1);
-
-        opacity = new QSpinBox(Stereo);
-        opacity->setObjectName(QString::fromUtf8("opacity"));
-        opacity->setMaximum(100);
-        opacity->setValue(100);
-
-        gridLayout->addWidget(opacity, 5, 1, 1, 1);
-
-        hideWrong = new QCheckBox(Stereo);
-        hideWrong->setObjectName(QString::fromUtf8("hideWrong"));
-        hideWrong->setChecked(true);
-
-        gridLayout->addWidget(hideWrong, 5, 2, 1, 1);
-
-
-        verticalLayout->addLayout(gridLayout);
-
-        stereoExport = new QPushButton(Stereo);
-        stereoExport->setObjectName(QString::fromUtf8("stereoExport"));
-
-        verticalLayout->addWidget(stereoExport);
-
-
-        retranslateUi(Stereo);
-
-        QMetaObject::connectSlotsByName(Stereo);
-    } // setupUi
-
-    void retranslateUi(QWidget *Stereo)
-    {
-        stereoShowDisparity->setText(QCoreApplication::translate("Stereo", "show disparity", nullptr));
-#if QT_CONFIG(tooltip)
-        stereoUseForReco->setToolTip(QCoreApplication::translate("Stereo", "the recognition is not only done by markers; the height profile of a person is searched inside the disparity map", nullptr));
-#endif // QT_CONFIG(tooltip)
-        stereoUseForReco->setText(QCoreApplication::translate("Stereo", "use for recognition", nullptr));
-#if QT_CONFIG(tooltip)
-        stereoUseForHeight->setToolTip(QCoreApplication::translate("Stereo", "enable, if the disparity should be used to measure the position in 3D space and use it for height measurement", nullptr));
-#endif // QT_CONFIG(tooltip)
-        stereoUseForHeight->setText(QCoreApplication::translate("Stereo", "use for height/pos measurement", nullptr));
-        stereoUseForHeightEver->setText(QCoreApplication::translate("Stereo", "ever", nullptr));
-#if QT_CONFIG(tooltip)
-        stereoUseForExport->setToolTip(QCoreApplication::translate("Stereo", "the calculated 3D data is directly used for trajectory export; values in the calibration tab are ignored (for uneven videos)", nullptr));
-#endif // QT_CONFIG(tooltip)
-        stereoUseForExport->setText(QCoreApplication::translate("Stereo", "use for trajectory export", nullptr));
-#if QT_CONFIG(tooltip)
-        stereoUseCalibrationCenter->setToolTip(QCoreApplication::translate("Stereo", "while exporting pointGrey data directly, the coordinate center of calibration tab is used", nullptr));
-#endif // QT_CONFIG(tooltip)
-        stereoUseCalibrationCenter->setText(QCoreApplication::translate("Stereo", "use calib center", nullptr));
-        label->setText(QCoreApplication::translate("Stereo", "stereo mask size: ", nullptr));
-        label_2->setText(QCoreApplication::translate("Stereo", "edge mask size: ", nullptr));
-        label_4->setText(QCoreApplication::translate("Stereo", "min disparity", nullptr));
-        label_3->setText(QCoreApplication::translate("Stereo", "max disparity", nullptr));
-        useEdge->setText(QCoreApplication::translate("Stereo", "use", nullptr));
-        label_5->setText(QCoreApplication::translate("Stereo", "opacity", nullptr));
-        hideWrong->setText(QCoreApplication::translate("Stereo", "hide", nullptr));
-        stereoExport->setText(QCoreApplication::translate("Stereo", "export point cloud", nullptr));
-        (void)Stereo;
-    } // retranslateUi
-
-};
-
-namespace Ui {
-    class Stereo: public Ui_Stereo {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_STEREO_H