Medical Imaging Interaction Toolkit  2021.02.99-e55a5d2f
Medical Imaging Interaction Toolkit
mitkToFCameraMESADevice.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 #ifndef __mitkToFCameraMESADevice_h
13 #define __mitkToFCameraMESADevice_h
14 
15 #include <MitkMESASR4000ModuleExports.h>
16 #include "mitkCommon.h"
17 #include "mitkToFCameraDevice.h"
19 
20 #include "itkObject.h"
21 #include "itkObjectFactory.h"
22 #include "itkMultiThreader.h"
23 #include "itkFastMutexLock.h"
24 
25 
26 namespace mitk
27 {
36  class MITKMESASR4000_EXPORT ToFCameraMESADevice : public ToFCameraDevice
37  {
38  public:
39 
41 
42  itkFactorylessNewMacro(Self);
43 
44  itkCloneMacro(Self);
45 
49  virtual bool OnConnectCamera();
53  virtual bool DisconnectCamera();
58  virtual void StartCamera();
62  virtual void StopCamera();
66  virtual void UpdateCamera();
70  virtual bool IsCameraActive();
77  virtual void GetAmplitudes(float* amplitudeArray, int& imageSequence);
83  virtual void GetIntensities(float* intensityArray, int& imageSequence);
89  virtual void GetDistances(float* distanceArray, int& imageSequence);
100  virtual void GetAllImages(float* distanceArray, float* amplitudeArray, float* intensityArray, char* sourceDataArray,
101  int requiredImageSequence, int& capturedImageSequence, unsigned char* rgbDataArray=nullptr);
102 
106  ToFCameraMESAController::Pointer GetController();
107 
111  virtual void SetProperty( const char *propertyKey, BaseProperty* propertyValue );
112 
113  protected:
114 
116 
118 
122  static ITK_THREAD_RETURN_TYPE Acquire(void* pInfoStruct);
126  void GetNextPos();
127 
128  ToFCameraMESAController::Pointer m_Controller;
129 
133 
134  private:
135 
136  };
137 } //END mitk namespace
138 #endif
Virtual interface and base class for all Time-of-Flight devices.
DataCollection - Class to facilitate loading/accessing structured data.
Abstract base class for properties.
float ** m_AmplitudeDataBuffer
buffer holding the last amplitude images
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:36
Interface for all representations of MESA ToF devices. ToFCameraMESADevice internally holds an instan...
float ** m_DistanceDataBuffer
buffer holding the last distance images
float ** m_IntensityDataBuffer
buffer holding the last intensity images
ToFCameraMESAController::Pointer m_Controller
corresponding CameraController