diff --git a/SampleCaptureHandlers/CSampleCaptureHandler.cpp b/SampleCaptureHandlers/CSampleCaptureHandler.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..c35850b5f4bf7a7dd467dee790f99f94bb9e50fc
--- /dev/null
+++ b/SampleCaptureHandlers/CSampleCaptureHandler.cpp
@@ -0,0 +1,107 @@
+#include "CSampleCaptureHandler.h"
+#include<QDebug>
+#include<QWidget>
+#include<QImage>
+#include<QString>
+
+using namespace std;
+#define LengthOfAruco 3
+
+void CSampleCaptureHandler::DoOnImageCaptured(CImageDataPointer& objImageDataPointer, void* pUserParam)
+{
+	QImage image;
+	if (GX_FRAME_STATUS_SUCCESS == objImageDataPointer->GetStatus())
+	{
+		STOP_BIT = false;
+		uint64_t nWidth = objImageDataPointer->GetWidth();
+		uint64_t nHeight = objImageDataPointer->GetHeight();
+		//GX_VALID_BIT_LIST emValidBits = GX_BIT_0_7;
+		BYTE* pBuffer = NULL;
+		if (objImageDataPointer.IsNull())
+		{
+			throw std::runtime_error("NULL pointer dereferenced");
+		}
+		auto emValidBits = CSampleCaptureHandler::
+			GetBestValudBit(objImageDataPointer->GetPixelFormat());
+
+		pBuffer = (BYTE*)objImageDataPointer->ConvertToRGB24(emValidBits, GX_RAW2RGB_NEIGHBOUR, true);
+
+		QImage qimage(pBuffer, nWidth, nHeight, QImage::Format_RGB888);
+		image = qimage;
+		if (!image.isNull()) {
+			if (isSaved) {
+				string adress = "./image/" + to_string(index++) + ".bmp";
+				QString qadress = QString::fromStdString(adress);
+				image.save(qadress);
+				isSaved = false;
+			}
+			count--;
+			//if (count == 0) {
+			emit sendImage(image);
+			count = 5;
+			//}
+		}
+		STOP_BIT = true;
+	}
+	STOP_BIT = true;
+}
+
+GX_VALID_BIT_LIST CSampleCaptureHandler::GetBestValudBit(GX_PIXEL_FORMAT_ENTRY emPixelFormatEntry)
+{
+	GX_VALID_BIT_LIST emValidBits = GX_BIT_0_7;
+	switch (emPixelFormatEntry)
+	{
+	case GX_PIXEL_FORMAT_MONO8:
+	case GX_PIXEL_FORMAT_BAYER_GR8:
+	case GX_PIXEL_FORMAT_BAYER_RG8:
+	case GX_PIXEL_FORMAT_BAYER_GB8:
+	case GX_PIXEL_FORMAT_BAYER_BG8:
+	{
+		emValidBits = GX_BIT_0_7;
+		break;
+	}
+	case GX_PIXEL_FORMAT_MONO10:
+	case GX_PIXEL_FORMAT_BAYER_GR10:
+	case GX_PIXEL_FORMAT_BAYER_RG10:
+	case GX_PIXEL_FORMAT_BAYER_GB10:
+	case GX_PIXEL_FORMAT_BAYER_BG10:
+	{
+		emValidBits = GX_BIT_2_9;
+		break;
+	}
+	case GX_PIXEL_FORMAT_MONO12:
+	case GX_PIXEL_FORMAT_BAYER_GR12:
+	case GX_PIXEL_FORMAT_BAYER_RG12:
+	case GX_PIXEL_FORMAT_BAYER_GB12:
+	case GX_PIXEL_FORMAT_BAYER_BG12:
+	{
+		emValidBits = GX_BIT_4_11;
+		break;
+	}
+	case GX_PIXEL_FORMAT_MONO14:
+	{
+		break;
+	}
+	case GX_PIXEL_FORMAT_MONO16:
+	case GX_PIXEL_FORMAT_BAYER_GR16:
+	case GX_PIXEL_FORMAT_BAYER_RG16:
+	case GX_PIXEL_FORMAT_BAYER_GB16:
+	case GX_PIXEL_FORMAT_BAYER_BG16:
+	{
+		break;
+	}
+	default:
+		break;
+	}
+	return emValidBits;
+}
+
+
+
+void CSampleCaptureHandler::saveImage()
+{
+	isSaved = true;
+}
+
+
+
diff --git a/SampleCaptureHandlers/CSampleCaptureHandler.h b/SampleCaptureHandlers/CSampleCaptureHandler.h
new file mode 100644
index 0000000000000000000000000000000000000000..99d610ce577a1825b4773c8eee090a67b6076c16
--- /dev/null
+++ b/SampleCaptureHandlers/CSampleCaptureHandler.h
@@ -0,0 +1,32 @@
+#pragma once
+#include"GalaxyIncludes.h"
+#include<QWidget>
+#include<QImage>
+#include<QObject>
+
+enum TypeOfPoint {
+	LaserPoint, FixPoint, ThreSeg
+};
+
+class CSampleCaptureHandler : public QObject, public ICaptureEventHandler
+{
+	Q_OBJECT
+
+public:
+
+	virtual void DoOnImageCaptured(CImageDataPointer& objImageDataPointer, void* pUserParam);
+	static GX_VALID_BIT_LIST GetBestValudBit(GX_PIXEL_FORMAT_ENTRY emPixelFormatEntry);
+
+	void saveImage();
+
+public:
+	bool STOP_BIT = true;
+
+signals:
+	void sendImage(QImage);
+
+private:
+	bool isSaved = false;
+	int index = 1;
+	int count = 5;
+};
diff --git a/libs/GxIAPICPPEx/src/GxSingleCam/.vs/GxSingleCam_VS2015/v16/.suo b/libs/GxIAPICPPEx/src/GxSingleCam/.vs/GxSingleCam_VS2015/v16/.suo
new file mode 100644
index 0000000000000000000000000000000000000000..439c568ac9dda7eb195ea901cdda4a2011d580a3
Binary files /dev/null and b/libs/GxIAPICPPEx/src/GxSingleCam/.vs/GxSingleCam_VS2015/v16/.suo differ
diff --git a/libs/GxIAPICPPEx/src/GxSingleCam/.vs/GxSingleCam_VS2015/v16/Browse.VC.db b/libs/GxIAPICPPEx/src/GxSingleCam/.vs/GxSingleCam_VS2015/v16/Browse.VC.db
new file mode 100644
index 0000000000000000000000000000000000000000..6a7f435be5ec7915cf2cba28ee0aa7b0d1007763
Binary files /dev/null and b/libs/GxIAPICPPEx/src/GxSingleCam/.vs/GxSingleCam_VS2015/v16/Browse.VC.db differ
diff --git a/libs/GxIAPICPPEx/src/GxSingleCam/Debug/GxSingleCam_VS2015.log b/libs/GxIAPICPPEx/src/GxSingleCam/Debug/GxSingleCam_VS2015.log
new file mode 100644
index 0000000000000000000000000000000000000000..1ba07b9647cd5d290c167bc36f3e5efbcc7278c2
--- /dev/null
+++ b/libs/GxIAPICPPEx/src/GxSingleCam/Debug/GxSingleCam_VS2015.log
@@ -0,0 +1 @@
+C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(421,5): error MSB8041: MFC libraries are required for this project. Install them from the Visual Studio installer (Individual Components tab) for any toolsets and architectures being used.
diff --git a/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.sln b/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.sln
index 74b3256a07e9813d9468f667c7abc43d18c58732..dbdfeddb8ff680ea2bf6ceb2e03dd3661a6f2bdb 100644
--- a/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.sln
+++ b/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.sln
@@ -1,7 +1,9 @@
 
 Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2015
-Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GxSingleCam", "GxSingleCam_VS2015.vcxproj", "{448C8A74-B1D6-44FE-AB90-610E5A094C56}"
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29806.167
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "GxSingleCam_VS2015", "GxSingleCam_VS2015.vcxproj", "{448C8A74-B1D6-44FE-AB90-610E5A094C56}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -23,4 +25,7 @@ Global
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
 	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {C6922705-7CB6-43FD-9AAC-B544F445B2D7}
+	EndGlobalSection
 EndGlobal
diff --git a/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.vcxproj b/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.vcxproj
index fb4fed431d12ec737bb32a61a4adfbc62b20c8b2..2dd75cd1c4af6233379ab89bcb96f1943dff791e 100644
--- a/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.vcxproj
+++ b/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.vcxproj
@@ -30,26 +30,26 @@
     <UseOfMfc>Static</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>Static</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>Static</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
     <WholeProgramOptimization>true</WholeProgramOptimization>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
     <ConfigurationType>Application</ConfigurationType>
     <UseOfMfc>Static</UseOfMfc>
     <CharacterSet>MultiByte</CharacterSet>
-    <PlatformToolset>v140</PlatformToolset>
+    <PlatformToolset>v142</PlatformToolset>
   </PropertyGroup>
   <Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" />
   <ImportGroup Label="ExtensionSettings">
diff --git a/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.vcxproj.user b/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.vcxproj.user
new file mode 100644
index 0000000000000000000000000000000000000000..88a550947edbc3c5003a41726f0749201fdb6822
--- /dev/null
+++ b/libs/GxIAPICPPEx/src/GxSingleCam/GxSingleCam_VS2015.vcxproj.user
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup />
+</Project>
\ No newline at end of file
diff --git a/libs/GxIAPICPPEx/src/GxSingleCam/RCa01256 b/libs/GxIAPICPPEx/src/GxSingleCam/RCa01256
new file mode 100644
index 0000000000000000000000000000000000000000..377681a89df17de39e629d57ede1ba42fff66309
Binary files /dev/null and b/libs/GxIAPICPPEx/src/GxSingleCam/RCa01256 differ
diff --git a/libs/GxIAPICPPEx/src/GxSingleCam/Release/GxSingleCam_VS2015.log b/libs/GxIAPICPPEx/src/GxSingleCam/Release/GxSingleCam_VS2015.log
new file mode 100644
index 0000000000000000000000000000000000000000..1ba07b9647cd5d290c167bc36f3e5efbcc7278c2
--- /dev/null
+++ b/libs/GxIAPICPPEx/src/GxSingleCam/Release/GxSingleCam_VS2015.log
@@ -0,0 +1 @@
+C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(421,5): error MSB8041: MFC libraries are required for this project. Install them from the Visual Studio installer (Individual Components tab) for any toolsets and architectures being used.
diff --git a/libs/GxIAPICPPEx/src/GxSingleCam/x64/Debug/GxSingleCam_VS2015.log b/libs/GxIAPICPPEx/src/GxSingleCam/x64/Debug/GxSingleCam_VS2015.log
new file mode 100644
index 0000000000000000000000000000000000000000..1ba07b9647cd5d290c167bc36f3e5efbcc7278c2
--- /dev/null
+++ b/libs/GxIAPICPPEx/src/GxSingleCam/x64/Debug/GxSingleCam_VS2015.log
@@ -0,0 +1 @@
+C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.CppBuild.targets(421,5): error MSB8041: MFC libraries are required for this project. Install them from the Visual Studio installer (Individual Components tab) for any toolsets and architectures being used.
diff --git a/materialscanner/camera-controller.cpp b/materialscanner/camera-controller.cpp
index 5aa0c66f3fd477c4e8d331bca6a2175e03935302..c1e7c47691fceef9f00d52ace74e58a7de30391a 100644
--- a/materialscanner/camera-controller.cpp
+++ b/materialscanner/camera-controller.cpp
@@ -1,10 +1,15 @@
 #include "camera-controller.h"
+#include<qdebug.h>
 
 using namespace std;
 
 cameraController::cameraController()
 {
     this->initCamera();
+    
+    pDeviceOfflineEventHandler = nullptr;
+    pFeatureEventHandler = nullptr;
+    hDeviceOffline = nullptr;
 }
 
 cameraController::~cameraController()
