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

Virtual interface and base class for all PMD Time-of-Flight devices. Wraps PMD API provided in PMDSDK2 Provides methods for accessing current distance, amplitude, intensity and raw data. Allows to set parameters like modulation frequency and integration time. More...

#include <mitkToFCameraPMDController.h>

Inheritance diagram for mitk::ToFCameraPMDController:
Collaboration diagram for mitk::ToFCameraPMDController:

Public Member Functions

 mitkClassMacroItkParent (ToFCameraPMDController, itk::Object)
 
virtual bool OpenCameraConnection ()=0
 opens a connection to the ToF camera. Has to be implemented by the sub class More...
 
virtual bool CloseCameraConnection ()
 closes the connection to the camera More...
 
virtual bool GetAmplitudes (float *amplitudeArray)
 Gets the current amplitude array from the device. More...
 
virtual bool GetAmplitudes (char *sourceData, float *amplitudeArray)
 Calculates the current amplitude data from the raw source data using the processing plugin of the PMDSDK. More...
 
virtual bool GetIntensities (float *intensityArray)
 Gets the current intensity array from the device. More...
 
virtual bool GetIntensities (char *sourceData, float *intensityArray)
 Calculates the current intensity data from the raw source data using the processing plugin of the PMDSDK. More...
 
virtual bool GetDistances (float *distanceArray)
 Gets the current distance array from the device. More...
 
virtual bool GetDistances (char *sourceData, float *distanceArray)
 Calculates the current distance data from the raw source data using the processing plugin of the PMDSDK. More...
 
virtual bool GetSourceData (char *sourceDataArray)
 Gets the PMD raw data from the ToF device. More...
 
bool GetShortSourceData (short *sourceData)
 Convenience method to get the PMD raw data from the ToF device as short array. More...
 
virtual bool UpdateCamera ()
 calls update on the camera -> a new ToF-image is aquired More...
 
virtual int GetModulationFrequency ()
 Returns the currently set modulation frequency. More...
 
virtual int SetModulationFrequency (unsigned int modulationFrequency)
 Sets the modulation frequency of the ToF device. The method automatically calculates a valid value from the given frequency to make sure that only valid frequencies are used. More...
 
virtual int GetIntegrationTime ()
 Returns the currently set integration time. More...
 
virtual int SetIntegrationTime (unsigned int integrationTime)
 Sets the integration time of the ToF device. The method automatically calculates a valid value from the given integration time to make sure that only valid times are used. More...
 
virtual void SetInputFileName (std::string inputFileName)
 set input file name used by PMD player classes More...
 
virtual unsigned int GetCaptureWidth ()
 Access the resolution of the image in x direction. More...
 
virtual unsigned int GetCaptureHeight ()
 Access the resolution of the image in y direction. More...
 
virtual unsigned int GetInternalCaptureWidth ()
 Access the chosen width of the resulting image in x direction. More...
 
virtual unsigned int GetInternalCaptureHeight ()
 Access the chosen width of the resulting image in y direction. More...
 
virtual int GetSourceDataStructSize ()
 

Protected Member Functions

 ToFCameraPMDController ()
 
 ~ToFCameraPMDController ()
 
bool ErrorText (int error)
 Method printing the current error message to the console and returning whether the previous command was successful. More...
 
virtual void TransformCameraOutput (float *in, float *out, bool isDist)=0
 

Protected Attributes

char m_PMDError [128]
 member holding the current error text More...
 
int m_PMDRes
 holds the current result message provided by PMD More...
 
int m_PixelNumber
 holds the number of pixels contained in the image More...
 
int m_NumberOfBytes
 holds the number of bytes contained in the image More...
 
unsigned int m_CaptureWidth
 holds the width of the image in pixel as it is originally acquired by the camera More...
 
unsigned int m_CaptureHeight
 holds the height of the image in pixel as it is originally acquired by the camera More...
 
unsigned int m_InternalCaptureWidth
 holds the width of the image in pixel as it is requested by the user (cf. TransformCameraOutput()) Default: m_CaptureWidth More...
 
unsigned int m_InternalCaptureHeight
 holds the height of the image in pixel as is it requested by the user (cf. TransformCameraOutput()) Default: m_CaptureHeight More...
 
int m_SourceDataSize
 size of the original PMD source data More...
 
int m_SourceDataStructSize
 size of the PMD source data struct and the PMD source data More...
 
bool m_ConnectionCheck
 flag showing whether the camera is connected (true) or not (false) More...
 
std::string m_InputFileName
 input file name used by PMD player classes More...
 
char * m_SourcePlugin
 holds name of source plugin to be loaded (e.g. camcube3.W64.pap for CamCube 3.0 on Win64 platform) More...
 
char * m_SourceParam
 holds source parameter(s) More...
 
