Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::ToFCameraDevice Class Referenceabstract

Virtual interface and base class for all Time-of-Flight devices. More...

#include <mitkToFCameraDevice.h>

Inheritance diagram for mitk::ToFCameraDevice:
Collaboration diagram for mitk::ToFCameraDevice:

Public Member Functions

 mitkClassMacroItkParent (ToFCameraDevice, itk::Object)
 
virtual bool OnConnectCamera ()=0
 Opens a connection to the ToF camera. Has to be implemented in the specialized inherited classes. More...
 
virtual bool ConnectCamera ()
 ConnectCamera Internally calls OnConnectCamera() of the respective device implementation. More...
 
virtual bool DisconnectCamera ()=0
 closes the connection to the camera More...
 
virtual void StartCamera ()=0
 starts the continuous updating of the camera. A separate thread updates the source data, the main thread processes the source data and creates images and coordinates More...
 
virtual void StopCamera ()
 stops the continuous updating of the camera More...
 
virtual bool IsCameraActive ()
 returns true if the camera is connected and started More...
 
virtual bool IsCameraConnected ()
 returns true if the camera is connected More...
 
virtual void UpdateCamera ()=0
 updates the camera for image acquisition More...
 
virtual void GetAmplitudes (float *amplitudeArray, int &imageSequence)=0
 gets the amplitude data from the ToF camera as the strength of the active illumination of every pixel These values can be used to determine the quality of the distance values. The higher the amplitude value, the higher the accuracy of the according distance value More...
 
virtual void GetIntensities (float *intensityArray, int &imageSequence)=0
 gets the intensity data from the ToF camera as a greyscale image More...
 
virtual void GetDistances (float *distanceArray, int &imageSequence)=0
 gets the distance data from the ToF camera measuring the distance between the camera and the different object points in millimeters More...
 
virtual void GetAllImages (float *distanceArray, float *amplitudeArray, float *intensityArray, char *sourceDataArray, int requiredImageSequence, int &capturedImageSequence, unsigned char *rgbDataArray=NULL)=0
 gets the 3 images (distance, amplitude, intensity) from the ToF camera. Caution! The user is responsible for allocating and deleting the images. More...
 
virtual int GetCaptureWidth ()
 get the currently set capture width More...
 
virtual int GetCaptureHeight ()
 get the currently set capture height More...
 
virtual int GetSourceDataSize ()
 get the currently set source data size More...
 
virtual int GetBufferSize ()
 get the currently set buffer size More...
 
virtual int GetMaxBufferSize ()
 get the currently set max buffer size More...
 
void SetBoolProperty (const char *propertyKey, bool boolValue)
 set a bool property in the property list More...
 
void SetIntProperty (const char *propertyKey, int intValue)
 set an int property in the property list More...
 
void SetFloatProperty (const char *propertyKey, float floatValue)
 set a float property in the property list More...
 
void SetStringProperty (const char *propertyKey, const char *stringValue)
 set a string property in the property list More...
 
virtual void SetProperty (const char *propertyKey, BaseProperty *propertyValue)
 set a BaseProperty property in the property list More...
 
virtual BasePropertyGetProperty (const char *propertyKey)
 get a BaseProperty from the property list More...
 
bool GetBoolProperty (const char *propertyKey, bool &boolValue)
 get a bool from the property list More...
 
bool GetStringProperty (const char *propertyKey, std::string &string)
 get a string from the property list More...
 
bool GetIntProperty (const char *propertyKey, int &integer)
 get an int from the property list More...
 
virtual int GetRGBCaptureWidth ()
 
virtual int GetRGBCaptureHeight ()
 

Protected Member Functions

 ToFCameraDevice ()
 
 ~ToFCameraDevice ()
 
virtual void AllocatePixelArrays ()
 method for allocating memory for pixel arrays m_IntensityArray, m_DistanceArray and m_AmplitudeArray More...
 
virtual void CleanupPixelArrays ()
 method for cleanup memory allocated for pixel arrays m_IntensityArray, m_DistanceArray and m_AmplitudeArray More...
 

Protected Attributes

float * m_IntensityArray
 float array holding the intensity image More...
 
