Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkToFCameraPMDDevice.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,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 #ifndef __mitkToFCameraPMDDevice_h
17 #define __mitkToFCameraPMDDevice_h
18 
19 #include <MitkPMDExports.h>
20 #include "mitkCommon.h"
21 #include "mitkToFCameraDevice.h"
23 
24 #include "itkObject.h"
25 #include "itkObjectFactory.h"
26 #include "itkMultiThreader.h"
27 #include "itkFastMutexLock.h"
28 
29 
30 namespace mitk
31 {
42  class MITKPMD_EXPORT ToFCameraPMDDevice : public ToFCameraDevice
43  {
44  public:
45 
47 
48  itkFactorylessNewMacro(Self)
49  itkCloneMacro(Self)
50 
51 
55  virtual bool OnConnectCamera();
59  virtual bool DisconnectCamera();
65  virtual void StartCamera();
70  virtual void UpdateCamera();
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=NULL);
104  ToFCameraPMDController::Pointer GetController();
105 
109  virtual void SetProperty( const char *propertyKey, BaseProperty* propertyValue );
110 
111  protected:
112 
114 
116 
120  virtual void AllocateSourceData();
124  virtual void CleanUpSourceData();
125 
129  static ITK_THREAD_RETURN_TYPE Acquire(void* pInfoStruct);
133  void GetNextPos();
134 
138 
139  private:
140 
141  };
142 } //END mitk namespace
143 #endif
itk::SmartPointer< Self > Pointer
char * m_SourceDataArray
array holding the current PMD source data
Virtual interface and base class for all Time-of-Flight devices.
DataCollection - Class to facilitate loading/accessing structured data.
char ** m_SourceDataBuffer
buffer holding the last acquired images
ToFCameraPMDController::Pointer m_Controller
corresponding CameraController
Abstract base class for properties.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:44
Interface for all representations of PMD ToF devices. ToFCameraPMDDevice internally holds an instance...