Medical Imaging Interaction Toolkit  2018.4.99-389bf124
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);
99  virtual void GetAllImages(float* distanceArray, float* amplitudeArray, float* intensityArray, char* sourceDataArray,
100  int requiredImageSequence, int& capturedImageSequence, unsigned char* rgbDataArray=nullptr);
101 
105  ToFCameraMESAController::Pointer GetController();
106 
110  virtual void SetProperty( const char *propertyKey, BaseProperty* propertyValue );
111 
112  protected:
113 
115 
117 
121  static ITK_THREAD_RETURN_TYPE Acquire(void* pInfoStruct);
125  void GetNextPos();
126 
127  ToFCameraMESAController::Pointer m_Controller;
128 
132 
133  private:
134 
135  };
136 } //END mitk namespace
137 #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:40
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