@@ -13,9 +18,73 @@ cameraController::~cameraController()
 
 bool cameraController::initCamera()
 {
+    isFinished = false;
+
+    //exposure time
+    double EPSTime = 0.0;
+
+   
+    bool bIsDeviceOpen = false;         
+    bool bIsStreamOpen = false;         
+
     try {
         cout << "Init camera..." << endl;
         IGXFactory::GetInstance().Init();
+
+        do {
+            gxdeviceinfo_vector vectorDeviceInfo;
+            IGXFactory::GetInstance().UpdateDeviceList(1000, vectorDeviceInfo);
+            if (0 == vectorDeviceInfo.size())
+            {
+                cout << "Kein Geraet verfuegbar " << endl;
+                break;
+            }
+
+            ObjDevicePtr = IGXFactory::GetInstance().OpenDeviceBySN(
+                vectorDeviceInfo[0].GetSN(),
+                GX_ACCESS_EXCLUSIVE);
+            bIsDeviceOpen = true;
+
+            //get remote device property controller
+            ObjFeatureControlPtr = ObjDevicePtr->GetRemoteFeatureControl();
+
+            int nStreamCount = ObjDevicePtr->GetStreamCount();
+
+            if (nStreamCount > 0)
+            {
+                ObjStreamPtr = ObjDevicePtr->OpenStream(0);
+                bIsStreamOpen = true;
+            }
+            else
+            {
+                cout << "Stream Count = 0" << endl;
+            }
+
+
+            GX_DEVICE_CLASS_LIST objDeviceClass = ObjDevicePtr->GetDeviceInfo().GetDeviceClass();
+            if (GX_DEVICE_CLASS_GEV == objDeviceClass)
+            {
+                // determine whether the device supports the streaming channel packet function
+                if (true == ObjFeatureControlPtr->IsImplemented("GevSCPSPacketSize"))
+                {
+                    int nPacketSize = ObjStreamPtr->GetOptimalPacketSize();
+                    ObjFeatureControlPtr->GetIntFeature("GevSCPSPacketSize")->SetValue(nPacketSize);
+                }
+            }
+            bool bBalanceWhiteAutoRead = false;
+
+            
+            ObjFeatureControlPtr->GetEnumFeature("AcquisitionMode")->SetValue("Continuous");
+            
+            m_bTriggerMode = ObjFeatureControlPtr->IsImplemented("TriggerMode");
+            if (m_bTriggerMode)
+            {
+                ObjFeatureControlPtr->GetEnumFeature("TriggerMode")->SetValue("Off");
+            }
+
+ 
+
+        } while (0);
     }
     catch (CGalaxyException& e)
     {
diff --git a/materialscanner/camera-controller.h b/materialscanner/camera-controller.h
index 67d62aa237fc07187208295f08883ae1817491c8..1a49edda750c5d5d3502fa293d609038d3e756a8 100644
--- a/materialscanner/camera-controller.h
+++ b/materialscanner/camera-controller.h
@@ -9,7 +9,23 @@ public:
     cameraController();
     ~cameraController();
 
+    bool isFinished = false;
+
+
 private:
     bool initCamera();
+
+    //GX_FEATURE_CALLBACK_HANDLE hFeatureEvent;
+    GX_DEVICE_OFFLINE_CALLBACK_HANDLE hDeviceOffline;
+    bool isOpenWhiteBalance = false;
+    bool m_bTriggerMode;
+
+    IDeviceOfflineEventHandler* pDeviceOfflineEventHandler;
+    IFeatureEventHandler* pFeatureEventHandler;
+
+    CGXDevicePointer ObjDevicePtr;
+    CGXStreamPointer ObjStreamPtr;
+    CGXFeatureControlPointer ObjFeatureControlPtr;
+    CGXFeatureControlPointer ObjStreamFeatureControlPtr;
     
 };
\ No newline at end of file
diff --git a/materialscanner/materialscanner.aps b/materialscanner/materialscanner.aps
new file mode 100644
index 0000000000000000000000000000000000000000..c65c71edbba6a6e00afa2efb4a17b281028c7392
Binary files /dev/null and b/materialscanner/materialscanner.aps differ
diff --git a/materialscanner/materialscanner.vcxproj.user b/materialscanner/materialscanner.vcxproj.user
index bebbcc833aede60fde5688699790457645c6e91c..35bca0569628ef77c36e3e0cfa09535ccb4813b6 100644
--- a/materialscanner/materialscanner.vcxproj.user
+++ b/materialscanner/materialscanner.vcxproj.user
@@ -2,9 +2,9 @@
 <Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup />
   <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
-    <QtLastBackgroundBuild>2022-03-30T18:51:51.6425632Z</QtLastBackgroundBuild>
+    <QtLastBackgroundBuild>2022-04-06T13:49:37.7458166Z</QtLastBackgroundBuild>
   </PropertyGroup>
   <PropertyGroup Label="QtSettings" Condition="'$(Configuration)|$(Platform)'=='Release|x64'">
-    <QtLastBackgroundBuild>2022-03-30T18:51:52.7965634Z</QtLastBackgroundBuild>
+    <QtLastBackgroundBuild>2022-04-06T13:49:38.5088888Z</QtLastBackgroundBuild>
   </PropertyGroup>
 </Project>
\ No newline at end of file
diff --git a/materialscanner/x64/Debug/materialscanner.log b/materialscanner/x64/Debug/materialscanner.log
index 9a108be9464a8d93ce9362bb8988de397d72a1c5..a693b6f60e4be2fccecd3041e54491b14acaa588 100644
--- a/materialscanner/x64/Debug/materialscanner.log
+++ b/materialscanner/x64/Debug/materialscanner.log
@@ -1,10 +1,2 @@
-  Reading Qt configuration (C:/Qt/6.2.4/msvc2019_64/bin/qmake)
-  lights-controller.cpp
-  main.cpp
-C:\dev\materialscanner\materialscanner-qt\libs\mqtt\paho-cpp\include\mqtt\client.h(71,8): warning C4834: discarding return value of function with 'nodiscard' attribute (compiling source file lights-controller.cpp)
-C:\dev\materialscanner\materialscanner-qt\libs\mqtt\paho-cpp\include\mqtt\client.h(74,8): warning C4834: discarding return value of function with 'nodiscard' attribute (compiling source file lights-controller.cpp)
-C:\dev\materialscanner\materialscanner-qt\libs\mqtt\paho-cpp\include\mqtt\client.h(81,8): warning C4834: discarding return value of function with 'nodiscard' attribute (compiling source file lights-controller.cpp)
-C:\dev\materialscanner\materialscanner-qt\libs\mqtt\paho-cpp\include\mqtt\client.h(71,8): warning C4834: discarding return value of function with 'nodiscard' attribute (compiling source file main.cpp)
-C:\dev\materialscanner\materialscanner-qt\libs\mqtt\paho-cpp\include\mqtt\client.h(74,8): warning C4834: discarding return value of function with 'nodiscard' attribute (compiling source file main.cpp)
-C:\dev\materialscanner\materialscanner-qt\libs\mqtt\paho-cpp\include\mqtt\client.h(81,8): warning C4834: discarding return value of function with 'nodiscard' attribute (compiling source file main.cpp)
-  materialscanner.vcxproj -> C:\dev\materialscanner\materialscanner-qt\x64\Debug\materialscanner.exe
+  Reading Qt configuration (D:/Qt/6.2.4/msvc2019_64/bin/qmake)
+  materialscanner.vcxproj -> D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\x64\Debug\materialscanner.exe
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/CL.command.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/CL.command.1.tlog
index 5c5ca60ab58ffd175918cb6c5d6cfe3fc5e5ce64..fb6fbfda40c71878ec500842d25b215090739888 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/CL.command.1.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/CL.command.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/CL.read.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/CL.read.1.tlog
index 63a2fb13e6bb1fd8f1371d25501d13c805f42591..b3412a2b898d85672e6226b06220ad82f0d21226 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/CL.read.1.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/CL.read.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/CL.write.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/CL.write.1.tlog
index 5415e52c40feedf4e61dcfba22006a3f69d329cf..e486d02e0121e0f9c686d0716cba6e790851bb06 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/CL.write.1.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/CL.write.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/link.13596.delete.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/link.13596.delete.1.tlog
new file mode 100644
index 0000000000000000000000000000000000000000..9724c710ebd3bc2107946ca4d250e0013e79e492
Binary files /dev/null and b/materialscanner/x64/Debug/materialscanner.tlog/link.13596.delete.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/link.command.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/link.command.1.tlog
index a43d21184baee616fc9c9adfac4900ccdd6cdf24..d968780efc5b012163f3d5773b4a28ffd86fdb88 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/link.command.1.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/link.command.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/link.delete.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/link.delete.1.tlog
new file mode 100644
index 0000000000000000000000000000000000000000..67f07a34213fc55144bc5f53af93c15f17d9a1c2
Binary files /dev/null and b/materialscanner/x64/Debug/materialscanner.tlog/link.delete.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/link.read.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/link.read.1.tlog
index c19f136f948c8e76630325e9d2a58ec1582011ee..36ca964bc630c4b4af2edc5990a0eed15f76c729 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/link.read.1.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/link.read.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/link.write.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/link.write.1.tlog
index a9dc031f8a5b76d26ee7aac522e92c9bd47f6526..88a960132faccb567008f863a4618ef9a3a1ebb1 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/link.write.1.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/link.write.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/materialscanner.lastbuildstate b/materialscanner/x64/Debug/materialscanner.tlog/materialscanner.lastbuildstate
index 83194a5358960b68984ac40dbbae95f5888d499c..d604fbbd6022cf2b5216ef9ce5ea64859f2bf57c 100644
--- a/materialscanner/x64/Debug/materialscanner.tlog/materialscanner.lastbuildstate
+++ b/materialscanner/x64/Debug/materialscanner.tlog/materialscanner.lastbuildstate
@@ -1,2 +1,2 @@
-PlatformToolSet=v142:VCToolArchitecture=Native32Bit:VCToolsVersion=14.29.30133:VCServicingVersionCrtHeaders=14.29.30136:TargetPlatformVersion=10.0.19041.0:
-Debug|x64|C:\dev\materialscanner\materialscanner-qt\|
+#TargetFrameworkVersion=v4.0:PlatformToolSet=v142:EnableManagedIncrementalBuild=false:VCToolArchitecture=Native32Bit:WindowsTargetPlatformVersion=10.0
+Debug|x64|D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\|
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/materialscanner.write.1u.tlog b/materialscanner/x64/Debug/materialscanner.tlog/materialscanner.write.1u.tlog
index 37ecc7d229c0dcf24bd385f72205eb97810ff49e..cb825cc240ede6f2fa3e19813ed907ad1d99e495 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/materialscanner.write.1u.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/materialscanner.write.1u.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/moc.read.1u.tlog b/materialscanner/x64/Debug/materialscanner.tlog/moc.read.1u.tlog
index 18c203a427fc396e2b7ceb6caa99e254c35139f6..cac457cdd7efcfd379f16028b92f922e2703e16d 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/moc.read.1u.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/moc.read.1u.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/moc.write.1u.tlog b/materialscanner/x64/Debug/materialscanner.tlog/moc.write.1u.tlog
index 9b50b0e26de9c5203f28c04330f8b983bbea1183..2bcf979d14b9467fb35d8330ef1cce3c50821a3e 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/moc.write.1u.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/moc.write.1u.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/rc.command.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/rc.command.1.tlog
index 51363626ed28c68f11a3ae85d6a489832195eb21..129e45f9db100d844683ba8407837a3d4151b66e 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/rc.command.1.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/rc.command.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/rc.read.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/rc.read.1.tlog
index e528d03367d959771fcaa0eaaf8df302b93446a4..6312c77fdc218d2b38a9d8a3bf45646bd81f3caa 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/rc.read.1.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/rc.read.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/rc.write.1.tlog b/materialscanner/x64/Debug/materialscanner.tlog/rc.write.1.tlog
index 5cb3526d7c33d6eaf01d704a4e2c2c5b7a665b38..9e0a36c027ba84c03454e1c0fbb7b2024971e10a 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/rc.write.1.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/rc.write.1.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/rcc.read.1u.tlog b/materialscanner/x64/Debug/materialscanner.tlog/rcc.read.1u.tlog
index e391b854ca881056ef5da881f6661e692911a703..c3734ca037ab24276a6acfefe69eedc6205290c0 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/rcc.read.1u.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/rcc.read.1u.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/rcc.write.1u.tlog b/materialscanner/x64/Debug/materialscanner.tlog/rcc.write.1u.tlog
index 280158b5389e454ee9cf8a7417a4a8629612437c..b809219893548a50b004836cd0b67d4975574a80 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/rcc.write.1u.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/rcc.write.1u.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/uic.read.1u.tlog b/materialscanner/x64/Debug/materialscanner.tlog/uic.read.1u.tlog
index 65255a9e3345f0a7502bc1f2ec6c4615e416c824..22d5b501b8ba3dd3df6784f8f29001704453e2be 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/uic.read.1u.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/uic.read.1u.tlog differ
diff --git a/materialscanner/x64/Debug/materialscanner.tlog/uic.write.1u.tlog b/materialscanner/x64/Debug/materialscanner.tlog/uic.write.1u.tlog
index 24beae58df22d517c436f9099e65ceacd1bea837..5b1173686c65fd8c2836ad936a46a7972ac4172d 100644
Binary files a/materialscanner/x64/Debug/materialscanner.tlog/uic.write.1u.tlog and b/materialscanner/x64/Debug/materialscanner.tlog/uic.write.1u.tlog differ
diff --git a/materialscanner/x64/Debug/moc/moc_CSampleCaptureHandler.cpp b/materialscanner/x64/Debug/moc/moc_CSampleCaptureHandler.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..0da933d91c8cd3cd3caa2a13487d3398988ade4d
--- /dev/null
+++ b/materialscanner/x64/Debug/moc/moc_CSampleCaptureHandler.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'CSampleCaptureHandler.h'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "stdafx.h"
+#include "../../../CSampleCaptureHandler.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'CSampleCaptureHandler.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.2.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_CSampleCaptureHandler_t {
+    const uint offsetsAndSize[6];
+    char stringdata0[33];
+};
+#define QT_MOC_LITERAL(ofs, len) \
+    uint(offsetof(qt_meta_stringdata_CSampleCaptureHandler_t, stringdata0) + ofs), len 
+static const qt_meta_stringdata_CSampleCaptureHandler_t qt_meta_stringdata_CSampleCaptureHandler = {
+    {
+QT_MOC_LITERAL(0, 21), // "CSampleCaptureHandler"
+QT_MOC_LITERAL(22, 9), // "sendImage"
+QT_MOC_LITERAL(32, 0) // ""
+
+    },
+    "CSampleCaptureHandler\0sendImage\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_CSampleCaptureHandler[] = {
+
+ // content:
+      10,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       1,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags, initial metatype offsets
+       1,    1,   20,    2, 0x06,    1 /* Public */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QImage,    2,
+
+       0        // eod
+};
+
+void CSampleCaptureHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        auto *_t = static_cast<CSampleCaptureHandler *>(_o);
+        (void)_t;
+        switch (_id) {
+        case 0: _t->sendImage((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1]))); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            using _t = void (CSampleCaptureHandler::*)(QImage );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CSampleCaptureHandler::sendImage)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject CSampleCaptureHandler::staticMetaObject = { {
+    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
+    qt_meta_stringdata_CSampleCaptureHandler.offsetsAndSize,
+    qt_meta_data_CSampleCaptureHandler,
+    qt_static_metacall,
+    nullptr,
+qt_incomplete_metaTypeArray<qt_meta_stringdata_CSampleCaptureHandler_t
+, QtPrivate::TypeAndForceComplete<CSampleCaptureHandler, std::true_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QImage, std::false_type>
+
+
+
+>,
+    nullptr
+} };
+
+
+const QMetaObject *CSampleCaptureHandler::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CSampleCaptureHandler::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_CSampleCaptureHandler.stringdata0))
+        return static_cast<void*>(this);
+    if (!strcmp(_clname, "ICaptureEventHandler"))
+        return static_cast< ICaptureEventHandler*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int CSampleCaptureHandler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 1)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 1;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 1)
+            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
+        _id -= 1;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void CSampleCaptureHandler::sendImage(QImage _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/materialscanner/x64/Debug/moc/moc_CSamplePictureHandler.cpp b/materialscanner/x64/Debug/moc/moc_CSamplePictureHandler.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ce63cb5771c30e610840fd15135c2bd0843ff2ca
--- /dev/null
+++ b/materialscanner/x64/Debug/moc/moc_CSamplePictureHandler.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'CSamplePictureHandler.h'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "stdafx.h"
+#include "../../../CSamplePictureHandler.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'CSamplePictureHandler.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.2.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_CSampleCaptureHandler_t {
+    const uint offsetsAndSize[6];
+    char stringdata0[33];
+};
+#define QT_MOC_LITERAL(ofs, len) \
+    uint(offsetof(qt_meta_stringdata_CSampleCaptureHandler_t, stringdata0) + ofs), len 
+static const qt_meta_stringdata_CSampleCaptureHandler_t qt_meta_stringdata_CSampleCaptureHandler = {
+    {
+QT_MOC_LITERAL(0, 21), // "CSampleCaptureHandler"
+QT_MOC_LITERAL(22, 9), // "sendImage"
+QT_MOC_LITERAL(32, 0) // ""
+
+    },
+    "CSampleCaptureHandler\0sendImage\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_CSampleCaptureHandler[] = {
+
+ // content:
+      10,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       1,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags, initial metatype offsets
+       1,    1,   20,    2, 0x06,    1 /* Public */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QImage,    2,
+
+       0        // eod
+};
+
+void CSampleCaptureHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        auto *_t = static_cast<CSampleCaptureHandler *>(_o);
+        (void)_t;
+        switch (_id) {
+        case 0: _t->sendImage((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1]))); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            using _t = void (CSampleCaptureHandler::*)(QImage );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CSampleCaptureHandler::sendImage)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject CSampleCaptureHandler::staticMetaObject = { {
+    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
+    qt_meta_stringdata_CSampleCaptureHandler.offsetsAndSize,
+    qt_meta_data_CSampleCaptureHandler,
+    qt_static_metacall,
+    nullptr,
+qt_incomplete_metaTypeArray<qt_meta_stringdata_CSampleCaptureHandler_t
+, QtPrivate::TypeAndForceComplete<CSampleCaptureHandler, std::true_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QImage, std::false_type>
+
+
+
+>,
+    nullptr
+} };
+
+
+const QMetaObject *CSampleCaptureHandler::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CSampleCaptureHandler::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_CSampleCaptureHandler.stringdata0))
+        return static_cast<void*>(this);
+    if (!strcmp(_clname, "ICaptureEventHandler"))
+        return static_cast< ICaptureEventHandler*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int CSampleCaptureHandler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 1)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 1;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 1)
+            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
+        _id -= 1;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void CSampleCaptureHandler::sendImage(QImage _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/materialscanner/x64/Debug/moc/moc_Header.cpp b/materialscanner/x64/Debug/moc/moc_Header.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f1cc8982c5e44696d2ffbc35babafbc72dae6158
--- /dev/null
+++ b/materialscanner/x64/Debug/moc/moc_Header.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'Header.h'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "stdafx.h"
+#include "../../../Header.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'Header.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.2.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_CSampleCaptureHandler_t {
+    const uint offsetsAndSize[6];
+    char stringdata0[33];
+};
+#define QT_MOC_LITERAL(ofs, len) \
+    uint(offsetof(qt_meta_stringdata_CSampleCaptureHandler_t, stringdata0) + ofs), len 
+static const qt_meta_stringdata_CSampleCaptureHandler_t qt_meta_stringdata_CSampleCaptureHandler = {
+    {
+QT_MOC_LITERAL(0, 21), // "CSampleCaptureHandler"
+QT_MOC_LITERAL(22, 9), // "sendImage"
+QT_MOC_LITERAL(32, 0) // ""
+
+    },
+    "CSampleCaptureHandler\0sendImage\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_CSampleCaptureHandler[] = {
+
+ // content:
+      10,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       1,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags, initial metatype offsets
+       1,    1,   20,    2, 0x06,    1 /* Public */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QImage,    2,
+
+       0        // eod
+};
+
+void CSampleCaptureHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        auto *_t = static_cast<CSampleCaptureHandler *>(_o);
+        (void)_t;
+        switch (_id) {
+        case 0: _t->sendImage((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1]))); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            using _t = void (CSampleCaptureHandler::*)(QImage );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CSampleCaptureHandler::sendImage)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject CSampleCaptureHandler::staticMetaObject = { {
+    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
+    qt_meta_stringdata_CSampleCaptureHandler.offsetsAndSize,
+    qt_meta_data_CSampleCaptureHandler,
+    qt_static_metacall,
+    nullptr,
+qt_incomplete_metaTypeArray<qt_meta_stringdata_CSampleCaptureHandler_t
+, QtPrivate::TypeAndForceComplete<CSampleCaptureHandler, std::true_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QImage, std::false_type>
+
+
+
+>,
+    nullptr
+} };
+
+
+const QMetaObject *CSampleCaptureHandler::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CSampleCaptureHandler::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_CSampleCaptureHandler.stringdata0))
+        return static_cast<void*>(this);
+    if (!strcmp(_clname, "ICaptureEventHandler"))
+        return static_cast< ICaptureEventHandler*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int CSampleCaptureHandler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 1)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 1;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 1)
+            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
+        _id -= 1;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void CSampleCaptureHandler::sendImage(QImage _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/materialscanner/x64/Debug/moc/moc_samplePictureHandler.cpp b/materialscanner/x64/Debug/moc/moc_samplePictureHandler.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..161f46ad7ba8187a9d0270660c24da9afa6cff0f
--- /dev/null
+++ b/materialscanner/x64/Debug/moc/moc_samplePictureHandler.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'samplePictureHandler.h'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "stdafx.h"
+#include "../../../samplePictureHandler.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'samplePictureHandler.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.2.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_CSampleCaptureHandler_t {
+    const uint offsetsAndSize[6];
+    char stringdata0[33];
+};
+#define QT_MOC_LITERAL(ofs, len) \
+    uint(offsetof(qt_meta_stringdata_CSampleCaptureHandler_t, stringdata0) + ofs), len 
+static const qt_meta_stringdata_CSampleCaptureHandler_t qt_meta_stringdata_CSampleCaptureHandler = {
+    {
+QT_MOC_LITERAL(0, 21), // "CSampleCaptureHandler"
+QT_MOC_LITERAL(22, 9), // "sendImage"
+QT_MOC_LITERAL(32, 0) // ""
+
+    },
+    "CSampleCaptureHandler\0sendImage\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_CSampleCaptureHandler[] = {
+
+ // content:
+      10,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       1,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags, initial metatype offsets
+       1,    1,   20,    2, 0x06,    1 /* Public */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QImage,    2,
+
+       0        // eod
+};
+
+void CSampleCaptureHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        auto *_t = static_cast<CSampleCaptureHandler *>(_o);
+        (void)_t;
+        switch (_id) {
+        case 0: _t->sendImage((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1]))); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            using _t = void (CSampleCaptureHandler::*)(QImage );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CSampleCaptureHandler::sendImage)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject CSampleCaptureHandler::staticMetaObject = { {
+    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
+    qt_meta_stringdata_CSampleCaptureHandler.offsetsAndSize,
+    qt_meta_data_CSampleCaptureHandler,
+    qt_static_metacall,
+    nullptr,
+qt_incomplete_metaTypeArray<qt_meta_stringdata_CSampleCaptureHandler_t
+, QtPrivate::TypeAndForceComplete<CSampleCaptureHandler, std::true_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QImage, std::false_type>
+
+
+
+>,
+    nullptr
+} };
+
+
+const QMetaObject *CSampleCaptureHandler::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CSampleCaptureHandler::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_CSampleCaptureHandler.stringdata0))
+        return static_cast<void*>(this);
+    if (!strcmp(_clname, "ICaptureEventHandler"))
+        return static_cast< ICaptureEventHandler*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int CSampleCaptureHandler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 1)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 1;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 1)
+            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
+        _id -= 1;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void CSampleCaptureHandler::sendImage(QImage _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/materialscanner/x64/Debug/qmake/qtvars_x64_Debug.props b/materialscanner/x64/Debug/qmake/qtvars_x64_Debug.props
index 7173c8bbc285d966f50b3c3d700e250fe6552b59..ae85d2459e172a530f4b7677b0572fd82bf02b4d 100644
--- a/materialscanner/x64/Debug/qmake/qtvars_x64_Debug.props
+++ b/materialscanner/x64/Debug/qmake/qtvars_x64_Debug.props
@@ -1,32 +1,32 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
 <Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB</Qt_DEFINES_>
-<Qt_INCLUDEPATH_>C:\dev\materialscanner\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;C:\Qt\6.2.4\msvc2019_64\include;C:\Qt\6.2.4\msvc2019_64\include\QtWidgets;C:\Qt\6.2.4\msvc2019_64\include\QtGui;C:\Qt\6.2.4\msvc2019_64\include\QtCore;C:\dev\materialscanner\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;/include;C:\Qt\6.2.4\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
+<Qt_INCLUDEPATH_>D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;D:\Qt\6.2.4\msvc2019_64\include;D:\Qt\6.2.4\msvc2019_64\include\QtWidgets;D:\Qt\6.2.4\msvc2019_64\include\QtGui;D:\Qt\6.2.4\msvc2019_64\include\QtCore;D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;/include;D:\Qt\6.2.4\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
 <Qt_STDCPP_>stdcpp17</Qt_STDCPP_>
 <Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8</Qt_CL_OPTIONS_>
-<Qt_LIBS_>C:\Qt\6.2.4\msvc2019_64\lib\Qt6Widgetsd.lib;C:\Qt\6.2.4\msvc2019_64\lib\Qt6Guid.lib;C:\Qt\6.2.4\msvc2019_64\lib\Qt6Cored.lib;C:\Qt\6.2.4\msvc2019_64\lib\Qt6EntryPointd.lib;shell32.lib</Qt_LIBS_>
+<Qt_LIBS_>D:\Qt\6.2.4\msvc2019_64\lib\Qt6Widgetsd.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Guid.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Cored.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6EntryPointd.lib;shell32.lib</Qt_LIBS_>
 <Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
 <QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
-<QMake_QT_INSTALL_PREFIX_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
-<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
-<QMake_QT_INSTALL_DATA_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_DATA_>
-<QMake_QT_INSTALL_DOCS_>C:/Qt/Docs/Qt-6.2.4</QMake_QT_INSTALL_DOCS_>
-<QMake_QT_INSTALL_HEADERS_>C:/Qt/6.2.4/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
-<QMake_QT_INSTALL_LIBS_>C:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
-<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
-<QMake_QT_INSTALL_BINS_>C:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
-<QMake_QT_INSTALL_TESTS_>C:/Qt/6.2.4/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
-<QMake_QT_INSTALL_PLUGINS_>C:/Qt/6.2.4/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
-<QMake_QT_INSTALL_QML_>C:/Qt/6.2.4/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
-<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/6.2.4/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
+<QMake_QT_INSTALL_PREFIX_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
+<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
+<QMake_QT_INSTALL_DATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_DATA_>
+<QMake_QT_INSTALL_DOCS_>D:/Qt/Docs/Qt-6.2.4</QMake_QT_INSTALL_DOCS_>
+<QMake_QT_INSTALL_HEADERS_>D:/Qt/6.2.4/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
+<QMake_QT_INSTALL_LIBS_>D:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
+<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
+<QMake_QT_INSTALL_BINS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
+<QMake_QT_INSTALL_TESTS_>D:/Qt/6.2.4/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
+<QMake_QT_INSTALL_PLUGINS_>D:/Qt/6.2.4/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
+<QMake_QT_INSTALL_QML_>D:/Qt/6.2.4/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
+<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/6.2.4/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
 <QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
-<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_EXAMPLES_>
-<QMake_QT_INSTALL_DEMOS_>C:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_DEMOS_>
-<QMake_QT_HOST_PREFIX_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_PREFIX_>
-<QMake_QT_HOST_DATA_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_DATA_>
-<QMake_QT_HOST_BINS_>C:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_BINS_>
-<QMake_QT_HOST_LIBEXECS_>C:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
-<QMake_QT_HOST_LIBS_>C:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
+<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_EXAMPLES_>
+<QMake_QT_INSTALL_DEMOS_>D:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_DEMOS_>
+<QMake_QT_HOST_PREFIX_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_PREFIX_>
+<QMake_QT_HOST_DATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_DATA_>
+<QMake_QT_HOST_BINS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_BINS_>
+<QMake_QT_HOST_LIBEXECS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
+<QMake_QT_HOST_LIBS_>D:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
 <QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
 <QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
 <QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
diff --git a/materialscanner/x64/Debug/qmake/temp/.qmake.stash b/materialscanner/x64/Debug/qmake/temp/.qmake.stash
index 0341ac07043af0f5b1d804cfa8fd6aa86c4d7958..dd1b5b1868c0ce3dbd8366ed8f02c210fced0944 100644
--- a/materialscanner/x64/Debug/qmake/temp/.qmake.stash
+++ b/materialscanner/x64/Debug/qmake/temp/.qmake.stash
@@ -1,27 +1,28 @@
 QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
-QMAKE_CXX.QMAKE_MSC_VER = 1929
-QMAKE_CXX.QMAKE_MSC_FULL_VER = 192930141
+QMAKE_CXX.QMAKE_MSC_VER = 1924
+QMAKE_CXX.QMAKE_MSC_FULL_VER = 192428316
 QMAKE_CXX.COMPILER_MACROS = \
     QT_COMPILER_STDCXX \
     QMAKE_MSC_VER \
     QMAKE_MSC_FULL_VER
 QMAKE_CXX.INCDIRS = \
     G:\\dev\\projects\\materialscanner\\libs\\GxIAPICPPEx\\inc \
-    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\include" \
-    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\atlmfc\\include" \
+    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\include" \
+    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\atlmfc\\include" \
     "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Auxiliary\\VS\\include" \
-    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.19041.0\\ucrt" \
+    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\ucrt" \
     "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Auxiliary\\VS\\UnitTest\\include" \
-    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.19041.0\\um" \
-    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.19041.0\\shared" \
-    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.19041.0\\winrt" \
-    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.19041.0\\cppwinrt" \
+    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\um" \
+    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\shared" \
+    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\winrt" \
+    "C:\\Program Files (x86)\\Windows Kits\\10\\Include\\10.0.18362.0\\cppwinrt" \
     "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\Include\\um"
 QMAKE_CXX.LIBDIRS = \
-    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\lib\\x64" \
-    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.29.30133\\atlmfc\\lib\\x64" \
+    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\lib\\x64" \
+    "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\atlmfc\\lib\\x64" \
     "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Auxiliary\\VS\\lib\\x64" \
-    "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\ucrt\\x64" \
+    "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.18362.0\\ucrt\\x64" \
     "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Auxiliary\\VS\\UnitTest\\lib" \
-    "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.19041.0\\um\\x64" \
-    "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64"
+    "C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.18362.0\\um\\x64" \
+    "C:\\Program Files (x86)\\Windows Kits\\NETFXSDK\\4.8\\lib\\um\\x64" \
+    Lib\\um\\x64
diff --git a/materialscanner/x64/Debug/qmake/temp/props.txt b/materialscanner/x64/Debug/qmake/temp/props.txt
index 917f80b7dddfcdfd8316eefa4c79b7ddc7095299..9002da111668debfc431e442c0c812efd2df510b 100644
--- a/materialscanner/x64/Debug/qmake/temp/props.txt
+++ b/materialscanner/x64/Debug/qmake/temp/props.txt
@@ -1,24 +1,24 @@
 QT_SYSROOT:
-QT_INSTALL_PREFIX:C:/Qt/6.2.4/msvc2019_64
-QT_INSTALL_ARCHDATA:C:/Qt/6.2.4/msvc2019_64
-QT_INSTALL_DATA:C:/Qt/6.2.4/msvc2019_64
-QT_INSTALL_DOCS:C:/Qt/Docs/Qt-6.2.4
-QT_INSTALL_HEADERS:C:/Qt/6.2.4/msvc2019_64/include
-QT_INSTALL_LIBS:C:/Qt/6.2.4/msvc2019_64/lib
-QT_INSTALL_LIBEXECS:C:/Qt/6.2.4/msvc2019_64/bin
-QT_INSTALL_BINS:C:/Qt/6.2.4/msvc2019_64/bin
-QT_INSTALL_TESTS:C:/Qt/6.2.4/msvc2019_64/tests
-QT_INSTALL_PLUGINS:C:/Qt/6.2.4/msvc2019_64/plugins
-QT_INSTALL_QML:C:/Qt/6.2.4/msvc2019_64/qml
-QT_INSTALL_TRANSLATIONS:C:/Qt/6.2.4/msvc2019_64/translations
+QT_INSTALL_PREFIX:D:/Qt/6.2.4/msvc2019_64
+QT_INSTALL_ARCHDATA:D:/Qt/6.2.4/msvc2019_64
+QT_INSTALL_DATA:D:/Qt/6.2.4/msvc2019_64
+QT_INSTALL_DOCS:D:/Qt/Docs/Qt-6.2.4
+QT_INSTALL_HEADERS:D:/Qt/6.2.4/msvc2019_64/include
+QT_INSTALL_LIBS:D:/Qt/6.2.4/msvc2019_64/lib
+QT_INSTALL_LIBEXECS:D:/Qt/6.2.4/msvc2019_64/bin
+QT_INSTALL_BINS:D:/Qt/6.2.4/msvc2019_64/bin
+QT_INSTALL_TESTS:D:/Qt/6.2.4/msvc2019_64/tests
+QT_INSTALL_PLUGINS:D:/Qt/6.2.4/msvc2019_64/plugins
+QT_INSTALL_QML:D:/Qt/6.2.4/msvc2019_64/qml
+QT_INSTALL_TRANSLATIONS:D:/Qt/6.2.4/msvc2019_64/translations
 QT_INSTALL_CONFIGURATION:
-QT_INSTALL_EXAMPLES:C:/Qt/Examples/Qt-6.2.4
-QT_INSTALL_DEMOS:C:/Qt/Examples/Qt-6.2.4
-QT_HOST_PREFIX:C:/Qt/6.2.4/msvc2019_64
-QT_HOST_DATA:C:/Qt/6.2.4/msvc2019_64
-QT_HOST_BINS:C:/Qt/6.2.4/msvc2019_64/bin
-QT_HOST_LIBEXECS:C:/Qt/6.2.4/msvc2019_64/bin
-QT_HOST_LIBS:C:/Qt/6.2.4/msvc2019_64/lib
+QT_INSTALL_EXAMPLES:D:/Qt/Examples/Qt-6.2.4
+QT_INSTALL_DEMOS:D:/Qt/Examples/Qt-6.2.4
+QT_HOST_PREFIX:D:/Qt/6.2.4/msvc2019_64
+QT_HOST_DATA:D:/Qt/6.2.4/msvc2019_64
+QT_HOST_BINS:D:/Qt/6.2.4/msvc2019_64/bin
+QT_HOST_LIBEXECS:D:/Qt/6.2.4/msvc2019_64/bin
+QT_HOST_LIBS:D:/Qt/6.2.4/msvc2019_64/lib
 QMAKE_SPEC:win32-msvc
 QMAKE_XSPEC:win32-msvc
 QMAKE_VERSION:3.1
diff --git a/materialscanner/x64/Debug/qmake/temp/qtvars.log b/materialscanner/x64/Debug/qmake/temp/qtvars.log
index f971dd799c4dd848dd11932a21b77b3ae0727a07..ef61077b996130427d5027c468f506dd876aa2d1 100644
--- a/materialscanner/x64/Debug/qmake/temp/qtvars.log
+++ b/materialscanner/x64/Debug/qmake/temp/qtvars.log
@@ -1 +1 @@
-Info: creating stash file C:\dev\materialscanner\materialscanner-qt\materialscanner\x64\Debug\qmake\temp\.qmake.stash
+Info: creating stash file D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Debug\qmake\temp\.qmake.stash
diff --git a/materialscanner/x64/Debug/qmake/temp/qtvars.vcxproj b/materialscanner/x64/Debug/qmake/temp/qtvars.vcxproj
index 23f752b673a4cbe3c163121f02aa86902f808965..9e44e1e9142030c90abd55945246d93639a220f9 100644
--- a/materialscanner/x64/Debug/qmake/temp/qtvars.vcxproj
+++ b/materialscanner/x64/Debug/qmake/temp/qtvars.vcxproj
@@ -33,7 +33,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">
     <ClCompile>
-      <AdditionalIncludeDirectories>C:\dev\materialscanner\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;C:\Qt\6.2.4\msvc2019_64\include;C:\Qt\6.2.4\msvc2019_64\include\QtWidgets;C:\Qt\6.2.4\msvc2019_64\include\QtGui;C:\Qt\6.2.4\msvc2019_64\include\QtCore;C:\dev\materialscanner\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;/include;C:\Qt\6.2.4\msvc2019_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;D:\Qt\6.2.4\msvc2019_64\include;D:\Qt\6.2.4\msvc2019_64\include\QtWidgets;D:\Qt\6.2.4\msvc2019_64\include\QtGui;D:\Qt\6.2.4\msvc2019_64\include\QtCore;D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;/include;D:\Qt\6.2.4\msvc2019_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8 %(AdditionalOptions)</AdditionalOptions>
       <AssemblerListingLocation>.\</AssemblerListingLocation>
       <BrowseInformation>false</BrowseInformation>
@@ -50,7 +50,7 @@
       <WarningLevel>TurnOffAllWarnings</WarningLevel>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>C:\Qt\6.2.4\msvc2019_64\lib\Qt6Widgetsd.lib;C:\Qt\6.2.4\msvc2019_64\lib\Qt6Guid.lib;C:\Qt\6.2.4\msvc2019_64\lib\Qt6Cored.lib;C:\Qt\6.2.4\msvc2019_64\lib\Qt6EntryPointd.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>D:\Qt\6.2.4\msvc2019_64\lib\Qt6Widgetsd.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Guid.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Cored.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6EntryPointd.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalOptions>&quot;/MANIFESTDEPENDENCY:type=&apos;win32&apos; name=&apos;Microsoft.Windows.Common-Controls&apos; version=&apos;6.0.0.0&apos; publicKeyToken=&apos;6595b64144ccf1df&apos; language=&apos;*&apos; processorArchitecture=&apos;*&apos;&quot; %(AdditionalOptions)</AdditionalOptions>
       <DataExecutionPrevention>true</DataExecutionPrevention>
       <GenerateDebugInformation>true</GenerateDebugInformation>
@@ -72,8 +72,8 @@
   <ItemGroup>
     <CustomBuild Include="moc_predefs.h.cbt">
       <FileType>Document</FileType>
-      <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">C:\Qt\6.2.4\msvc2019_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
-      <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">cl -BxC:\Qt\6.2.4\msvc2019_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -Zi -MDd -std:c++17 -utf-8 -W0 -E C:\Qt\6.2.4\msvc2019_64\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;moc_predefs.h</Command>
+      <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">D:\Qt\6.2.4\msvc2019_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
+      <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">cl -BxD:\Qt\6.2.4\msvc2019_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -Zi -MDd -std:c++17 -utf-8 -W0 -E D:\Qt\6.2.4\msvc2019_64\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;moc_predefs.h</Command>
       <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">Generate moc_predefs.h</Message>
       <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Debug|x64&apos;">moc_predefs.h;%(Outputs)</Outputs>
     </CustomBuild>
diff --git a/materialscanner/x64/Debug/qmake/temp/qtvars_x64_Debug.props b/materialscanner/x64/Debug/qmake/temp/qtvars_x64_Debug.props
index 7173c8bbc285d966f50b3c3d700e250fe6552b59..ae85d2459e172a530f4b7677b0572fd82bf02b4d 100644
--- a/materialscanner/x64/Debug/qmake/temp/qtvars_x64_Debug.props
+++ b/materialscanner/x64/Debug/qmake/temp/qtvars_x64_Debug.props
@@ -1,32 +1,32 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
 <Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB</Qt_DEFINES_>
-<Qt_INCLUDEPATH_>C:\dev\materialscanner\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;C:\Qt\6.2.4\msvc2019_64\include;C:\Qt\6.2.4\msvc2019_64\include\QtWidgets;C:\Qt\6.2.4\msvc2019_64\include\QtGui;C:\Qt\6.2.4\msvc2019_64\include\QtCore;C:\dev\materialscanner\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;/include;C:\Qt\6.2.4\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
+<Qt_INCLUDEPATH_>D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;D:\Qt\6.2.4\msvc2019_64\include;D:\Qt\6.2.4\msvc2019_64\include\QtWidgets;D:\Qt\6.2.4\msvc2019_64\include\QtGui;D:\Qt\6.2.4\msvc2019_64\include\QtCore;D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Debug\qmake\temp;/include;D:\Qt\6.2.4\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
 <Qt_STDCPP_>stdcpp17</Qt_STDCPP_>
 <Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8</Qt_CL_OPTIONS_>
-<Qt_LIBS_>C:\Qt\6.2.4\msvc2019_64\lib\Qt6Widgetsd.lib;C:\Qt\6.2.4\msvc2019_64\lib\Qt6Guid.lib;C:\Qt\6.2.4\msvc2019_64\lib\Qt6Cored.lib;C:\Qt\6.2.4\msvc2019_64\lib\Qt6EntryPointd.lib;shell32.lib</Qt_LIBS_>
+<Qt_LIBS_>D:\Qt\6.2.4\msvc2019_64\lib\Qt6Widgetsd.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Guid.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Cored.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6EntryPointd.lib;shell32.lib</Qt_LIBS_>
 <Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
 <QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
-<QMake_QT_INSTALL_PREFIX_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
-<QMake_QT_INSTALL_ARCHDATA_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
-<QMake_QT_INSTALL_DATA_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_DATA_>
-<QMake_QT_INSTALL_DOCS_>C:/Qt/Docs/Qt-6.2.4</QMake_QT_INSTALL_DOCS_>
-<QMake_QT_INSTALL_HEADERS_>C:/Qt/6.2.4/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
-<QMake_QT_INSTALL_LIBS_>C:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
-<QMake_QT_INSTALL_LIBEXECS_>C:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
-<QMake_QT_INSTALL_BINS_>C:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
-<QMake_QT_INSTALL_TESTS_>C:/Qt/6.2.4/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
-<QMake_QT_INSTALL_PLUGINS_>C:/Qt/6.2.4/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
-<QMake_QT_INSTALL_QML_>C:/Qt/6.2.4/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
-<QMake_QT_INSTALL_TRANSLATIONS_>C:/Qt/6.2.4/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
+<QMake_QT_INSTALL_PREFIX_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
+<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
+<QMake_QT_INSTALL_DATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_DATA_>
+<QMake_QT_INSTALL_DOCS_>D:/Qt/Docs/Qt-6.2.4</QMake_QT_INSTALL_DOCS_>
+<QMake_QT_INSTALL_HEADERS_>D:/Qt/6.2.4/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
+<QMake_QT_INSTALL_LIBS_>D:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
+<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
+<QMake_QT_INSTALL_BINS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
+<QMake_QT_INSTALL_TESTS_>D:/Qt/6.2.4/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
+<QMake_QT_INSTALL_PLUGINS_>D:/Qt/6.2.4/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
+<QMake_QT_INSTALL_QML_>D:/Qt/6.2.4/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
+<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/6.2.4/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
 <QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
-<QMake_QT_INSTALL_EXAMPLES_>C:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_EXAMPLES_>
-<QMake_QT_INSTALL_DEMOS_>C:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_DEMOS_>
-<QMake_QT_HOST_PREFIX_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_PREFIX_>
-<QMake_QT_HOST_DATA_>C:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_DATA_>
-<QMake_QT_HOST_BINS_>C:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_BINS_>
-<QMake_QT_HOST_LIBEXECS_>C:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
-<QMake_QT_HOST_LIBS_>C:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
+<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_EXAMPLES_>
+<QMake_QT_INSTALL_DEMOS_>D:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_DEMOS_>
+<QMake_QT_HOST_PREFIX_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_PREFIX_>
+<QMake_QT_HOST_DATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_DATA_>
+<QMake_QT_HOST_BINS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_BINS_>
+<QMake_QT_HOST_LIBEXECS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
+<QMake_QT_HOST_LIBS_>D:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
 <QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
 <QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
 <QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
diff --git a/materialscanner/x64/Debug/qt_work.log b/materialscanner/x64/Debug/qt_work.log
index 8e4d2b919d517533dd98998cbc451240e119ef4b..8627fa671ef5bc432db166de399501e01c687c55 100644
Binary files a/materialscanner/x64/Debug/qt_work.log and b/materialscanner/x64/Debug/qt_work.log differ
diff --git a/materialscanner/x64/Debug/vc142.pdb b/materialscanner/x64/Debug/vc142.pdb
index 695c5b667444901eb2c0f6de2de5b9b65353e936..31209c05b861eb4f0db5aca29b27887770ad5ecc 100644
Binary files a/materialscanner/x64/Debug/vc142.pdb and b/materialscanner/x64/Debug/vc142.pdb differ
diff --git a/materialscanner/x64/Release/moc/moc_CSampleCaptureHandler.cpp b/materialscanner/x64/Release/moc/moc_CSampleCaptureHandler.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..0da933d91c8cd3cd3caa2a13487d3398988ade4d
--- /dev/null
+++ b/materialscanner/x64/Release/moc/moc_CSampleCaptureHandler.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'CSampleCaptureHandler.h'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "stdafx.h"
+#include "../../../CSampleCaptureHandler.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'CSampleCaptureHandler.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.2.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_CSampleCaptureHandler_t {
+    const uint offsetsAndSize[6];
+    char stringdata0[33];
+};
+#define QT_MOC_LITERAL(ofs, len) \
+    uint(offsetof(qt_meta_stringdata_CSampleCaptureHandler_t, stringdata0) + ofs), len 
+static const qt_meta_stringdata_CSampleCaptureHandler_t qt_meta_stringdata_CSampleCaptureHandler = {
+    {
+QT_MOC_LITERAL(0, 21), // "CSampleCaptureHandler"
+QT_MOC_LITERAL(22, 9), // "sendImage"
+QT_MOC_LITERAL(32, 0) // ""
+
+    },
+    "CSampleCaptureHandler\0sendImage\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_CSampleCaptureHandler[] = {
+
+ // content:
+      10,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       1,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags, initial metatype offsets
+       1,    1,   20,    2, 0x06,    1 /* Public */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QImage,    2,
+
+       0        // eod
+};
+
+void CSampleCaptureHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        auto *_t = static_cast<CSampleCaptureHandler *>(_o);
+        (void)_t;
+        switch (_id) {
+        case 0: _t->sendImage((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1]))); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            using _t = void (CSampleCaptureHandler::*)(QImage );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CSampleCaptureHandler::sendImage)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject CSampleCaptureHandler::staticMetaObject = { {
+    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
+    qt_meta_stringdata_CSampleCaptureHandler.offsetsAndSize,
+    qt_meta_data_CSampleCaptureHandler,
+    qt_static_metacall,
+    nullptr,
+qt_incomplete_metaTypeArray<qt_meta_stringdata_CSampleCaptureHandler_t
+, QtPrivate::TypeAndForceComplete<CSampleCaptureHandler, std::true_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QImage, std::false_type>
+
+
+
+>,
+    nullptr
+} };
+
+
+const QMetaObject *CSampleCaptureHandler::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CSampleCaptureHandler::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_CSampleCaptureHandler.stringdata0))
+        return static_cast<void*>(this);
+    if (!strcmp(_clname, "ICaptureEventHandler"))
+        return static_cast< ICaptureEventHandler*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int CSampleCaptureHandler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 1)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 1;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 1)
+            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
+        _id -= 1;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void CSampleCaptureHandler::sendImage(QImage _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/materialscanner/x64/Release/moc/moc_CSamplePictureHandler.cpp b/materialscanner/x64/Release/moc/moc_CSamplePictureHandler.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ce63cb5771c30e610840fd15135c2bd0843ff2ca
--- /dev/null
+++ b/materialscanner/x64/Release/moc/moc_CSamplePictureHandler.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'CSamplePictureHandler.h'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "stdafx.h"
+#include "../../../CSamplePictureHandler.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'CSamplePictureHandler.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.2.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_CSampleCaptureHandler_t {
+    const uint offsetsAndSize[6];
+    char stringdata0[33];
+};
+#define QT_MOC_LITERAL(ofs, len) \
+    uint(offsetof(qt_meta_stringdata_CSampleCaptureHandler_t, stringdata0) + ofs), len 
+static const qt_meta_stringdata_CSampleCaptureHandler_t qt_meta_stringdata_CSampleCaptureHandler = {
+    {
+QT_MOC_LITERAL(0, 21), // "CSampleCaptureHandler"
+QT_MOC_LITERAL(22, 9), // "sendImage"
+QT_MOC_LITERAL(32, 0) // ""
+
+    },
+    "CSampleCaptureHandler\0sendImage\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_CSampleCaptureHandler[] = {
+
+ // content:
+      10,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       1,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags, initial metatype offsets
+       1,    1,   20,    2, 0x06,    1 /* Public */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QImage,    2,
+
+       0        // eod
+};
+
+void CSampleCaptureHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        auto *_t = static_cast<CSampleCaptureHandler *>(_o);
+        (void)_t;
+        switch (_id) {
+        case 0: _t->sendImage((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1]))); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            using _t = void (CSampleCaptureHandler::*)(QImage );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CSampleCaptureHandler::sendImage)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject CSampleCaptureHandler::staticMetaObject = { {
+    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
+    qt_meta_stringdata_CSampleCaptureHandler.offsetsAndSize,
+    qt_meta_data_CSampleCaptureHandler,
+    qt_static_metacall,
+    nullptr,
+qt_incomplete_metaTypeArray<qt_meta_stringdata_CSampleCaptureHandler_t
+, QtPrivate::TypeAndForceComplete<CSampleCaptureHandler, std::true_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QImage, std::false_type>
+
+
+
+>,
+    nullptr
+} };
+
+
+const QMetaObject *CSampleCaptureHandler::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CSampleCaptureHandler::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_CSampleCaptureHandler.stringdata0))
+        return static_cast<void*>(this);
+    if (!strcmp(_clname, "ICaptureEventHandler"))
+        return static_cast< ICaptureEventHandler*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int CSampleCaptureHandler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 1)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 1;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 1)
+            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
+        _id -= 1;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void CSampleCaptureHandler::sendImage(QImage _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/materialscanner/x64/Release/moc/moc_Header.cpp b/materialscanner/x64/Release/moc/moc_Header.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f1cc8982c5e44696d2ffbc35babafbc72dae6158
--- /dev/null
+++ b/materialscanner/x64/Release/moc/moc_Header.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'Header.h'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "stdafx.h"
+#include "../../../Header.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'Header.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.2.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_CSampleCaptureHandler_t {
+    const uint offsetsAndSize[6];
+    char stringdata0[33];
+};
+#define QT_MOC_LITERAL(ofs, len) \
+    uint(offsetof(qt_meta_stringdata_CSampleCaptureHandler_t, stringdata0) + ofs), len 
+static const qt_meta_stringdata_CSampleCaptureHandler_t qt_meta_stringdata_CSampleCaptureHandler = {
+    {
+QT_MOC_LITERAL(0, 21), // "CSampleCaptureHandler"
+QT_MOC_LITERAL(22, 9), // "sendImage"
+QT_MOC_LITERAL(32, 0) // ""
+
+    },
+    "CSampleCaptureHandler\0sendImage\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_CSampleCaptureHandler[] = {
+
+ // content:
+      10,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       1,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags, initial metatype offsets
+       1,    1,   20,    2, 0x06,    1 /* Public */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QImage,    2,
+
+       0        // eod
+};
+
+void CSampleCaptureHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        auto *_t = static_cast<CSampleCaptureHandler *>(_o);
+        (void)_t;
+        switch (_id) {
+        case 0: _t->sendImage((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1]))); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            using _t = void (CSampleCaptureHandler::*)(QImage );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CSampleCaptureHandler::sendImage)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject CSampleCaptureHandler::staticMetaObject = { {
+    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
+    qt_meta_stringdata_CSampleCaptureHandler.offsetsAndSize,
+    qt_meta_data_CSampleCaptureHandler,
+    qt_static_metacall,
+    nullptr,
+qt_incomplete_metaTypeArray<qt_meta_stringdata_CSampleCaptureHandler_t
+, QtPrivate::TypeAndForceComplete<CSampleCaptureHandler, std::true_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QImage, std::false_type>
+
+
+
+>,
+    nullptr
+} };
+
+
+const QMetaObject *CSampleCaptureHandler::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CSampleCaptureHandler::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_CSampleCaptureHandler.stringdata0))
+        return static_cast<void*>(this);
+    if (!strcmp(_clname, "ICaptureEventHandler"))
+        return static_cast< ICaptureEventHandler*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int CSampleCaptureHandler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 1)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 1;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 1)
+            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
+        _id -= 1;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void CSampleCaptureHandler::sendImage(QImage _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/materialscanner/x64/Release/moc/moc_materialscanner.cpp b/materialscanner/x64/Release/moc/moc_materialscanner.cpp
index f1d04e4d707cfc238a5ee9fba2b744875420c33c..15107484402745a41427718aec09ddbb1759f6ef 100644
--- a/materialscanner/x64/Release/moc/moc_materialscanner.cpp
+++ b/materialscanner/x64/Release/moc/moc_materialscanner.cpp
@@ -9,6 +9,7 @@
 #include <memory>
 #include "stdafx.h"
 #include "../../../materialscanner.h"
+#include <QtGui/qtextcursor.h>
 #include <QtCore/qbytearray.h>
 #include <QtCore/qmetatype.h>
 #if !defined(Q_MOC_OUTPUT_REVISION)
diff --git a/materialscanner/x64/Release/moc/moc_samplePictureHandler.cpp b/materialscanner/x64/Release/moc/moc_samplePictureHandler.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..161f46ad7ba8187a9d0270660c24da9afa6cff0f
--- /dev/null
+++ b/materialscanner/x64/Release/moc/moc_samplePictureHandler.cpp
@@ -0,0 +1,140 @@
+/****************************************************************************
+** Meta object code from reading C++ file 'samplePictureHandler.h'
+**
+** Created by: The Qt Meta Object Compiler version 68 (Qt 6.2.4)
+**
+** WARNING! All changes made in this file will be lost!
+*****************************************************************************/
+
+#include <memory>
+#include "stdafx.h"
+#include "../../../samplePictureHandler.h"
+#include <QtCore/qbytearray.h>
+#include <QtCore/qmetatype.h>
+#if !defined(Q_MOC_OUTPUT_REVISION)
+#error "The header file 'samplePictureHandler.h' doesn't include <QObject>."
+#elif Q_MOC_OUTPUT_REVISION != 68
+#error "This file was generated using the moc from 6.2.4. It"
+#error "cannot be used with the include files from this version of Qt."
+#error "(The moc has changed too much.)"
+#endif
+
+QT_BEGIN_MOC_NAMESPACE
+QT_WARNING_PUSH
+QT_WARNING_DISABLE_DEPRECATED
+struct qt_meta_stringdata_CSampleCaptureHandler_t {
+    const uint offsetsAndSize[6];
+    char stringdata0[33];
+};
+#define QT_MOC_LITERAL(ofs, len) \
+    uint(offsetof(qt_meta_stringdata_CSampleCaptureHandler_t, stringdata0) + ofs), len 
+static const qt_meta_stringdata_CSampleCaptureHandler_t qt_meta_stringdata_CSampleCaptureHandler = {
+    {
+QT_MOC_LITERAL(0, 21), // "CSampleCaptureHandler"
+QT_MOC_LITERAL(22, 9), // "sendImage"
+QT_MOC_LITERAL(32, 0) // ""
+
+    },
+    "CSampleCaptureHandler\0sendImage\0"
+};
+#undef QT_MOC_LITERAL
+
+static const uint qt_meta_data_CSampleCaptureHandler[] = {
+
+ // content:
+      10,       // revision
+       0,       // classname
+       0,    0, // classinfo
+       1,   14, // methods
+       0,    0, // properties
+       0,    0, // enums/sets
+       0,    0, // constructors
+       0,       // flags
+       1,       // signalCount
+
+ // signals: name, argc, parameters, tag, flags, initial metatype offsets
+       1,    1,   20,    2, 0x06,    1 /* Public */,
+
+ // signals: parameters
+    QMetaType::Void, QMetaType::QImage,    2,
+
+       0        // eod
+};
+
+void CSampleCaptureHandler::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, void **_a)
+{
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        auto *_t = static_cast<CSampleCaptureHandler *>(_o);
+        (void)_t;
+        switch (_id) {
+        case 0: _t->sendImage((*reinterpret_cast< std::add_pointer_t<QImage>>(_a[1]))); break;
+        default: ;
+        }
+    } else if (_c == QMetaObject::IndexOfMethod) {
+        int *result = reinterpret_cast<int *>(_a[0]);
+        {
+            using _t = void (CSampleCaptureHandler::*)(QImage );
+            if (*reinterpret_cast<_t *>(_a[1]) == static_cast<_t>(&CSampleCaptureHandler::sendImage)) {
+                *result = 0;
+                return;
+            }
+        }
+    }
+}
+
+const QMetaObject CSampleCaptureHandler::staticMetaObject = { {
+    QMetaObject::SuperData::link<QObject::staticMetaObject>(),
+    qt_meta_stringdata_CSampleCaptureHandler.offsetsAndSize,
+    qt_meta_data_CSampleCaptureHandler,
+    qt_static_metacall,
+    nullptr,
+qt_incomplete_metaTypeArray<qt_meta_stringdata_CSampleCaptureHandler_t
+, QtPrivate::TypeAndForceComplete<CSampleCaptureHandler, std::true_type>, QtPrivate::TypeAndForceComplete<void, std::false_type>, QtPrivate::TypeAndForceComplete<QImage, std::false_type>
+
+
+
+>,
+    nullptr
+} };
+
+
+const QMetaObject *CSampleCaptureHandler::metaObject() const
+{
+    return QObject::d_ptr->metaObject ? QObject::d_ptr->dynamicMetaObject() : &staticMetaObject;
+}
+
+void *CSampleCaptureHandler::qt_metacast(const char *_clname)
+{
+    if (!_clname) return nullptr;
+    if (!strcmp(_clname, qt_meta_stringdata_CSampleCaptureHandler.stringdata0))
+        return static_cast<void*>(this);
+    if (!strcmp(_clname, "ICaptureEventHandler"))
+        return static_cast< ICaptureEventHandler*>(this);
+    return QObject::qt_metacast(_clname);
+}
+
+int CSampleCaptureHandler::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
+{
+    _id = QObject::qt_metacall(_c, _id, _a);
+    if (_id < 0)
+        return _id;
+    if (_c == QMetaObject::InvokeMetaMethod) {
+        if (_id < 1)
+            qt_static_metacall(this, _c, _id, _a);
+        _id -= 1;
+    } else if (_c == QMetaObject::RegisterMethodArgumentMetaType) {
+        if (_id < 1)
+            *reinterpret_cast<QMetaType *>(_a[0]) = QMetaType();
+        _id -= 1;
+    }
+    return _id;
+}
+
+// SIGNAL 0
+void CSampleCaptureHandler::sendImage(QImage _t1)
+{
+    void *_a[] = { nullptr, const_cast<void*>(reinterpret_cast<const void*>(std::addressof(_t1))) };
+    QMetaObject::activate(this, &staticMetaObject, 0, _a);
+}
+QT_WARNING_POP
+QT_END_MOC_NAMESPACE
diff --git a/materialscanner/x64/Release/qmake/qtvars_x64_Release.props b/materialscanner/x64/Release/qmake/qtvars_x64_Release.props
index 7613371b32f594578c3a3a373ba9e7a0039615a7..817f690bfdf5af6d4c67c8bac50f362a5c075b93 100644
--- a/materialscanner/x64/Release/qmake/qtvars_x64_Release.props
+++ b/materialscanner/x64/Release/qmake/qtvars_x64_Release.props
@@ -1,32 +1,32 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
 <Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB</Qt_DEFINES_>