float * m_DistanceArray
 float array holding the distance image More...
 
float * m_AmplitudeArray
 float array holding the amplitude image More...
 
int m_BufferSize
 buffer size of the image buffer needed for loss-less acquisition of range data More...
 
int m_MaxBufferSize
 maximal buffer size needed for initialization of data arrays. Default value is 100. More...
 
int m_CurrentPos
 current position in the buffer which will be retrieved by the Get methods More...
 
int m_FreePos
 current position in the buffer which will be filled with data acquired from the hardware More...
 
int m_CaptureWidth
 width of the range image (x dimension) More...
 
int m_CaptureHeight
 height of the range image (y dimension) More...
 
int m_PixelNumber
 number of pixels in the range image (m_CaptureWidth*m_CaptureHeight) More...
 
int m_RGBImageWidth
 width of the RGB image (x dimension) More...
 
int m_RGBImageHeight
 height of the RGB image (y dimension) More...
 
int m_RGBPixelNumber
 number of pixels in the range image (m_RGBImageWidth*m_RGBImageHeight) More...
 
int m_SourceDataSize
 size of the PMD source data More...
 
itk::MultiThreader::Pointer m_MultiThreader
 itk::MultiThreader used for thread handling More...
 
itk::FastMutexLock::Pointer m_ImageMutex
 mutex for images provided by the range camera More...
 
itk::FastMutexLock::Pointer m_CameraActiveMutex
 mutex for the cameraActive flag More...
 
int m_ThreadID
 ID of the started thread. More...
 
bool m_CameraActive
 flag indicating if the camera is currently active or not. Caution: thread safe access only! More...
 
bool m_CameraConnected
 flag indicating if the camera is successfully connected or not. Caution: thread safe access only! More...
 
int m_ImageSequence
 counter for acquired images More...
 
PropertyList::Pointer m_PropertyList
 a list of the corresponding properties More...
 

Detailed Description

Virtual interface and base class for all Time-of-Flight devices.

Definition at line 40 of file mitkToFCameraDevice.h.

Constructor & Destructor Documentation

mitk::ToFCameraDevice::~ToFCameraDevice ( )
protected

Definition at line 46 of file mitkToFCameraDevice.cpp.

Member Function Documentation

void mitk::ToFCameraDevice::AllocatePixelArrays ( )
protectedvirtual

method for allocating memory for pixel arrays m_IntensityArray, m_DistanceArray and m_AmplitudeArray

Reimplemented in mitk::ToFCameraPMDRawDataDevice.

Definition at line 133 of file mitkToFCameraDevice.cpp.

References CleanupPixelArrays(), m_AmplitudeArray, m_DistanceArray, m_IntensityArray, and m_PixelNumber.

Referenced by mitk::ToFCameraMITKPlayerDevice::OnConnectCamera(), and mitk::ToFCameraPMDDevice::OnConnectCamera().

void mitk::ToFCameraDevice::CleanupPixelArrays ( )
protectedvirtual

method for cleanup memory allocated for pixel arrays m_IntensityArray, m_DistanceArray and m_AmplitudeArray

Reimplemented in mitk::ToFCameraPMDRawDataDevice.

Definition at line 117 of file mitkToFCameraDevice.cpp.

References m_AmplitudeArray, m_DistanceArray, and m_IntensityArray.

Referenced by AllocatePixelArrays(), and mitk::ToFCameraPMDDevice::~ToFCameraPMDDevice().

bool mitk::ToFCameraDevice::ConnectCamera ( )
virtual

ConnectCamera Internally calls OnConnectCamera() of the respective device implementation.

Returns
True for success.

Reimplemented in mitk::ToFCameraPMDRawDataCamBoardDevice.

Definition at line 178 of file mitkToFCameraDevice.cpp.

References OnConnectCamera().

virtual bool mitk::ToFCameraDevice::DisconnectCamera ( )
pure virtual
virtual void mitk::ToFCameraDevice::GetAllImages ( float *  distanceArray,
float *  amplitudeArray,
float *  intensityArray,
char *  sourceDataArray,
int  requiredImageSequence,
int &  capturedImageSequence,
unsigned char *  rgbDataArray = NULL 
)
pure virtual