char * m_ProcPlugin
 holds name of processing plugin to be loaded (e.g. camcubeproc.W64.pap for CamCube 3.0 on Win64 platform) More...
 
char * m_ProcParam
 holds processing parameter(s) More...
 

Detailed Description

Virtual interface and base class for all PMD Time-of-Flight devices. Wraps PMD API provided in PMDSDK2 Provides methods for accessing current distance, amplitude, intensity and raw data. Allows to set parameters like modulation frequency and integration time.

Definition at line 35 of file mitkToFCameraPMDController.h.

Constructor & Destructor Documentation

mitk::ToFCameraPMDController::ToFCameraPMDController ( )
protected

Definition at line 33 of file mitkToFCameraPMDController.cpp.

mitk::ToFCameraPMDController::~ToFCameraPMDController ( )
protected

Definition at line 39 of file mitkToFCameraPMDController.cpp.

Member Function Documentation

bool mitk::ToFCameraPMDController::CloseCameraConnection ( )
virtual

closes the connection to the camera

Definition at line 43 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_ConnectionCheck, m_PMDHandle, and m_PMDRes.

bool mitk::ToFCameraPMDController::ErrorText ( int  error)
protected

Method printing the current error message to the console and returning whether the previous command was successful.

Parameters
errorerror number returned by the PMD function
Returns
flag indicating if an error occured (false) or not (true)

Definition at line 51 of file mitkToFCameraPMDController.cpp.

References m_PMDError, m_PMDHandle, MITK_ERROR, and mitkThrow.

Referenced by CloseCameraConnection(), GetAmplitudes(), GetDistances(), GetIntegrationTime(), GetIntensities(), GetModulationFrequency(), GetShortSourceData(), GetSourceData(), mitk::ToFCameraPMDO3Controller::OpenCameraConnection(), mitk::ToFCameraPMDCamBoardController::OpenCameraConnection(), mitk::ToFCameraPMDCamCubeController::OpenCameraConnection(), mitk::ToFCameraPMDPlayerController::OpenCameraConnection(), SetIntegrationTime(), SetModulationFrequency(), and UpdateCamera().

bool mitk::ToFCameraPMDController::GetAmplitudes ( float *  amplitudeArray)
virtual

Gets the current amplitude array from the device.

Parameters
amplitudeArrayfloat array where the amplitude data will be saved

Definition at line 69 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_CaptureHeight, m_CaptureWidth, m_NumberOfBytes, m_PMDHandle, m_PMDRes, and TransformCameraOutput().

bool mitk::ToFCameraPMDController::GetAmplitudes ( char *  sourceData,
float *  amplitudeArray 
)
virtual

Calculates the current amplitude data from the raw source data using the processing plugin of the PMDSDK.

Parameters
sourceDataraw data array
amplitudeArrayfloat array where the amplitude data will be saved

Definition at line 78 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_CaptureHeight, m_CaptureWidth, m_DataDescription, m_NumberOfBytes, m_PMDHandle, m_PMDRes, and TransformCameraOutput().

virtual unsigned int mitk::ToFCameraPMDController::GetCaptureHeight ( )
virtual

Access the resolution of the image in y direction.

Returns
height of image in pixel
virtual unsigned int mitk::ToFCameraPMDController::GetCaptureWidth ( )
virtual

Access the resolution of the image in x direction.

Returns
widht of image in pixel
bool mitk::ToFCameraPMDController::GetDistances ( float *  distanceArray)
virtual

Gets the current distance array from the device.

Parameters
distanceArrayfloat array where the distance data will be saved

Definition at line 105 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_CaptureHeight, m_CaptureWidth, m_NumberOfBytes, m_PMDHandle, m_PMDRes, and TransformCameraOutput().

bool mitk::ToFCameraPMDController::GetDistances ( char *  sourceData,
float *  distanceArray 
)
virtual

Calculates the current distance data from the raw source data using the processing plugin of the PMDSDK.

Parameters
sourceDataraw data array
distanceArrayfloat array where the distance data will be saved

Definition at line 114 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_CaptureHeight, m_CaptureWidth, m_DataDescription, m_NumberOfBytes, m_PMDHandle, m_PMDRes, and TransformCameraOutput().

int mitk::ToFCameraPMDController::GetIntegrationTime ( )
virtual
bool mitk::ToFCameraPMDController::GetIntensities ( float *  intensityArray)
virtual

Gets the current intensity array from the device.

Parameters
intensityArrayfloat array where the intensity data will be saved

Definition at line 87 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_CaptureHeight, m_CaptureWidth, m_NumberOfBytes, m_PMDHandle, m_PMDRes, and TransformCameraOutput().

bool mitk::ToFCameraPMDController::GetIntensities ( char *  sourceData,
float *  intensityArray 
)
virtual

