Public Member Functions | Private Member Functions | Private Attributes | List of all members
ipa_CameraSensors::Swissranger Class Reference

#include <Swissranger.h>

Inheritance diagram for ipa_CameraSensors::Swissranger:
Inheritance graph
[legend]

Public Member Functions

unsigned long AcquireImages (int widthStepRange, int widthStepGray, int widthStepCartesian, char *RangeImage=NULL, char *IntensityImage=NULL, char *cartesianImage=NULL, bool getLatestFrame=true, bool undistort=true, ipa_CameraSensors::t_ToFGrayImageType grayImageType=ipa_CameraSensors::INTENSITY_32F1)
 
unsigned long AcquireImages (cv::Mat *rangeImage=0, cv::Mat *grayImage=0, cv::Mat *cartesianImage=0, bool getLatestFrame=true, bool undistort=true, ipa_CameraSensors::t_ToFGrayImageType grayImageType=ipa_CameraSensors::INTENSITY_32F1)
 
unsigned long Close ()
 
unsigned long GetProperty (t_cameraProperty *cameraProperty)
 
unsigned long Init (std::string directory, int cameraIndex=0)
 
bool isInitialized ()
 
bool isOpen ()
 
unsigned long Open ()
 
unsigned long SaveParameters (const char *filename)
 
unsigned long SetProperty (t_cameraProperty *cameraProperty)
 
unsigned long SetPropertyDefaults ()
 
 Swissranger ()
 
 ~Swissranger ()
 
- Public Member Functions inherited from ipa_CameraSensors::AbstractRangeImagingSensor
virtual t_CalibrationMethod GetCalibrationMethod ()
 
virtual t_cameraType GetCameraType ()
 
virtual int GetNumberOfImages ()
 
virtual unsigned long SetIntrinsics (cv::Mat &intrinsicMatrix, cv::Mat &undistortMapX, cv::Mat &undistortMapY)
 
virtual unsigned long SetPathToImages (std::string path)
 
virtual ~AbstractRangeImagingSensor ()
 Destructor. More...
 

Private Member Functions

unsigned long GetCalibratedXYMatlab (int u, int v, float z, float &x, float &y)
 
unsigned long GetCalibratedXYSwissranger (int u, int v, int width, float &x, float &y)
 
unsigned long GetCalibratedZMatlab (int u, int v, float zRaw, float &zCalibrated)
 
unsigned long GetCalibratedZSwissranger (int u, int v, int width, float &zCalibrated)
 
unsigned long LoadParameters (const char *filename, int cameraIndex)
 
unsigned long SetParameters ()
 

Private Attributes

cv::Mat m_CoeffsA0
 a0 z-calibration parameters. One matrix entry corresponds to one pixel More...
 
cv::Mat m_CoeffsA1
 a1 z-calibration parameters. One matrix entry corresponds to one pixel More...
 
cv::Mat m_CoeffsA2
 a2 z-calibration parameters. One matrix entry corresponds to one pixel More...
 
cv::Mat m_CoeffsA3
 a3 z-calibration parameters. One matrix entry corresponds to one pixel More...
 
cv::Mat m_CoeffsA4
 a4 z-calibration parameters. One matrix entry corresponds to one pixel More...
 
cv::Mat m_CoeffsA5
 a5 z-calibration parameters. One matrix entry corresponds to one pixel More...
 
cv::Mat m_CoeffsA6
 a6 z-calibration parameters. One matrix entry corresponds to one pixel More...
 
bool m_CoeffsInitialized
 True, when m_CoeffsAx have been initialized. More...
 
ImgEntry * m_DataBuffer
 Image array. More...
 
bool m_GrayImageAcquireCalled
 Is false, when acquiring gray image has not been called, yet. More...
 
int m_NumOfImages
 Number of images the siwssranger returns (i.e. an intensity and a range image) More...
 
SRCAM m_SRCam
 Handle to USB SR3000 camera. More...
 
float m_X [SWISSRANGER_COLUMNS *SWISSRANGER_ROWS]
 
float m_Y [SWISSRANGER_COLUMNS *SWISSRANGER_ROWS]
 
float m_Z [SWISSRANGER_COLUMNS *SWISSRANGER_ROWS]
 

Additional Inherited Members

- Public Attributes inherited from ipa_CameraSensors::AbstractRangeImagingSensor
unsigned int m_ImageCounter
 Holds the index of the image that is extracted during the next call of AcquireImages More...
 
- Protected Attributes inherited from ipa_CameraSensors::AbstractRangeImagingSensor
unsigned int m_BufferSize
 Number of images, the camera buffers internally. More...
 
t_CalibrationMethod m_CalibrationMethod
 Calibration method MATLAB, MATLAB_NO_Z or SWISSRANGER. More...
 
t_cameraType m_CameraType
 Camera Type. More...
 
bool m_initialized
 True, when the camera has sucessfully been initialized. More...
 
cv::Mat m_intrinsicMatrix
 Intrinsic parameters [fx 0 cx; 0 fy cy; 0 0 1]. More...
 
