Device class representing a PMD CamBoard camera. More...
#include <mitkToFCameraPMDCamBoardDevice.h>
Public Member Functions | |
mitkClassMacro (ToFCameraPMDCamBoardDevice, ToFCameraPMDDevice) | |
itkFactorylessNewMacro (Self) | |
itkCloneMacro (Self) | |
virtual void | SetProperty (const char *propertyKey, BaseProperty *propertyValue) |
set a BaseProperty | |
void | SetRegionOfInterest (unsigned int leftUpperCornerX, unsigned int leftUpperCornerY, unsigned int width, unsigned int height) |
Setting the region of interest, the camera is configured to only output a certain area of the image. | |
![]() | |
mitkClassMacro (ToFCameraPMDDevice, ToFCameraDevice) | |
itkFactorylessNewMacro (Self) | |
itkCloneMacro (Self) | |
virtual bool | OnConnectCamera () |
opens a connection to the ToF camera | |
virtual bool | DisconnectCamera () |
closes the connection to the camera | |
virtual void | StartCamera () |
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 | |
virtual void | UpdateCamera () |
updated the controller hold by this device | |
virtual void | GetAmplitudes (float *amplitudeArray, int &imageSequence) |
gets the amplitude data from the ToF camera as the strength of the active illumination of every pixel. Caution! The user is responsible for allocating and deleting the images. 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 | |
virtual void | GetIntensities (float *intensityArray, int &imageSequence) |
gets the intensity data from the ToF camera as a greyscale image. Caution! The user is responsible for allocating and deleting the images. | |
virtual void | GetDistances (float *distanceArray, int &imageSequence) |
gets the distance data from the ToF camera measuring the distance between the camera and the different object points in millimeters. Caution! The user is responsible for allocating and deleting the images. | |
virtual void | GetAllImages (float *distanceArray, float *amplitudeArray, float *intensityArray, char *sourceDataArray, int requiredImageSequence, int &capturedImageSequence, unsigned char *rgbDataArray=nullptr) |
gets the 3 images (distance, amplitude, intensity) from the ToF camera. Caution! The user is responsible for allocating and deleting the images. | |
ToFCameraPMDController::Pointer | GetController () |
returns the corresponding camera controller | |
![]() | |
mitkClassMacroItkParent (ToFCameraDevice, itk::Object) | |
virtual bool | ConnectCamera () |
ConnectCamera Internally calls OnConnectCamera() of the respective device implementation. | |
virtual void | StopCamera () |
stops the continuous updating of the camera | |
virtual bool | IsCameraActive () |
returns true if the camera is connected and started | |
virtual bool | IsCameraConnected () |
returns true if the camera is connected | |
itkGetMacro (CaptureWidth, int) | |
get the currently set capture width | |
itkGetMacro (CaptureHeight, int) | |
get the currently set capture height | |
itkGetMacro (SourceDataSize, int) | |
get the currently set source data size | |
itkGetMacro (BufferSize, int) | |
get the currently set buffer size | |
itkGetMacro (MaxBufferSize, int) | |
get the currently set max buffer size | |
void | SetBoolProperty (const char *propertyKey, bool boolValue) |
set a bool property in the property list | |
void | SetIntProperty (const char *propertyKey, int intValue) |
set an int property in the property list | |
void | SetFloatProperty (const char *propertyKey, float floatValue) |
set a float property in the property list | |
void | SetStringProperty (const char *propertyKey, const char *stringValue) |
set a string property in the property list | |
virtual BaseProperty * | GetProperty (const char *propertyKey) |
get a BaseProperty from the property list | |
bool | GetBoolProperty (const char *propertyKey, bool &boolValue) |
get a bool from the property list | |
bool | GetStringProperty (const char *propertyKey, std::string &string) |
get a string from the property list | |
bool | GetIntProperty (const char *propertyKey, int &integer) |
get an int from the property list | |
virtual int | GetRGBCaptureWidth () |
virtual int | GetRGBCaptureHeight () |
Protected Member Functions | |
ToFCameraPMDCamBoardDevice () | |
~ToFCameraPMDCamBoardDevice () | |
![]() | |
ToFCameraPMDDevice () | |
~ToFCameraPMDDevice () | |
virtual void | AllocateSourceData () |
method for allocating m_SourceDataArray and m_SourceDataBuffer | |
virtual void | CleanUpSourceData () |
method for cleaning up memory allocated for m_SourceDataArray and m_SourceDataBuffer | |
void | GetNextPos () |
moves the position pointer m_CurrentPos to the next position in the buffer if that's not the next free position to prevent reading from an empty buffer | |
![]() | |
ToFCameraDevice () | |
~ToFCameraDevice () override | |
virtual void | AllocatePixelArrays () |
method for allocating memory for pixel arrays m_IntensityArray, m_DistanceArray and m_AmplitudeArray | |
virtual void | CleanupPixelArrays () |
method for cleanup memory allocated for pixel arrays m_IntensityArray, m_DistanceArray and m_AmplitudeArray | |
Additional Inherited Members | |
![]() | |
static ITK_THREAD_RETURN_TYPE | Acquire (void *pInfoStruct) |
Thread method continuously acquiring images from the ToF hardware. | |
![]() | |
ToFCameraPMDController::Pointer | m_Controller |
corresponding CameraController | |
char ** | m_SourceDataBuffer |
buffer holding the last acquired images | |
char * | m_SourceDataArray |
array holding the current PMD source data | |
![]() | |
float * | m_IntensityArray |
float array holding the intensity image | |
float * | m_DistanceArray |
float array holding the distance image | |
float * | m_AmplitudeArray |
float array holding the amplitude image | |
int | m_BufferSize |
buffer size of the image buffer needed for loss-less acquisition of range data | |
int | m_MaxBufferSize |
maximal buffer size needed for initialization of data arrays. Default value is 100. | |
int | m_CurrentPos |
current position in the buffer which will be retrieved by the Get methods | |
int | m_FreePos |
current position in the buffer which will be filled with data acquired from the hardware | |
int | m_CaptureWidth |
width of the range image (x dimension) | |
int | m_CaptureHeight |
height of the range image (y dimension) | |
int | m_PixelNumber |
number of pixels in the range image (m_CaptureWidth*m_CaptureHeight) | |
int | m_RGBImageWidth |
width of the RGB image (x dimension) | |
int | m_RGBImageHeight |
height of the RGB image (y dimension) | |
int | m_RGBPixelNumber |
number of pixels in the range image (m_RGBImageWidth*m_RGBImageHeight) | |
int | m_SourceDataSize |
size of the PMD source data | |
std::mutex | m_ImageMutex |
mutex for images provided by the range camera | |
std::mutex | m_CameraActiveMutex |
mutex for the cameraActive flag | |
std::thread | m_Thread |
bool | m_CameraActive |
flag indicating if the camera is currently active or not. Caution: thread safe access only! | |
bool | m_CameraConnected |
flag indicating if the camera is successfully connected or not. Caution: thread safe access only! | |
int | m_ImageSequence |
counter for acquired images | |
PropertyList::Pointer | m_PropertyList |
a list of the corresponding properties | |
Device class representing a PMD CamBoard camera.
Definition at line 34 of file mitkToFCameraPMDCamBoardDevice.h.
|
protected |
Definition at line 21 of file mitkToFCameraPMDCamBoardDevice.cpp.
|
protected |
Definition at line 26 of file mitkToFCameraPMDCamBoardDevice.cpp.
mitk::ToFCameraPMDCamBoardDevice::itkCloneMacro | ( | Self | ) |
mitk::ToFCameraPMDCamBoardDevice::itkFactorylessNewMacro | ( | Self | ) |
mitk::ToFCameraPMDCamBoardDevice::mitkClassMacro | ( | ToFCameraPMDCamBoardDevice | , |
ToFCameraPMDDevice | ) |
|
virtual |
set a BaseProperty
Reimplemented from mitk::ToFCameraPMDDevice.
Definition at line 38 of file mitkToFCameraPMDCamBoardDevice.cpp.
void mitk::ToFCameraPMDCamBoardDevice::SetRegionOfInterest | ( | unsigned int | leftUpperCornerX, |
unsigned int | leftUpperCornerY, | ||
unsigned int | width, | ||
unsigned int | height ) |
Setting the region of interest, the camera is configured to only output a certain area of the image.
leftUpperCornerX | x value of left upper corner of region |
leftUpperCornerY | y value of left upper corner of region |
width | width of region |
height | height of region |
Definition at line 30 of file mitkToFCameraPMDCamBoardDevice.cpp.