gets the 3 images (distance, amplitude, intensity) from the ToF camera. Caution! The user is responsible for allocating and deleting the images.

Parameters
distanceArraycontains the returned distance data as an array.
amplitudeArraycontains the returned amplitude data as an array.
intensityArraycontains the returned intensity data as an array.
sourceDataArraycontains the complete source data from the camera device.
requiredImageSequencethe required image sequence number
capturedImageSequencethe actually captured image sequence number

Implemented in mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraPMDRawDataDevice, mitk::ToFCameraMITKPlayerDevice, and mitk::ToFCameraPMDRawDataCamBoardDevice.

virtual void mitk::ToFCameraDevice::GetAmplitudes ( float *  amplitudeArray,
int &  imageSequence 
)
pure virtual

gets the amplitude data from the ToF camera as the strength of the active illumination of every pixel These values can be used to determine the quality of the distance values. The higher the amplitude value, the higher the accuracy of the according distance value

Parameters
imageSequencethe actually captured image sequence number
amplitudeArraycontains the returned amplitude data as an array.

Implemented in mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraPMDRawDataDevice, mitk::ToFCameraMITKPlayerDevice, and mitk::ToFCameraPMDRawDataCamBoardDevice.

bool mitk::ToFCameraDevice::GetBoolProperty ( const char *  propertyKey,
bool &  boolValue 
)
virtual int mitk::ToFCameraDevice::GetBufferSize ( )
virtual

get the currently set buffer size

Returns
buffer size
virtual int mitk::ToFCameraDevice::GetCaptureHeight ( )
virtual
virtual int mitk::ToFCameraDevice::GetCaptureWidth ( )
virtual
virtual void mitk::ToFCameraDevice::GetDistances ( float *  distanceArray,
int &  imageSequence 
)
pure virtual

gets the distance data from the ToF camera measuring the distance between the camera and the different object points in millimeters

Parameters
distanceArraycontains the returned distances data as an array.
imageSequencethe actually captured image sequence number

Implemented in mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraPMDRawDataDevice, mitk::ToFCameraMITKPlayerDevice, and mitk::ToFCameraPMDRawDataCamBoardDevice.

virtual void mitk::ToFCameraDevice::GetIntensities ( float *  intensityArray,
int &  imageSequence 
)
pure virtual

gets the intensity data from the ToF camera as a greyscale image

Parameters
intensityArraycontains the returned intensities data as an array.
imageSequencethe actually captured image sequence number

Implemented in mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraPMDRawDataDevice, mitk::ToFCameraMITKPlayerDevice, and mitk::ToFCameraPMDRawDataCamBoardDevice.

bool mitk::ToFCameraDevice::GetIntProperty ( const char *  propertyKey,
int &  integer 
)
virtual int mitk::ToFCameraDevice::GetMaxBufferSize ( )
virtual

get the currently set max buffer size

Returns
max buffer size
BaseProperty * mitk::ToFCameraDevice::GetProperty ( const char *  propertyKey)
virtual

get a BaseProperty from the property list

Definition at line 75 of file mitkToFCameraDevice.cpp.

References m_PropertyList.

Referenced by mitk::KinectV2Device::Acquire(), GetBoolProperty(), GetIntProperty(), and GetStringProperty().

int mitk::ToFCameraDevice::GetRGBCaptureHeight ( )
virtual

Reimplemented in mitk::KinectV2Device, and mitk::KinectDevice.

Definition at line 151 of file mitkToFCameraDevice.cpp.

References m_RGBImageHeight.

int mitk::ToFCameraDevice::GetRGBCaptureWidth ( )
virtual

Reimplemented in mitk::KinectV2Device, and mitk::KinectDevice.

Definition at line 146 of file mitkToFCameraDevice.cpp.

References m_RGBImageWidth.

virtual int mitk::ToFCameraDevice::GetSourceDataSize ( )
virtual

get the currently set source data size

Returns
source data size
bool mitk::ToFCameraDevice::GetStringProperty ( const char *  propertyKey,
std::string &  string 
)

get a string from the property list

