25 #ifndef __BIASVIDEOSOURCE_PMD_HH__
26 #define __BIASVIDEOSOURCE_PMD_HH__
28 #include <bias_config.h>
30 #include <VideoSource/VideoSource_Base.hh>
31 #include <Image/Camera.hh>
57 virtual int OpenDevice();
59 virtual int OpenDevice(
int camNr);
61 virtual int OpenDevice(std::string serialNumber);
63 virtual int CloseDevice();
65 void SetProcessingPlugin(std::string plugin);
67 int OpenProcessingPlugin(std::string plugin=BIAS_PMD_PMDTec_PROCPLUGIN);
69 int CloseProcessingPlugin();
72 void SetSourcePlugin(std::string plugin);
74 int OpenSourcePlugin(std::string serial,std::string plugin=BIAS_PMD_PMDTec_SOURCEPLUGIN);
77 virtual int PreGrab();
78 virtual int PostGrab();
80 bool IsSourcePluginOpen();
81 bool IsProcessingPluginOpen();
88 BIASERR(
"Not Supported");
110 bGrabImageReturnsDepth_ = on;
116 int GrabSourceData(
char* sourceData,
unsigned int size);
125 int CalcDistancesFromSourceData(
char* sourceData, PMDDataDescription dd,
128 int CalcIntensitiesFromSourceData(
char* sourceData, PMDDataDescription dd,
131 int CalcAmplitudesFromSourceData(
char* sourceData, PMDDataDescription dd,
139 virtual int SetIntegrationTime(
const unsigned int inttime);
146 virtual int SetIntegrationTimeMS(
const unsigned int inttime);
153 virtual int GetIntegrationTime(
unsigned int &val);
160 virtual int GetIntegrationTimeMS(
unsigned int &val);
162 PMDDataDescription& GetDataDescription();
168 int SetModulationFrequency(
const unsigned int dModulationFrequency);
171 int GetModulationFrequency(
unsigned int &val);
174 int SetDistanceOffset(
const unsigned int in_millimeters);
177 int GetDistanceOffset(
unsigned int &millimeters);
188 void SetGenerateNewUIDs(
bool s);
189 void EnsureLatestFrame(
const bool ensure);
191 int SetROI(
const unsigned int UpperLeftX,
const unsigned int UpperLeftY,
192 const unsigned int Width,
const unsigned int Height);
193 int SetFOV(
const float fov);
195 int GetSerialNumber(std::string &serial);
197 int SetFPNCalibrationOn(
bool on);
199 int GetSourceDataSize();
204 void InitAllImages_();
208 void FlopImage_(
float *src,
float *dst);
230 float *idaDIF_, *idaMCIF_, *idaIIF_, *
idaTmp_;
246 #endif //__VIDEOSOURCE_PMD_HH__
EColorModel
These are the most often used color models.
PMDDataDescription datadesc_
Defines a common interface to different devices.
BIAS::Camera< unsigned char > IntensityImg_
virtual int InitIntensityImage(ImageBase &img)
virtual int InitDepthImage(ImageBase &img)
virtual int InitModCoeffImage(ImageBase &img)
BIAS::Camera< float > ModCoeffImgF_
virtual int InitImage(ImageBase &img)
bool bGrabImageReturnsDepth_
unsigned int integrationTime_
unsigned int modulationFrequency_
Support for CamCube usb cam.
std::string procPluginPath_
BIAS::Camera< float > DepthImgF_
void GrabImageReturnsDepth(bool on)
The image template class for specific storage types.
BIAS::Camera< float > IntensityImgF_
(8bit) unsigned char image storage type
double GetFPS()
Returns current framerate.
std::string serialNumber_
BIAS::Camera< float > tmpScale_
This is the base class for images in BIAS.
Depth images A: separated for now.
unsigned int distanceOffset_
std::string sourcePluginPath_
BIAS::Camera< unsigned char > DepthImg_