bool m_open
 True, when the camera has sucessfully been opend. More...
 
t_RangeCameraParameters m_RangeCameraParameters
 Storage for xml configuration file parmeters. More...
 
cv::Mat m_undistortMapX
 The output array of x coordinates for the undistortion map. More...
 
cv::Mat m_undistortMapY
 The output array of Y coordinates for the undistortion map. More...
 

Detailed Description

Interface class to SwissRanger camera SR-3000. Platform independent interface to SwissRanger camera SR-3000. Implementation depends on libusbSR library.

Definition at line 73 of file Swissranger.h.

Constructor & Destructor Documentation

Swissranger::Swissranger ( )

Definition at line 36 of file Swissranger.cpp.

Swissranger::~Swissranger ( )

Definition at line 49 of file Swissranger.cpp.

Member Function Documentation

unsigned long Swissranger::AcquireImages ( int  widthStepRange,
int  widthStepGray,
int  widthStepCartesian,
char *  rangeImage = NULL,
char *  grayImage = NULL,
char *  cartesianImage = NULL,
bool  getLatestFrame = true,
bool  undistort = true,
ipa_CameraSensors::t_ToFGrayImageType  grayImageType = ipa_CameraSensors::INTENSITY_32F1 
)
virtual

Acquires an image from SwissRanger. This implementation is designated for people that do not use openCV image type.

Parameters
widthStepRangeThe stride of a row from the range image.
widthStepGrayThe stride of a row from the grayscale intensity image.
widthStepCartesianThe stride of a row from the cartesian image.
rangeImagecharacter array with depth information.
grayImagecharacter array with intensity (grayscale) information.
cartesianImagecharacter array with cartesian (x,y,z) information in meters.
getLatestFrameSet true to acquire a new image on calling instead of returning the one acquired last time
useCalibratedZCalibrate z values
grayImageTypeEither gray image data is filled with amplitude image or intensity image
Returns
Return code.








Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 674 of file Swissranger.cpp.

unsigned long Swissranger::AcquireImages ( cv::Mat *  rangeImage = 0,
cv::Mat *  intensityImage = 0,
cv::Mat *  cartesianImage = 0,
bool  getLatestFrame = true,
bool  undistort = true,
ipa_CameraSensors::t_ToFGrayImageType  grayImageType = ipa_CameraSensors::INTENSITY_32F1 
)
virtual

Acquires an image from SwissRanger camera. Data is read from the camera and put into a corresponding OpenCV cv::Mat data type. The cv::Mat are allocated on demand.

Parameters
rangeImageOpenCV conform image with depth information.
grayImageOpenCV conform image with grayscale information.
cartesianImageOpenCV conform image with cartesian (x,y,z) information in meters.
getLatestFrameSet true to acquire a new image on calling instead of returning the one acquired last time
useCalibratedZCalibrate z values
grayImageTypeEither gray image data is filled with amplitude image or intensity image
Exceptions
IPA_ExceptionThrows an exception, if camera access failed

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 625 of file Swissranger.cpp.

unsigned long Swissranger::Close ( )
virtual

Close camera device.

Returns
Return code.

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 300 of file Swissranger.cpp.

unsigned long Swissranger::GetCalibratedXYMatlab ( int  u,
int  v,
float  z,
float &  x,
float &  y 
)
private

Definition at line 961 of file Swissranger.cpp.

unsigned long Swissranger::GetCalibratedXYSwissranger ( int  u,
int  v,
int  width,
float &  x,
float &  y 
)
private

Definition at line 1000 of file Swissranger.cpp.

unsigned long Swissranger::GetCalibratedZMatlab ( int  u,
int  v,
float  zRaw,
float &  zCalibrated 
)
private

Definition at line 940 of file Swissranger.cpp.

unsigned long Swissranger::GetCalibratedZSwissranger ( int  u,
int  v,
int  width,
float &  zCalibrated 
)
private

Definition at line 953 of file Swissranger.cpp.

unsigned long Swissranger::GetProperty ( t_cameraProperty cameraProperty)
virtual

Function to set properties of the range imaging sensor.

Parameters
propertyIDThe ID of the property.
cameraPropertyThe value of the property.
Returns
Return code.

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 552 of file Swissranger.cpp.

unsigned long Swissranger::Init ( std::string  directory,
int  cameraIndex = 0 
)
virtual

Initializes Swissranger.

Parameters
directoryPath to the directory of the range imaging sensor parameter file.
cameraIndexIt is possible to have several cameras of the same type on the system. One may use the camera index to apply different configuration files to each of them.
Returns
Return code.

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 84 of file Swissranger.cpp.

bool ipa_CameraSensors::Swissranger::isInitialized ( )
inlinevirtual

Determines if range imaging camera has successfully been initialized.

Returns
True if camera is initialized, false otherwise.

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 102 of file Swissranger.h.

bool ipa_CameraSensors::Swissranger::isOpen ( )
inlinevirtual

Determines if range imaging camera camera has successfully been opened.

Returns
True if camera is open, false otherwise.

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 103 of file Swissranger.h.