Calculates the current intensity data from the raw source data using the processing plugin of the PMDSDK.

Parameters
sourceDataraw data array
intensityArrayfloat array where the intensity data will be saved

Definition at line 96 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_CaptureHeight, m_CaptureWidth, m_DataDescription, m_NumberOfBytes, m_PMDHandle, m_PMDRes, and TransformCameraOutput().

virtual unsigned int mitk::ToFCameraPMDController::GetInternalCaptureHeight ( )
virtual

Access the chosen width of the resulting image in y direction.

Returns
height of image in pixel
virtual unsigned int mitk::ToFCameraPMDController::GetInternalCaptureWidth ( )
virtual

Access the chosen width of the resulting image in x direction.

Returns
widht of image in pixel
int mitk::ToFCameraPMDController::GetModulationFrequency ( )
virtual
bool mitk::ToFCameraPMDController::GetShortSourceData ( short *  sourceData)

Convenience method to get the PMD raw data from the ToF device as short array.

Parameters
sourceDataarray where the short raw data will be saved

Definition at line 135 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_DataDescription, m_PMDHandle, and m_PMDRes.

bool mitk::ToFCameraPMDController::GetSourceData ( char *  sourceDataArray)
virtual

Gets the PMD raw data from the ToF device.

Parameters
sourceDataArrayarray where the raw data will be saved

Definition at line 123 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_DataDescription, m_PMDHandle, m_PMDRes, and m_SourceDataSize.

virtual int mitk::ToFCameraPMDController::GetSourceDataStructSize ( )
virtual
mitk::ToFCameraPMDController::mitkClassMacroItkParent ( ToFCameraPMDController  ,
itk::Object   
)
virtual bool mitk::ToFCameraPMDController::OpenCameraConnection ( )
pure virtual

opens a connection to the ToF camera. Has to be implemented by the sub class

Exceptions
mitkExceptionIn case of no connection, an exception is thrown!

Implemented in mitk::ToFCameraPMDPlayerController, mitk::ToFCameraPMDCamBoardController, mitk::ToFCameraPMDCamCubeController, and mitk::ToFCameraPMDO3Controller.

void mitk::ToFCameraPMDController::SetInputFileName ( std::string  inputFileName)
virtual

set input file name used by PMD player classes

Definition at line 197 of file mitkToFCameraPMDController.cpp.

References m_InputFileName.

int mitk::ToFCameraPMDController::SetIntegrationTime ( unsigned int  integrationTime)
virtual

Sets the integration time of the ToF device. The method automatically calculates a valid value from the given integration time to make sure that only valid times are used.

Parameters
integrationTimeintegration time
Returns
integration time set after validation step

Reimplemented in mitk::ToFCameraPMDPlayerController.

Definition at line 143 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_ConnectionCheck, m_PMDHandle, m_PMDRes, and MITK_INFO.

int mitk::ToFCameraPMDController::SetModulationFrequency ( unsigned int  modulationFrequency)
virtual

Sets the modulation frequency of the ToF device. The method automatically calculates a valid value from the given frequency to make sure that only valid frequencies are used.

Parameters
modulationFrequencymodulation frequency
Returns
frequency set after validation step

Reimplemented in mitk::ToFCameraPMDPlayerController.

Definition at line 170 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_ConnectionCheck, m_PMDHandle, m_PMDRes, and MITK_INFO.

virtual void mitk::ToFCameraPMDController::TransformCameraOutput ( float *  in,
float *  out,
bool  isDist 
)
protectedpure virtual
bool mitk::ToFCameraPMDController::UpdateCamera ( )
virtual

calls update on the camera -> a new ToF-image is aquired

Exceptions
mitkExceptionIn case of no connection, an exception is thrown!

Definition at line 63 of file mitkToFCameraPMDController.cpp.

References ErrorText(), m_PMDHandle, and m_PMDRes.

Referenced by mitk::ToFCameraPMDO3Controller::OpenCameraConnection(), mitk::ToFCameraPMDCamBoardController::OpenCameraConnection(), and mitk::ToFCameraPMDCamCubeController::OpenCameraConnection().

Member Data Documentation

bool mitk::ToFCameraPMDController::m_ConnectionCheck
protected
std::string mitk::ToFCameraPMDController::m_InputFileName
protected

input file name used by PMD player classes

Definition at line 188 of file mitkToFCameraPMDController.h.

Referenced by mitk::ToFCameraPMDPlayerController::OpenCameraConnection(), and SetInputFileName().

char mitk::ToFCameraPMDController::m_PMDError[128]
protected

member holding the current error text

Definition at line 173 of file mitkToFCameraPMDController.h.

Referenced by ErrorText().

int mitk::ToFCameraPMDController::m_SourceDataStructSize
protected

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