-<Qt_INCLUDEPATH_>G:\dev\projects\materialscanner\materialscanner\x64\Release\qmake\temp;G:\dev\tools\6.2.4\msvc2019_64\include;G:\dev\tools\6.2.4\msvc2019_64\include\QtWidgets;G:\dev\tools\6.2.4\msvc2019_64\include\QtGui;G:\dev\tools\6.2.4\msvc2019_64\include\QtCore;G:\dev\projects\materialscanner\materialscanner\x64\Release\qmake\temp;/include;G:\dev\tools\6.2.4\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
+<Qt_INCLUDEPATH_>D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Release\qmake\temp;D:\Qt\6.2.4\msvc2019_64\include;D:\Qt\6.2.4\msvc2019_64\include\QtWidgets;D:\Qt\6.2.4\msvc2019_64\include\QtGui;D:\Qt\6.2.4\msvc2019_64\include\QtCore;D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Release\qmake\temp;/include;D:\Qt\6.2.4\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
 <Qt_STDCPP_>stdcpp17</Qt_STDCPP_>
 <Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8</Qt_CL_OPTIONS_>
-<Qt_LIBS_>G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6Widgets.lib;G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6Gui.lib;G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6Core.lib;G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6EntryPoint.lib;shell32.lib</Qt_LIBS_>
+<Qt_LIBS_>D:\Qt\6.2.4\msvc2019_64\lib\Qt6Widgets.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Gui.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Core.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6EntryPoint.lib;shell32.lib</Qt_LIBS_>
 <Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
 <QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
-<QMake_QT_INSTALL_PREFIX_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
-<QMake_QT_INSTALL_ARCHDATA_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
-<QMake_QT_INSTALL_DATA_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_INSTALL_DATA_>
-<QMake_QT_INSTALL_DOCS_>G:/dev/tools/Docs/Qt-6.2.4</QMake_QT_INSTALL_DOCS_>
-<QMake_QT_INSTALL_HEADERS_>G:/dev/tools/6.2.4/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
-<QMake_QT_INSTALL_LIBS_>G:/dev/tools/6.2.4/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
-<QMake_QT_INSTALL_LIBEXECS_>G:/dev/tools/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
-<QMake_QT_INSTALL_BINS_>G:/dev/tools/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
-<QMake_QT_INSTALL_TESTS_>G:/dev/tools/6.2.4/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
-<QMake_QT_INSTALL_PLUGINS_>G:/dev/tools/6.2.4/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
-<QMake_QT_INSTALL_QML_>G:/dev/tools/6.2.4/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
-<QMake_QT_INSTALL_TRANSLATIONS_>G:/dev/tools/6.2.4/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
+<QMake_QT_INSTALL_PREFIX_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
+<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
+<QMake_QT_INSTALL_DATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_DATA_>
+<QMake_QT_INSTALL_DOCS_>D:/Qt/Docs/Qt-6.2.4</QMake_QT_INSTALL_DOCS_>
+<QMake_QT_INSTALL_HEADERS_>D:/Qt/6.2.4/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
+<QMake_QT_INSTALL_LIBS_>D:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
+<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
+<QMake_QT_INSTALL_BINS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
+<QMake_QT_INSTALL_TESTS_>D:/Qt/6.2.4/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
+<QMake_QT_INSTALL_PLUGINS_>D:/Qt/6.2.4/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
+<QMake_QT_INSTALL_QML_>D:/Qt/6.2.4/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
+<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/6.2.4/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
 <QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