unsigned long Swissranger::LoadParameters ( const char *  filename,
int  cameraIndex 
)
privatevirtual

Load general Swissranger parameters and previously determined calibration parameters.

Parameters
filenameSwissranger parameter path and file name.
cameraIndexThe index of the camera within the configuration file i.e. SR_CAM_0 or SR_CAM_1
Returns
Return value

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 1130 of file Swissranger.cpp.

unsigned long Swissranger::Open ( )
virtual

Opens the camera device. All camera specific parameters for opening the camera should have been set within the Init() function.

Returns
Return code.

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 230 of file Swissranger.cpp.

unsigned long Swissranger::SaveParameters ( const char *  filename)
virtual

Save camera parameters. Saves the on-line set parameters for the range imaging camera to a file.

Parameters
filenameConfiguration file name.
Returns
Return code.

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 935 of file Swissranger.cpp.

unsigned long Swissranger::SetParameters ( )
private

Parses the data extracted by LoadParameters and calls the corresponding SetProperty functions.

Returns
Return code

Definition at line 1010 of file Swissranger.cpp.

unsigned long Swissranger::SetProperty ( t_cameraProperty cameraProperty)
virtual

Function to set properties of the range imaging sensor.

Parameters
propertyIDThe ID of the property.
cameraPropertyThe value of the property.
Returns
Return code.

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 321 of file Swissranger.cpp.

unsigned long Swissranger::SetPropertyDefaults ( )
virtual

Function to set property defaults of the range imaging sensor.

Returns
Return code.

Implements ipa_CameraSensors::AbstractRangeImagingSensor.

Definition at line 546 of file Swissranger.cpp.

Member Data Documentation

cv::Mat ipa_CameraSensors::Swissranger::m_CoeffsA0
private

a0 z-calibration parameters. One matrix entry corresponds to one pixel

Given a 32 bit swissranger depth value, the real depth value in meteres is given by: z(u,v)=a0(u,v)+a1(u,v)*d(u,v)+a2(u,v)*d(u,v)^2 +a3(u,v)*d(u,v)^3+a4(u,v)*d(u,v)^4+a5(u,v)*d(u,v)^5 +a6(u,v)*d(u,v)^6;

Definition at line 143 of file Swissranger.h.

cv::Mat ipa_CameraSensors::Swissranger::m_CoeffsA1
private

a1 z-calibration parameters. One matrix entry corresponds to one pixel

Definition at line 144 of file Swissranger.h.

cv::Mat ipa_CameraSensors::Swissranger::m_CoeffsA2
private

a2 z-calibration parameters. One matrix entry corresponds to one pixel

Definition at line 145 of file Swissranger.h.

cv::Mat ipa_CameraSensors::Swissranger::m_CoeffsA3
private

a3 z-calibration parameters. One matrix entry corresponds to one pixel

Definition at line 146 of file Swissranger.h.

cv::Mat ipa_CameraSensors::Swissranger::m_CoeffsA4
private

a4 z-calibration parameters. One matrix entry corresponds to one pixel

Definition at line 147 of file Swissranger.h.

cv::Mat ipa_CameraSensors::Swissranger::m_CoeffsA5
private

a5 z-calibration parameters. One matrix entry corresponds to one pixel

Definition at line 148 of file Swissranger.h.

cv::Mat ipa_CameraSensors::Swissranger::m_CoeffsA6
private

a6 z-calibration parameters. One matrix entry corresponds to one pixel

Definition at line 149 of file Swissranger.h.

bool ipa_CameraSensors::Swissranger::m_CoeffsInitialized
private

True, when m_CoeffsAx have been initialized.

Definition at line 136 of file Swissranger.h.

ImgEntry* ipa_CameraSensors::Swissranger::m_DataBuffer
private

Image array.

Definition at line 129 of file Swissranger.h.

bool ipa_CameraSensors::Swissranger::m_GrayImageAcquireCalled
private

Is false, when acquiring gray image has not been called, yet.

Definition at line 137 of file Swissranger.h.

int ipa_CameraSensors::Swissranger::m_NumOfImages
private

Number of images the siwssranger returns (i.e. an intensity and a range image)

Definition at line 128 of file Swissranger.h.

SRCAM ipa_CameraSensors::Swissranger::m_SRCam
private

Handle to USB SR3000 camera.

Definition at line 127 of file Swissranger.h.

float ipa_CameraSensors::Swissranger::m_X[SWISSRANGER_COLUMNS *SWISSRANGER_ROWS]
private

Definition at line 132 of file Swissranger.h.

float ipa_CameraSensors::Swissranger::m_Y[SWISSRANGER_COLUMNS *SWISSRANGER_ROWS]
private

Definition at line 133 of file Swissranger.h.

float ipa_CameraSensors::Swissranger::m_Z[SWISSRANGER_COLUMNS *SWISSRANGER_ROWS]
private

Definition at line 134 of file Swissranger.h.


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


cob_camera_sensors
Author(s): Jan Fischer , Richard Bormann
autogenerated on Thu Mar 19 2020 03:23:05