Definition at line 90 of file mitkToFCameraDevice.cpp.

References GetProperty().

Referenced by mitk::ToFCameraPMDPlayerDevice::SetProperty(), and mitk::ToFCameraMITKPlayerDevice::SetProperty().

bool mitk::ToFCameraDevice::IsCameraActive ( )
virtual
bool mitk::ToFCameraDevice::IsCameraConnected ( )
virtual

returns true if the camera is connected

Definition at line 185 of file mitkToFCameraDevice.cpp.

References m_CameraConnected.

mitk::ToFCameraDevice::mitkClassMacroItkParent ( ToFCameraDevice  ,
itk::Object   
)
virtual bool mitk::ToFCameraDevice::OnConnectCamera ( )
pure virtual

Opens a connection to the ToF camera. Has to be implemented in the specialized inherited classes.

Returns
True for success.

Implemented in mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraMITKPlayerDevice, and mitk::ToFCameraPMDRawDataDevice.

Referenced by ConnectCamera().

void mitk::ToFCameraDevice::SetBoolProperty ( const char *  propertyKey,
bool  boolValue 
)

set a bool property in the property list

Definition at line 50 of file mitkToFCameraDevice.cpp.

References mitk::BoolProperty::New(), and SetProperty().

Referenced by mitk::ToFCameraMITKPlayerDevice::OnConnectCamera(), and mitk::KinectDevice::OnConnectCamera().

void mitk::ToFCameraDevice::SetFloatProperty ( const char *  propertyKey,
float  floatValue 
)

set a float property in the property list

Definition at line 60 of file mitkToFCameraDevice.cpp.

References mitk::FloatProperty::New(), and SetProperty().

void mitk::ToFCameraDevice::SetIntProperty ( const char *  propertyKey,
int  intValue 
)

set an int property in the property list

Definition at line 55 of file mitkToFCameraDevice.cpp.

References mitk::IntProperty::New(), and SetProperty().

void mitk::ToFCameraDevice::SetStringProperty ( const char *  propertyKey,
const char *  stringValue 
)

set a string property in the property list

Definition at line 65 of file mitkToFCameraDevice.cpp.

References mitk::StringProperty::New(), and SetProperty().

virtual void mitk::ToFCameraDevice::StartCamera ( )
pure virtual

starts the continuous updating of the camera. A separate thread updates the source data, the main thread processes the source data and creates images and coordinates

Implemented in mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraMITKPlayerDevice, and mitk::ToFCameraPMDRawDataDevice.

void mitk::ToFCameraDevice::StopCamera ( )
virtual

stops the continuous updating of the camera

Reimplemented in mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, and mitk::ToFCameraPMDRawDataDevice.

Definition at line 156 of file mitkToFCameraDevice.cpp.

References m_CameraActive, m_CameraActiveMutex, m_MultiThreader, and m_ThreadID.

virtual void mitk::ToFCameraDevice::UpdateCamera ( )
pure virtual

Member Data Documentation

bool mitk::ToFCameraDevice::m_CameraActive
protected

flag indicating if the camera is currently active or not. Caution: thread safe access only!

Definition at line 221 of file mitkToFCameraDevice.h.