-<QMake_QT_INSTALL_EXAMPLES_>G:/dev/tools/Examples/Qt-6.2.4</QMake_QT_INSTALL_EXAMPLES_>
-<QMake_QT_INSTALL_DEMOS_>G:/dev/tools/Examples/Qt-6.2.4</QMake_QT_INSTALL_DEMOS_>
-<QMake_QT_HOST_PREFIX_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_HOST_PREFIX_>
-<QMake_QT_HOST_DATA_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_HOST_DATA_>
-<QMake_QT_HOST_BINS_>G:/dev/tools/6.2.4/msvc2019_64/bin</QMake_QT_HOST_BINS_>
-<QMake_QT_HOST_LIBEXECS_>G:/dev/tools/6.2.4/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
-<QMake_QT_HOST_LIBS_>G:/dev/tools/6.2.4/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
+<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_EXAMPLES_>
+<QMake_QT_INSTALL_DEMOS_>D:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_DEMOS_>
+<QMake_QT_HOST_PREFIX_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_PREFIX_>
+<QMake_QT_HOST_DATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_DATA_>
+<QMake_QT_HOST_BINS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_BINS_>
+<QMake_QT_HOST_LIBEXECS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
+<QMake_QT_HOST_LIBS_>D:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
 <QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
 <QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
 <QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
