Medical Imaging Interaction Toolkit
2023.12.00
Medical Imaging Interaction Toolkit
|
Virtual interface and base class for all Time-of-Flight devices. More...
#include <mitkToFCameraDevice.h>
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=nullptr)=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 BaseProperty * | GetProperty (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 () override | |
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... | |
std::mutex | m_ImageMutex |
mutex for images provided by the range camera More... | |
std::mutex | m_CameraActiveMutex |
mutex for the cameraActive flag More... | |
std::thread | m_Thread |
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... | |
Virtual interface and base class for all Time-of-Flight devices.
Definition at line 37 of file mitkToFCameraDevice.h.
|
protected |
|
overrideprotected |
|
protectedvirtual |
method for allocating memory for pixel arrays m_IntensityArray, m_DistanceArray and m_AmplitudeArray
Reimplemented in mitk::ToFCameraPMDRawDataDevice.
|
protectedvirtual |
method for cleanup memory allocated for pixel arrays m_IntensityArray, m_DistanceArray and m_AmplitudeArray
Reimplemented in mitk::ToFCameraPMDRawDataDevice.
|
virtual |
ConnectCamera Internally calls OnConnectCamera() of the respective device implementation.
Reimplemented in mitk::ToFCameraPMDRawDataCamBoardDevice.
|
pure virtual |
closes the connection to the camera
Implemented in mitk::ToFCameraMITKPlayerDevice, mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraMESADevice, and mitk::ToFCameraPMDRawDataDevice.
|
pure virtual |
gets the 3 images (distance, amplitude, intensity) from the ToF camera. Caution! The user is responsible for allocating and deleting the images.
distanceArray | contains the returned distance data as an array. |
amplitudeArray | contains the returned amplitude data as an array. |
intensityArray | contains the returned intensity data as an array. |
sourceDataArray | contains the complete source data from the camera device. |
requiredImageSequence | the required image sequence number |
capturedImageSequence | the actually captured image sequence number |
rgbDataArray |
Implemented in mitk::ToFCameraMITKPlayerDevice, mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraPMDRawDataDevice, and mitk::ToFCameraPMDRawDataCamBoardDevice.
|
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
imageSequence | the actually captured image sequence number |
amplitudeArray | contains the returned amplitude data as an array. |
Implemented in mitk::ToFCameraMITKPlayerDevice, mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraPMDRawDataDevice, and mitk::ToFCameraPMDRawDataCamBoardDevice.
bool mitk::ToFCameraDevice::GetBoolProperty | ( | const char * | propertyKey, |
bool & | boolValue | ||
) |
get a bool from the property list
|
virtual |
get the currently set buffer size
|
virtual |
get the currently set capture height
|
virtual |
get the currently set capture width
|
pure virtual |
gets the distance data from the ToF camera measuring the distance between the camera and the different object points in millimeters
distanceArray | contains the returned distances data as an array. |
imageSequence | the actually captured image sequence number |
Implemented in mitk::ToFCameraMITKPlayerDevice, mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraPMDRawDataDevice, and mitk::ToFCameraPMDRawDataCamBoardDevice.
|
pure virtual |
gets the intensity data from the ToF camera as a greyscale image
intensityArray | contains the returned intensities data as an array. |
imageSequence | the actually captured image sequence number |
Implemented in mitk::ToFCameraMITKPlayerDevice, mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraPMDRawDataDevice, and mitk::ToFCameraPMDRawDataCamBoardDevice.
bool mitk::ToFCameraDevice::GetIntProperty | ( | const char * | propertyKey, |
int & | integer | ||
) |
get an int from the property list
|
virtual |
get the currently set max buffer size
|
virtual |
get a BaseProperty from the property list
|
virtual |
Reimplemented in mitk::KinectV2Device, and mitk::KinectDevice.
|
virtual |
Reimplemented in mitk::KinectV2Device, and mitk::KinectDevice.
|
virtual |
get the currently set source data size
bool mitk::ToFCameraDevice::GetStringProperty | ( | const char * | propertyKey, |
std::string & | string | ||
) |
get a string from the property list
|
virtual |
returns true if the camera is connected and started
Reimplemented in mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, and mitk::ToFCameraPMDRawDataDevice.
|
virtual |
returns true if the camera is connected
mitk::ToFCameraDevice::mitkClassMacroItkParent | ( | ToFCameraDevice | , |
itk::Object | |||
) |
|
pure virtual |
Opens a connection to the ToF camera. Has to be implemented in the specialized inherited classes.
Implemented in mitk::ToFCameraMITKPlayerDevice, mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraMESADevice, and mitk::ToFCameraPMDRawDataDevice.
void mitk::ToFCameraDevice::SetBoolProperty | ( | const char * | propertyKey, |
bool | boolValue | ||
) |
set a bool property in the property list
void mitk::ToFCameraDevice::SetFloatProperty | ( | const char * | propertyKey, |
float | floatValue | ||
) |
set a float property in the property list
void mitk::ToFCameraDevice::SetIntProperty | ( | const char * | propertyKey, |
int | intValue | ||
) |
set an int property in the property list
|
virtual |
set a BaseProperty property in the property list
Reimplemented in mitk::ToFCameraMITKPlayerDevice, mitk::KinectDevice, mitk::ToFCameraMESADevice, mitk::ToFCameraPMDRawDataDevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraMESASR4000Device, mitk::ToFCameraPMDCamBoardDevice, mitk::ToFCameraPMDPlayerDevice, mitk::ToFCameraPMDCamCubeDevice, mitk::ToFCameraPMDRawDataCamBoardDevice, and mitk::ToFCameraPMDRawDataCamCubeDevice.
void mitk::ToFCameraDevice::SetStringProperty | ( | const char * | propertyKey, |
const char * | stringValue | ||
) |
set a string property in the property list
|
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::ToFCameraMITKPlayerDevice, mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraMESADevice, and mitk::ToFCameraPMDRawDataDevice.
|
virtual |
stops the continuous updating of the camera
Reimplemented in mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraMESADevice, and mitk::ToFCameraPMDRawDataDevice.
|
pure virtual |
updates the camera for image acquisition
Implemented in mitk::ToFCameraMITKPlayerDevice, mitk::KinectV2Device, mitk::KinectDevice, mitk::ToFCameraPMDDevice, mitk::ToFCameraMESADevice, and mitk::ToFCameraPMDRawDataDevice.
|
protected |
float array holding the amplitude image
Definition at line 203 of file mitkToFCameraDevice.h.
|
protected |
buffer size of the image buffer needed for loss-less acquisition of range data
Definition at line 204 of file mitkToFCameraDevice.h.
|
protected |
flag indicating if the camera is currently active or not. Caution: thread safe access only!
Definition at line 218 of file mitkToFCameraDevice.h.
|
protected |
mutex for the cameraActive flag
Definition at line 216 of file mitkToFCameraDevice.h.
|
protected |
flag indicating if the camera is successfully connected or not. Caution: thread safe access only!
Definition at line 219 of file mitkToFCameraDevice.h.
|
protected |
height of the range image (y dimension)
Definition at line 209 of file mitkToFCameraDevice.h.
|
protected |
width of the range image (x dimension)
Definition at line 208 of file mitkToFCameraDevice.h.
|
protected |
current position in the buffer which will be retrieved by the Get methods
Definition at line 206 of file mitkToFCameraDevice.h.
|
protected |
float array holding the distance image
Definition at line 202 of file mitkToFCameraDevice.h.
|
protected |
current position in the buffer which will be filled with data acquired from the hardware
Definition at line 207 of file mitkToFCameraDevice.h.
|
protected |
mutex for images provided by the range camera
Definition at line 215 of file mitkToFCameraDevice.h.
|
protected |
counter for acquired images
Definition at line 220 of file mitkToFCameraDevice.h.
|
protected |
float array holding the intensity image
Definition at line 201 of file mitkToFCameraDevice.h.
|
protected |
maximal buffer size needed for initialization of data arrays. Default value is 100.
Definition at line 205 of file mitkToFCameraDevice.h.
|
protected |
number of pixels in the range image (m_CaptureWidth*m_CaptureHeight)
Definition at line 210 of file mitkToFCameraDevice.h.
|
protected |
a list of the corresponding properties
Definition at line 222 of file mitkToFCameraDevice.h.
|
protected |
height of the RGB image (y dimension)
Definition at line 212 of file mitkToFCameraDevice.h.
|
protected |
width of the RGB image (x dimension)
Definition at line 211 of file mitkToFCameraDevice.h.
|
protected |
number of pixels in the range image (m_RGBImageWidth*m_RGBImageHeight)
Definition at line 213 of file mitkToFCameraDevice.h.
|
protected |
size of the PMD source data
Definition at line 214 of file mitkToFCameraDevice.h.
|
protected |
Definition at line 217 of file mitkToFCameraDevice.h.