MITK-IGT
IGT Extension of MITK
Loading...
Searching...
No Matches
mitkKinectV2Device.h
Go to the documentation of this file.
1/*============================================================================
2
3The Medical Imaging Interaction Toolkit (MITK)
4
5Copyright (c) German Cancer Research Center (DKFZ)
6All rights reserved.
7
8Use of this source code is governed by a 3-clause BSD license that can be
9found in the LICENSE file.
10
11============================================================================*/
12#ifndef mitkKinectV2Device_h
13#define mitkKinectV2Device_h
14
15#include <mitkCommon.h>
16#include <MitkKinectV2Exports.h>
17#include "mitkToFCameraDevice.h"
19
20#include <itkObject.h>
21#include <itkObjectFactory.h>
22#include <itkMultiThreader.h>
23#include <itkFastMutexLock.h>
24
25#include <vtkSmartPointer.h>
26#include <vtkPolyData.h>
27
28
29namespace mitk
30{
41 class MITKKINECTV2_EXPORT KinectV2Device : public ToFCameraDevice
42 {
43 public:
44
53 itkSetMacro(PrintFrameRate, bool);
54
59 virtual bool OnConnectCamera();
63 virtual bool DisconnectCamera();
69 virtual void StartCamera();
73 virtual void StopCamera();
78 virtual void UpdateCamera();
82 virtual bool IsCameraActive();
89 virtual void GetAmplitudes(float* amplitudeArray, int& imageSequence);
95 virtual void GetIntensities(float* intensityArray, int& imageSequence);
101 virtual void GetDistances(float* distanceArray, int& imageSequence);
112 virtual void GetAllImages(float* distanceArray, float* amplitudeArray, float* intensityArray, char* sourceDataArray,
113 int requiredImageSequence, int& capturedImageSequence, unsigned char* rgbDataArray=nullptr);
117 KinectV2Controller::Pointer GetController();
118
122 int GetRGBCaptureWidth();
126 int GetRGBCaptureHeight();
127
128 protected:
129
131
133
137 static ITK_THREAD_RETURN_TYPE Acquire(void* pInfoStruct);
138 static bool m_PrintFrameRate;
139
140 KinectV2Controller::Pointer m_Controller;
141
142 float** m_DistanceDataBuffer;
143 float** m_AmplitudeDataBuffer;
144 unsigned char** m_RGBDataBuffer;
145
146
147
148 size_t m_DepthBufferSize;
149 size_t m_RGBBufferSize;
150
151 vtkSmartPointer<vtkPolyData> m_PolyData;
152 };
153} //END mitk namespace
154#endif
Interface to the Kinect 2 camera. Currently, the Microsoft SDK is used.
Interface for all representations of Microsoft Kinect V2 devices. Kinect2Device internally holds an i...
itkCloneMacro(Self) itkSetMacro(PrintFrameRate
mitkClassMacro(KinectV2Device, ToFCameraDevice)
Virtual interface and base class for all Time-of-Flight devices.
IGT Exceptions.