diff --git a/materialscanner/x64/Release/qmake/temp/.qmake.stash b/materialscanner/x64/Release/qmake/temp/.qmake.stash
index 25ca1a2f95041fc2f9312bbc98cff0d3fe4a3076..be6ba31453020c2cbadc48b0ff45c6716ca7c77c 100644
--- a/materialscanner/x64/Release/qmake/temp/.qmake.stash
+++ b/materialscanner/x64/Release/qmake/temp/.qmake.stash
@@ -1,6 +1,6 @@
 QMAKE_CXX.QT_COMPILER_STDCXX = 199711L
-QMAKE_CXX.QMAKE_MSC_VER = 1929
-QMAKE_CXX.QMAKE_MSC_FULL_VER = 192930141
+QMAKE_CXX.QMAKE_MSC_VER = 1924
+QMAKE_CXX.QMAKE_MSC_FULL_VER = 192428316
 QMAKE_CXX.COMPILER_MACROS = \
     QT_COMPILER_STDCXX \
     QMAKE_MSC_VER \
diff --git a/materialscanner/x64/Release/qmake/temp/4B0C42FC-1A58-4426-8803-5DB7203D559C.materialscanner.designtime.idx b/materialscanner/x64/Release/qmake/temp/4B0C42FC-1A58-4426-8803-5DB7203D559C.materialscanner.designtime.idx
index e4220fe8864a364576a9e675ea0aa3ea47c9a4e8..39b8da7612d04d5fed7aa35feb3c7a0f0bdd2f7c 100644
--- a/materialscanner/x64/Release/qmake/temp/4B0C42FC-1A58-4426-8803-5DB7203D559C.materialscanner.designtime.idx
+++ b/materialscanner/x64/Release/qmake/temp/4B0C42FC-1A58-4426-8803-5DB7203D559C.materialscanner.designtime.idx
@@ -1 +1 @@
-C:\Users\JANBR~1\AppData\Local\Temp\ymonetom.3ch.designtime.props
+C:\Users\Marike\AppData\Local\Temp\b42qwcth.ova.designtime.props
diff --git a/materialscanner/x64/Release/qmake/temp/props.txt b/materialscanner/x64/Release/qmake/temp/props.txt
index 3d25ff9a59bab803a1864d7767390155b842e798..9002da111668debfc431e442c0c812efd2df510b 100644
--- a/materialscanner/x64/Release/qmake/temp/props.txt
+++ b/materialscanner/x64/Release/qmake/temp/props.txt
@@ -1,24 +1,24 @@
 QT_SYSROOT:
-QT_INSTALL_PREFIX:G:/dev/tools/6.2.4/msvc2019_64
-QT_INSTALL_ARCHDATA:G:/dev/tools/6.2.4/msvc2019_64
-QT_INSTALL_DATA:G:/dev/tools/6.2.4/msvc2019_64
-QT_INSTALL_DOCS:G:/dev/tools/Docs/Qt-6.2.4
-QT_INSTALL_HEADERS:G:/dev/tools/6.2.4/msvc2019_64/include
-QT_INSTALL_LIBS:G:/dev/tools/6.2.4/msvc2019_64/lib
-QT_INSTALL_LIBEXECS:G:/dev/tools/6.2.4/msvc2019_64/bin
-QT_INSTALL_BINS:G:/dev/tools/6.2.4/msvc2019_64/bin
-QT_INSTALL_TESTS:G:/dev/tools/6.2.4/msvc2019_64/tests
-QT_INSTALL_PLUGINS:G:/dev/tools/6.2.4/msvc2019_64/plugins
-QT_INSTALL_QML:G:/dev/tools/6.2.4/msvc2019_64/qml
-QT_INSTALL_TRANSLATIONS:G:/dev/tools/6.2.4/msvc2019_64/translations
+QT_INSTALL_PREFIX:D:/Qt/6.2.4/msvc2019_64
+QT_INSTALL_ARCHDATA:D:/Qt/6.2.4/msvc2019_64
+QT_INSTALL_DATA:D:/Qt/6.2.4/msvc2019_64
+QT_INSTALL_DOCS:D:/Qt/Docs/Qt-6.2.4
+QT_INSTALL_HEADERS:D:/Qt/6.2.4/msvc2019_64/include
+QT_INSTALL_LIBS:D:/Qt/6.2.4/msvc2019_64/lib
+QT_INSTALL_LIBEXECS:D:/Qt/6.2.4/msvc2019_64/bin
+QT_INSTALL_BINS:D:/Qt/6.2.4/msvc2019_64/bin
+QT_INSTALL_TESTS:D:/Qt/6.2.4/msvc2019_64/tests
+QT_INSTALL_PLUGINS:D:/Qt/6.2.4/msvc2019_64/plugins
+QT_INSTALL_QML:D:/Qt/6.2.4/msvc2019_64/qml
+QT_INSTALL_TRANSLATIONS:D:/Qt/6.2.4/msvc2019_64/translations
 QT_INSTALL_CONFIGURATION:
-QT_INSTALL_EXAMPLES:G:/dev/tools/Examples/Qt-6.2.4
-QT_INSTALL_DEMOS:G:/dev/tools/Examples/Qt-6.2.4
-QT_HOST_PREFIX:G:/dev/tools/6.2.4/msvc2019_64
-QT_HOST_DATA:G:/dev/tools/6.2.4/msvc2019_64
-QT_HOST_BINS:G:/dev/tools/6.2.4/msvc2019_64/bin
-QT_HOST_LIBEXECS:G:/dev/tools/6.2.4/msvc2019_64/bin
-QT_HOST_LIBS:G:/dev/tools/6.2.4/msvc2019_64/lib
+QT_INSTALL_EXAMPLES:D:/Qt/Examples/Qt-6.2.4
+QT_INSTALL_DEMOS:D:/Qt/Examples/Qt-6.2.4
+QT_HOST_PREFIX:D:/Qt/6.2.4/msvc2019_64
+QT_HOST_DATA:D:/Qt/6.2.4/msvc2019_64
+QT_HOST_BINS:D:/Qt/6.2.4/msvc2019_64/bin
+QT_HOST_LIBEXECS:D:/Qt/6.2.4/msvc2019_64/bin
+QT_HOST_LIBS:D:/Qt/6.2.4/msvc2019_64/lib
 QMAKE_SPEC:win32-msvc
 QMAKE_XSPEC:win32-msvc
 QMAKE_VERSION:3.1
diff --git a/materialscanner/x64/Release/qmake/temp/qtvars.log b/materialscanner/x64/Release/qmake/temp/qtvars.log
index 75ed1f111cfe783d7a84d14327e92276f9a55f3f..949a3537f2b1cb8ebdda7670666c19265c9bc892 100644
--- a/materialscanner/x64/Release/qmake/temp/qtvars.log
+++ b/materialscanner/x64/Release/qmake/temp/qtvars.log
@@ -1 +1 @@
-Info: creating stash file G:\dev\projects\materialscanner\materialscanner\x64\Release\qmake\temp\.qmake.stash
+Info: creating stash file D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Release\qmake\temp\.qmake.stash
diff --git a/materialscanner/x64/Release/qmake/temp/qtvars.vcxproj b/materialscanner/x64/Release/qmake/temp/qtvars.vcxproj
index f5a3a7574e7008d0216cbd945e91e844d1b530d9..550d5ce3181330d89c3cdc15720464a4c8c8633d 100644
--- a/materialscanner/x64/Release/qmake/temp/qtvars.vcxproj
+++ b/materialscanner/x64/Release/qmake/temp/qtvars.vcxproj
@@ -34,7 +34,7 @@
   </PropertyGroup>
   <ItemDefinitionGroup Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">
     <ClCompile>
-      <AdditionalIncludeDirectories>G:\dev\projects\materialscanner\materialscanner\x64\Release\qmake\temp;G:\dev\tools\6.2.4\msvc2019_64\include;G:\dev\tools\6.2.4\msvc2019_64\include\QtWidgets;G:\dev\tools\6.2.4\msvc2019_64\include\QtGui;G:\dev\tools\6.2.4\msvc2019_64\include\QtCore;G:\dev\projects\materialscanner\materialscanner\x64\Release\qmake\temp;/include;G:\dev\tools\6.2.4\msvc2019_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
+      <AdditionalIncludeDirectories>D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Release\qmake\temp;D:\Qt\6.2.4\msvc2019_64\include;D:\Qt\6.2.4\msvc2019_64\include\QtWidgets;D:\Qt\6.2.4\msvc2019_64\include\QtGui;D:\Qt\6.2.4\msvc2019_64\include\QtCore;D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Release\qmake\temp;/include;D:\Qt\6.2.4\msvc2019_64\mkspecs\win32-msvc;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
       <AdditionalOptions>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8 %(AdditionalOptions)</AdditionalOptions>
       <AssemblerListingLocation>.\</AssemblerListingLocation>
       <BrowseInformation>false</BrowseInformation>
@@ -52,7 +52,7 @@
       <WarningLevel>TurnOffAllWarnings</WarningLevel>
     </ClCompile>
     <Link>
-      <AdditionalDependencies>G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6Widgets.lib;G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6Gui.lib;G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6Core.lib;G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6EntryPoint.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+      <AdditionalDependencies>D:\Qt\6.2.4\msvc2019_64\lib\Qt6Widgets.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Gui.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Core.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6EntryPoint.lib;shell32.lib;%(AdditionalDependencies)</AdditionalDependencies>
       <AdditionalOptions>&quot;/MANIFESTDEPENDENCY:type=&apos;win32&apos; name=&apos;Microsoft.Windows.Common-Controls&apos; version=&apos;6.0.0.0&apos; publicKeyToken=&apos;6595b64144ccf1df&apos; language=&apos;*&apos; processorArchitecture=&apos;*&apos;&quot; %(AdditionalOptions)</AdditionalOptions>
       <DataExecutionPrevention>true</DataExecutionPrevention>
       <EnableCOMDATFolding>true</EnableCOMDATFolding>
@@ -77,8 +77,8 @@
   <ItemGroup>
     <CustomBuild Include="moc_predefs.h.cbt">
       <FileType>Document</FileType>
-      <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">G:\dev\tools\6.2.4\msvc2019_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
-      <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">cl -BxG:\dev\tools\6.2.4\msvc2019_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -O2 -MD -std:c++17 -utf-8 -W0 -E G:\dev\tools\6.2.4\msvc2019_64\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;moc_predefs.h</Command>
+      <AdditionalInputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">D:\Qt\6.2.4\msvc2019_64\mkspecs\features\data\dummy.cpp;%(AdditionalInputs)</AdditionalInputs>
+      <Command Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">cl -BxD:\Qt\6.2.4\msvc2019_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -O2 -MD -std:c++17 -utf-8 -W0 -E D:\Qt\6.2.4\msvc2019_64\mkspecs\features\data\dummy.cpp 2&gt;NUL &gt;moc_predefs.h</Command>
       <Message Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">Generate moc_predefs.h</Message>
       <Outputs Condition="&apos;$(Configuration)|$(Platform)&apos;==&apos;Release|x64&apos;">moc_predefs.h;%(Outputs)</Outputs>
     </CustomBuild>
diff --git a/materialscanner/x64/Release/qmake/temp/qtvars_x64_Release.props b/materialscanner/x64/Release/qmake/temp/qtvars_x64_Release.props
index 7613371b32f594578c3a3a373ba9e7a0039615a7..817f690bfdf5af6d4c67c8bac50f362a5c075b93 100644
--- a/materialscanner/x64/Release/qmake/temp/qtvars_x64_Release.props
+++ b/materialscanner/x64/Release/qmake/temp/qtvars_x64_Release.props
@@ -1,32 +1,32 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
   <PropertyGroup>
 <Qt_DEFINES_>_WINDOWS;UNICODE;_UNICODE;WIN32;_ENABLE_EXTENDED_ALIGNED_STORAGE;WIN64;NDEBUG;QT_NO_DEBUG;QT_WIDGETS_LIB;QT_GUI_LIB;QT_CORE_LIB</Qt_DEFINES_>
-<Qt_INCLUDEPATH_>G:\dev\projects\materialscanner\materialscanner\x64\Release\qmake\temp;G:\dev\tools\6.2.4\msvc2019_64\include;G:\dev\tools\6.2.4\msvc2019_64\include\QtWidgets;G:\dev\tools\6.2.4\msvc2019_64\include\QtGui;G:\dev\tools\6.2.4\msvc2019_64\include\QtCore;G:\dev\projects\materialscanner\materialscanner\x64\Release\qmake\temp;/include;G:\dev\tools\6.2.4\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
+<Qt_INCLUDEPATH_>D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Release\qmake\temp;D:\Qt\6.2.4\msvc2019_64\include;D:\Qt\6.2.4\msvc2019_64\include\QtWidgets;D:\Qt\6.2.4\msvc2019_64\include\QtGui;D:\Qt\6.2.4\msvc2019_64\include\QtCore;D:\Dokumente\GitHub\MaterialscannerGUI\materialscanner-qt\materialscanner\x64\Release\qmake\temp;/include;D:\Qt\6.2.4\msvc2019_64\mkspecs\win32-msvc</Qt_INCLUDEPATH_>
 <Qt_STDCPP_>stdcpp17</Qt_STDCPP_>
 <Qt_CL_OPTIONS_>-Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -permissive- -Zc:__cplusplus -Zc:externConstexpr -utf-8</Qt_CL_OPTIONS_>
-<Qt_LIBS_>G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6Widgets.lib;G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6Gui.lib;G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6Core.lib;G:\dev\tools\6.2.4\msvc2019_64\lib\Qt6EntryPoint.lib;shell32.lib</Qt_LIBS_>
+<Qt_LIBS_>D:\Qt\6.2.4\msvc2019_64\lib\Qt6Widgets.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Gui.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6Core.lib;D:\Qt\6.2.4\msvc2019_64\lib\Qt6EntryPoint.lib;shell32.lib</Qt_LIBS_>
 <Qt_LINK_OPTIONS_>"/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'"</Qt_LINK_OPTIONS_>
 <QMake_QT_SYSROOT_></QMake_QT_SYSROOT_>
-<QMake_QT_INSTALL_PREFIX_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
-<QMake_QT_INSTALL_ARCHDATA_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
-<QMake_QT_INSTALL_DATA_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_INSTALL_DATA_>
-<QMake_QT_INSTALL_DOCS_>G:/dev/tools/Docs/Qt-6.2.4</QMake_QT_INSTALL_DOCS_>
-<QMake_QT_INSTALL_HEADERS_>G:/dev/tools/6.2.4/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
-<QMake_QT_INSTALL_LIBS_>G:/dev/tools/6.2.4/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
-<QMake_QT_INSTALL_LIBEXECS_>G:/dev/tools/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
-<QMake_QT_INSTALL_BINS_>G:/dev/tools/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
-<QMake_QT_INSTALL_TESTS_>G:/dev/tools/6.2.4/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
-<QMake_QT_INSTALL_PLUGINS_>G:/dev/tools/6.2.4/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
-<QMake_QT_INSTALL_QML_>G:/dev/tools/6.2.4/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
-<QMake_QT_INSTALL_TRANSLATIONS_>G:/dev/tools/6.2.4/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
+<QMake_QT_INSTALL_PREFIX_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_PREFIX_>
+<QMake_QT_INSTALL_ARCHDATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_ARCHDATA_>
+<QMake_QT_INSTALL_DATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_INSTALL_DATA_>
+<QMake_QT_INSTALL_DOCS_>D:/Qt/Docs/Qt-6.2.4</QMake_QT_INSTALL_DOCS_>
+<QMake_QT_INSTALL_HEADERS_>D:/Qt/6.2.4/msvc2019_64/include</QMake_QT_INSTALL_HEADERS_>
+<QMake_QT_INSTALL_LIBS_>D:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_INSTALL_LIBS_>
+<QMake_QT_INSTALL_LIBEXECS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_LIBEXECS_>
+<QMake_QT_INSTALL_BINS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_INSTALL_BINS_>
+<QMake_QT_INSTALL_TESTS_>D:/Qt/6.2.4/msvc2019_64/tests</QMake_QT_INSTALL_TESTS_>
+<QMake_QT_INSTALL_PLUGINS_>D:/Qt/6.2.4/msvc2019_64/plugins</QMake_QT_INSTALL_PLUGINS_>
+<QMake_QT_INSTALL_QML_>D:/Qt/6.2.4/msvc2019_64/qml</QMake_QT_INSTALL_QML_>
+<QMake_QT_INSTALL_TRANSLATIONS_>D:/Qt/6.2.4/msvc2019_64/translations</QMake_QT_INSTALL_TRANSLATIONS_>
 <QMake_QT_INSTALL_CONFIGURATION_></QMake_QT_INSTALL_CONFIGURATION_>
-<QMake_QT_INSTALL_EXAMPLES_>G:/dev/tools/Examples/Qt-6.2.4</QMake_QT_INSTALL_EXAMPLES_>
-<QMake_QT_INSTALL_DEMOS_>G:/dev/tools/Examples/Qt-6.2.4</QMake_QT_INSTALL_DEMOS_>
-<QMake_QT_HOST_PREFIX_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_HOST_PREFIX_>
-<QMake_QT_HOST_DATA_>G:/dev/tools/6.2.4/msvc2019_64</QMake_QT_HOST_DATA_>
-<QMake_QT_HOST_BINS_>G:/dev/tools/6.2.4/msvc2019_64/bin</QMake_QT_HOST_BINS_>
-<QMake_QT_HOST_LIBEXECS_>G:/dev/tools/6.2.4/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
-<QMake_QT_HOST_LIBS_>G:/dev/tools/6.2.4/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
+<QMake_QT_INSTALL_EXAMPLES_>D:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_EXAMPLES_>
+<QMake_QT_INSTALL_DEMOS_>D:/Qt/Examples/Qt-6.2.4</QMake_QT_INSTALL_DEMOS_>
+<QMake_QT_HOST_PREFIX_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_PREFIX_>
+<QMake_QT_HOST_DATA_>D:/Qt/6.2.4/msvc2019_64</QMake_QT_HOST_DATA_>
+<QMake_QT_HOST_BINS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_BINS_>
+<QMake_QT_HOST_LIBEXECS_>D:/Qt/6.2.4/msvc2019_64/bin</QMake_QT_HOST_LIBEXECS_>
+<QMake_QT_HOST_LIBS_>D:/Qt/6.2.4/msvc2019_64/lib</QMake_QT_HOST_LIBS_>
 <QMake_QMAKE_SPEC_>win32-msvc</QMake_QMAKE_SPEC_>
 <QMake_QMAKE_XSPEC_>win32-msvc</QMake_QMAKE_XSPEC_>
 <QMake_QMAKE_VERSION_>3.1</QMake_QMAKE_VERSION_>
diff --git a/materialscanner/x64/Release/qt_work.log b/materialscanner/x64/Release/qt_work.log
index 1ff707b7e217d2c3e9d0b7d9410469f01cf68213..dab057910d67e3e00a68eed1e85c9a7e4b44c781 100644
Binary files a/materialscanner/x64/Release/qt_work.log and b/materialscanner/x64/Release/qt_work.log differ
diff --git a/oldUI/materialscanner.qrc b/oldUI/materialscanner.qrc
new file mode 100644
index 0000000000000000000000000000000000000000..7ac24cfc130fc9cdac013370bfc13f2192eb8f06
--- /dev/null
+++ b/oldUI/materialscanner.qrc
@@ -0,0 +1,4 @@
+<RCC>
+    <qresource prefix="materialscanner">
+    </qresource>
+</RCC>
diff --git a/oldUI/materialscanner.ui b/oldUI/materialscanner.ui
new file mode 100644
index 0000000000000000000000000000000000000000..8997683cd0cdecf5ff389a13a26d5ff62baedb6e
--- /dev/null
+++ b/oldUI/materialscanner.ui
@@ -0,0 +1,25 @@
+<UI version="4.0" >
+ <class>materialscannerClass</class>
+ <widget class="QWidget" name="materialscannerClass" >
+  <property name="objectName" >
+   <string notr="true">materialscannerClass</string>
+  </property>
+  <property name="geometry" >
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>600</width>
+    <height>400</height>
+   </rect>
+  </property>
+  <property name="windowTitle" >
+   <string>materialscanner</string>
+  </property>$centralwidget$
+ </widget>
+ <layoutDefault spacing="6" margin="11" />
+ <pixmapfunction></pixmapfunction>
+ <resources>
+   <include location="materialscanner.qrc"/>
+ </resources>
+ <connections/>
+</UI>
diff --git a/x64/Debug/materialscanner.ilk b/x64/Debug/materialscanner.ilk
index fff6a8253cc6f942b351b4affbc2a5cb940e291c..9d78589064c85f624ab87864693dadf26c276998 100644
Binary files a/x64/Debug/materialscanner.ilk and b/x64/Debug/materialscanner.ilk differ
diff --git a/x64/Debug/materialscanner.pdb b/x64/Debug/materialscanner.pdb
index 1770163d0ba79ba62c65cb5f05d357637d7cdeff..f9e81dde90bc186d8db558dda5ec593de407b407 100644
Binary files a/x64/Debug/materialscanner.pdb and b/x64/Debug/materialscanner.pdb differ