Referenced by mitk::ToFCameraPMDRawDataCamBoardDevice::GetAllImages(), mitk::ToFCameraPMDRawDataDevice::GetAllImages(), mitk::ToFCameraPMDDevice::GetAllImages(), mitk::ToFCameraMESADevice::GetAllImages(), mitk::KinectDevice::GetAllImages(), mitk::KinectV2Device::GetAllImages(), mitk::ToFCameraPMDRawDataCamBoardDevice::GetAmplitudes(), mitk::ToFCameraPMDRawDataDevice::GetAmplitudes(), mitk::ToFCameraPMDDevice::GetAmplitudes(), mitk::ToFCameraMESADevice::GetAmplitudes(), mitk::KinectDevice::GetAmplitudes(), mitk::KinectV2Device::GetAmplitudes(), mitk::ToFCameraPMDRawDataCamBoardDevice::GetDistances(), mitk::ToFCameraPMDRawDataDevice::GetDistances(), mitk::ToFCameraPMDDevice::GetDistances(), mitk::ToFCameraMESADevice::GetDistances(), mitk::KinectDevice::GetDistances(), mitk::KinectV2Device::GetDistances(), mitk::ToFCameraPMDRawDataCamBoardDevice::GetIntensities(), mitk::ToFCameraPMDRawDataDevice::GetIntensities(), mitk::ToFCameraPMDDevice::GetIntensities(), mitk::ToFCameraMESADevice::GetIntensities(), mitk::ToFCameraPMDRawDataDevice::IsCameraActive(), mitk::ToFCameraMESADevice::IsCameraActive(), IsCameraActive(), mitk::KinectDevice::IsCameraActive(), mitk::KinectV2Device::IsCameraActive(), mitk::ToFCameraPMDRawDataDevice::StartCamera(), mitk::ToFCameraMITKPlayerDevice::StartCamera(), mitk::ToFCameraMESADevice::StartCamera(), mitk::ToFCameraPMDDevice::StartCamera(), mitk::KinectDevice::StartCamera(), mitk::KinectV2Device::StartCamera(), mitk::ToFCameraPMDRawDataDevice::StopCamera(), mitk::ToFCameraMESADevice::StopCamera(), mitk::KinectDevice::StopCamera(), StopCamera(), and mitk::KinectV2Device::StopCamera().

int mitk::ToFCameraDevice::m_CurrentPos
protected
int mitk::ToFCameraDevice::m_ImageSequence
protected

counter for acquired images

Definition at line 223 of file mitkToFCameraDevice.h.

Referenced by mitk::ToFCameraMITKPlayerDevice::Acquire(), mitk::ToFCameraMESADevice::Acquire(), mitk::ToFCameraPMDDevice::Acquire(), mitk::KinectDevice::Acquire(), mitk::KinectV2Device::Acquire(), mitk::ToFCameraPMDRawDataDevice::Acquire(), mitk::ToFCameraPMDRawDataCamBoardDevice::GetAllImages(), mitk::ToFCameraMITKPlayerDevice::GetAllImages(), mitk::ToFCameraPMDRawDataDevice::GetAllImages(), mitk::ToFCameraPMDDevice::GetAllImages(), mitk::ToFCameraMESADevice::GetAllImages(), mitk::KinectDevice::GetAllImages(), mitk::KinectV2Device::GetAllImages(), mitk::ToFCameraPMDRawDataCamBoardDevice::GetAmplitudes(), mitk::ToFCameraMITKPlayerDevice::GetAmplitudes(), mitk::ToFCameraPMDRawDataDevice::GetAmplitudes(), mitk::ToFCameraPMDDevice::GetAmplitudes(), mitk::ToFCameraMESADevice::GetAmplitudes(), mitk::KinectDevice::GetAmplitudes(), mitk::KinectV2Device::GetAmplitudes(), mitk::ToFCameraPMDRawDataCamBoardDevice::GetDistances(), mitk::ToFCameraMITKPlayerDevice::GetDistances(), mitk::ToFCameraPMDRawDataDevice::GetDistances(), mitk::ToFCameraPMDDevice::GetDistances(), mitk::ToFCameraMESADevice::GetDistances(), mitk::KinectDevice::GetDistances(), mitk::KinectV2Device::GetDistances(), mitk::ToFCameraPMDRawDataCamBoardDevice::GetIntensities(), mitk::ToFCameraMITKPlayerDevice::GetIntensities(), mitk::ToFCameraPMDRawDataDevice::GetIntensities(), mitk::ToFCameraPMDDevice::GetIntensities(), mitk::ToFCameraMESADevice::GetIntensities(), mitk::ToFCameraMITKPlayerDevice::GetRgb(), mitk::ToFCameraPMDRawDataDevice::StartCamera(), mitk::ToFCameraMITKPlayerDevice::StartCamera(), mitk::ToFCameraMESADevice::StartCamera(), mitk::KinectDevice::StartCamera(), mitk::ToFCameraPMDDevice::StartCamera(), and mitk::KinectV2Device::StartCamera().


The documentation for this class was generated from the following files: