WURDE1394Camera Class Reference

List of all members.

Detailed Description

This class wraps up the libdc1394 camera library to give DMA frame capturing from firewire (1394 video compliant) cameras.

While getting and setting of most 1394 features can be done, capturing is only supported in the modes our cameras can handle. Note that our cameras do not have many of the features listed with get/set functions!

Todo:
Finish up the colorspace conversion functions
Todo:
Determine if m_speed and m_captureSpeed are really the same things

Definition at line 56 of file 1394Camera.H.

Public Member Functions

 WURDE1394Camera (dc1394camera_t *cameraStruct)
 ~WURDE1394Camera ()
bool init ()
bool startCapture ()
void stopCapture ()
std::string getName ()
u_int64_t getID ()
void setName (std::string value)
WURDE::Time getTimestamp ()
 Return the timestamp of the current frame.
IplImage * captureYUV24 ()
IplImage * captureYUV422 ()
IplImage * captureGray ()
IplImage * captureRGB ()
void resetFrame ()
 Releases the DMA buffer for the current frame, and resets all the boolean values indicating that we have a current frame.
void setCameraDefaults ()
 Resets the camera to a set of hard-coded defaults (the defaults we have camera calibration matrices for).
void setFramerate (dc1394framerate_t value)
 setFramerate can only be used before the capture is started.
void setMode (dc1394video_mode_t value)
 setMode can only be used before the capture is started.
void setSpeed (dc1394speed_t value)
 setSpeed can only be used before the capture is started.
dc1394framerate_t getFramerate ()
dc1394video_mode_t getMode ()
dc1394speed_t getSpeed ()
unsigned int getBrightness ()
unsigned int getExposure ()
unsigned int getSharpness ()
unsigned int getHue ()
unsigned int getSaturation ()
unsigned int getGamma ()
unsigned int getShutter ()
unsigned int getGain ()
unsigned int getIris ()
unsigned int getFocus ()
unsigned int getZoom ()
unsigned int getTriggerDelay ()
unsigned int getPan ()
unsigned int getTilt ()
unsigned int getOpticalFilter ()
bool setBrightness (unsigned int)
bool setExposure (unsigned int)
bool setSharpness (unsigned int)
bool setHue (unsigned int)
bool setSaturation (unsigned int)
bool setGamma (unsigned int)
bool setShutter (unsigned int)
bool setGain (unsigned int)
bool setIris (unsigned int)
bool setAutoIris (bool value)
bool setFocus (unsigned int)
bool setTriggerMode (unsigned int)
bool setZoom (unsigned int)
bool setTriggerDelay (unsigned int value)
bool setPan (unsigned int value)
bool setTilt (unsigned int value)
bool setOpticalFilter (unsigned int value)
void setCalibration (Calibration val)
Calibration getCalibration ()

Private Attributes

std::string m_name
dc1394camera_t * m_camera
dc1394video_mode_t m_mode
dc1394framerate_t m_framerate
dc1394speed_t m_speed
bool m_haveFrame
bool m_init
unsigned char * m_imBuffer
IplImage * m_imageYUV422
bool m_haveYUV422
IplImage * m_imageYUV24
bool m_haveYUV24
IplImage * m_imageGray
bool m_haveGray
IplImage * m_imageRGB
bool m_haveRGB
WURDE::Time m_timestamp
Calibration m_calib

Related Functions

(Note that these are not member functions.)

void convert_yuv411_to_yuv24 (IplImage *img, unsigned char *src)
 Converts from YUV411 to YUV24.
void convert_yuv422_to_yuv24 (IplImage *img, unsigned char *src)
 Converts from YUV422 to YUV24.
void convert_yuv411_to_gray (IplImage *img, unsigned char *src)
 Converts from YUV411 to grayscale.


Constructor & Destructor Documentation

WURDE1394Camera ( dc1394camera_t *  cameraStruct  ) 

Definition at line 92 of file 1394Camera.cpp.

References _robotVision_global_cameraList, WURDE1394Camera::m_camera, WURDE1394Camera::m_framerate, WURDE1394Camera::m_haveGray, WURDE1394Camera::m_haveRGB, WURDE1394Camera::m_haveYUV24, WURDE1394Camera::m_haveYUV422, WURDE1394Camera::m_imageGray, WURDE1394Camera::m_imageRGB, WURDE1394Camera::m_imageYUV24, WURDE1394Camera::m_imageYUV422, WURDE1394Camera::m_imBuffer, WURDE1394Camera::m_init, WURDE1394Camera::m_mode, and WURDE1394Camera::m_speed.

~WURDE1394Camera (  )  [inline]

Definition at line 59 of file 1394Camera.H.

References WURDE1394Camera::stopCapture().


Member Function Documentation

bool init (  ) 

Definition at line 115 of file 1394Camera.cpp.

References WURDE1394Camera::m_camera, WURDE1394Camera::m_framerate, WURDE1394Camera::m_init, WURDE1394Camera::m_mode, and WURDE1394Camera::m_speed.

Referenced by WURDE1394Camera::startCapture().

bool startCapture (  ) 

Definition at line 126 of file 1394Camera.cpp.

References WURDE::g_error(), WURDE1394Camera::init(), WURDE1394Camera::m_camera, and NUM_DMA_BUFFERS.

void stopCapture (  ) 

Definition at line 160 of file 1394Camera.cpp.

References _robotVision_global_cameraList, and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::~WURDE1394Camera().

std::string getName (  )  [inline]

Definition at line 64 of file 1394Camera.H.

References WURDE1394Camera::m_name.

u_int64_t getID (  )  [inline]

Definition at line 65 of file 1394Camera.H.

References WURDE1394Camera::m_camera.

void setName ( std::string  value  )  [inline]

Definition at line 67 of file 1394Camera.H.

References WURDE1394Camera::m_name.

WURDE::Time getTimestamp (  )  [inline]

Return the timestamp of the current frame.

Definition at line 72 of file 1394Camera.H.

References WURDE1394Camera::m_timestamp.

IplImage * captureYUV24 (  ) 

Definition at line 181 of file 1394Camera.cpp.

References WURDE1394Camera::convert_yuv411_to_yuv24(), WURDE1394Camera::convert_yuv422_to_yuv24(), WURDE::g_debug(), WURDE::g_error(), WURDE::g_warn(), Time::getSeconds(), Time::getUSeconds(), WURDE1394Camera::m_camera, WURDE1394Camera::m_haveFrame, WURDE1394Camera::m_haveYUV24, WURDE1394Camera::m_imageYUV24, WURDE1394Camera::m_imBuffer, WURDE1394Camera::m_mode, WURDE1394Camera::m_timestamp, and Time::now().

IplImage * captureYUV422 (  ) 

Definition at line 308 of file 1394Camera.cpp.

References WURDE::g_error(), WURDE::g_warn(), WURDE1394Camera::m_camera, WURDE1394Camera::m_haveFrame, WURDE1394Camera::m_haveYUV422, WURDE1394Camera::m_imageYUV422, WURDE1394Camera::m_imBuffer, WURDE1394Camera::m_mode, WURDE1394Camera::m_timestamp, and Time::now().

IplImage * captureGray (  ) 

Definition at line 246 of file 1394Camera.cpp.

References WURDE1394Camera::convert_yuv411_to_gray(), RobotVision::convert_yuv422_to_gray(), WURDE::g_error(), WURDE::g_warn(), WURDE1394Camera::m_camera, WURDE1394Camera::m_haveFrame, WURDE1394Camera::m_haveGray, WURDE1394Camera::m_imageGray, WURDE1394Camera::m_imBuffer, WURDE1394Camera::m_mode, WURDE1394Camera::m_timestamp, and Time::now().

IplImage * captureRGB (  ) 

Definition at line 365 of file 1394Camera.cpp.

References WURDE::g_error(), WURDE::g_warn(), WURDE1394Camera::m_camera, WURDE1394Camera::m_haveFrame, WURDE1394Camera::m_haveRGB, WURDE1394Camera::m_imageRGB, WURDE1394Camera::m_imBuffer, WURDE1394Camera::m_mode, WURDE1394Camera::m_timestamp, and Time::now().

void resetFrame (  ) 

Releases the DMA buffer for the current frame, and resets all the boolean values indicating that we have a current frame.

Definition at line 426 of file 1394Camera.cpp.

References WURDE::g_debug(), WURDE::g_error(), WURDE1394Camera::m_camera, WURDE1394Camera::m_haveFrame, WURDE1394Camera::m_haveGray, WURDE1394Camera::m_haveRGB, WURDE1394Camera::m_haveYUV24, WURDE1394Camera::m_haveYUV422, and WURDE1394Camera::m_imBuffer.

void setCameraDefaults (  ) 

Resets the camera to a set of hard-coded defaults (the defaults we have camera calibration matrices for).

Definition at line 545 of file 1394Camera.cpp.

References WURDE1394Camera::setAutoIris(), WURDE1394Camera::setBrightness(), WURDE1394Camera::setExposure(), WURDE1394Camera::setFocus(), WURDE1394Camera::setGain(), WURDE1394Camera::setGamma(), WURDE1394Camera::setHue(), WURDE1394Camera::setIris(), WURDE1394Camera::setSaturation(), WURDE1394Camera::setSharpness(), WURDE1394Camera::setShutter(), and WURDE1394Camera::setZoom().

void setFramerate ( dc1394framerate_t  value  )  [inline]

setFramerate can only be used before the capture is started.

Definition at line 96 of file 1394Camera.H.

References WURDE1394Camera::m_framerate.

void setMode ( dc1394video_mode_t  value  )  [inline]

setMode can only be used before the capture is started.

Definition at line 102 of file 1394Camera.H.

References WURDE1394Camera::m_mode.

void setSpeed ( dc1394speed_t  value  )  [inline]

setSpeed can only be used before the capture is started.

Definition at line 107 of file 1394Camera.H.

References WURDE1394Camera::m_speed.

dc1394framerate_t getFramerate (  )  [inline]

Definition at line 109 of file 1394Camera.H.

References WURDE1394Camera::m_framerate.

dc1394video_mode_t getMode (  )  [inline]

Definition at line 110 of file 1394Camera.H.

References WURDE1394Camera::m_mode.

dc1394speed_t getSpeed (  )  [inline]

Definition at line 111 of file 1394Camera.H.

References WURDE1394Camera::m_speed.

unsigned int getBrightness (  ) 

Definition at line 562 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getExposure (  ) 

Definition at line 574 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getSharpness (  ) 

Definition at line 585 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getHue (  ) 

Definition at line 596 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getSaturation (  ) 

Definition at line 607 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getGamma (  ) 

Definition at line 618 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getShutter (  ) 

Definition at line 629 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getGain (  ) 

Definition at line 640 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getIris (  ) 

Definition at line 651 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getFocus (  ) 

Definition at line 662 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getZoom (  ) 

Definition at line 684 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getTriggerDelay (  ) 

Definition at line 673 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getPan (  ) 

Definition at line 695 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getTilt (  ) 

Definition at line 706 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

unsigned int getOpticalFilter (  ) 

Definition at line 717 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

bool setBrightness ( unsigned  int  ) 

Definition at line 731 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setExposure ( unsigned  int  ) 

Definition at line 740 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setSharpness ( unsigned  int  ) 

Definition at line 748 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setHue ( unsigned  int  ) 

Definition at line 757 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setSaturation ( unsigned  int  ) 

Definition at line 766 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setGamma ( unsigned  int  ) 

Definition at line 775 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setShutter ( unsigned  int  ) 

Definition at line 784 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setGain ( unsigned  int  ) 

Definition at line 793 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setIris ( unsigned  int  ) 

Definition at line 802 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setAutoIris ( bool  value  ) 

Definition at line 811 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setFocus ( unsigned  int  ) 

Definition at line 827 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setTriggerMode ( unsigned  int  ) 

bool setZoom ( unsigned  int  ) 

Definition at line 845 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

Referenced by WURDE1394Camera::setCameraDefaults().

bool setTriggerDelay ( unsigned int  value  ) 

Definition at line 836 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

bool setPan ( unsigned int  value  ) 

Definition at line 855 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

bool setTilt ( unsigned int  value  ) 

Definition at line 864 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

bool setOpticalFilter ( unsigned int  value  ) 

Definition at line 873 of file 1394Camera.cpp.

References WURDE::g_error(), and WURDE1394Camera::m_camera.

void setCalibration ( Calibration  val  )  [inline]

Definition at line 148 of file 1394Camera.H.

References WURDE1394Camera::m_calib, and val.

Calibration getCalibration (  )  [inline]

Definition at line 149 of file 1394Camera.H.

References WURDE1394Camera::m_calib.


Friends And Related Function Documentation

void convert_yuv411_to_yuv24 ( IplImage *  img,
unsigned char *  src 
) [related]

Converts from YUV411 to YUV24.

Todo:
Decide whether this should be in a separate library to deal the license issue

Definition at line 451 of file 1394Camera.cpp.

Referenced by WURDE1394Camera::captureYUV24().

void convert_yuv422_to_yuv24 ( IplImage *  img,
unsigned char *  src 
) [related]

Converts from YUV422 to YUV24.

Todo:
Decide whether this should be in a separate library to deal the license issue

Definition at line 480 of file 1394Camera.cpp.

Referenced by WURDE1394Camera::captureYUV24().

void convert_yuv411_to_gray ( IplImage *  img,
unsigned char *  src 
) [related]

Converts from YUV411 to grayscale.

Todo:
Decide whether this should be in a separate library to deal the license issue

Definition at line 514 of file 1394Camera.cpp.

Referenced by WURDE1394Camera::captureGray().


Member Data Documentation

std::string m_name [private]

Definition at line 153 of file 1394Camera.H.

Referenced by WURDE1394Camera::getName(), and WURDE1394Camera::setName().

dc1394camera_t* m_camera [private]

Definition at line 155 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureGray(), WURDE1394Camera::captureRGB(), WURDE1394Camera::captureYUV24(), WURDE1394Camera::captureYUV422(), WURDE1394Camera::getBrightness(), WURDE1394Camera::getExposure(), WURDE1394Camera::getFocus(), WURDE1394Camera::getGain(), WURDE1394Camera::getGamma(), WURDE1394Camera::getHue(), WURDE1394Camera::getID(), WURDE1394Camera::getIris(), WURDE1394Camera::getOpticalFilter(), WURDE1394Camera::getPan(), WURDE1394Camera::getSaturation(), WURDE1394Camera::getSharpness(), WURDE1394Camera::getShutter(), WURDE1394Camera::getTilt(), WURDE1394Camera::getTriggerDelay(), WURDE1394Camera::getZoom(), WURDE1394Camera::init(), WURDE1394Camera::resetFrame(), WURDE1394Camera::setAutoIris(), WURDE1394Camera::setBrightness(), WURDE1394Camera::setExposure(), WURDE1394Camera::setFocus(), WURDE1394Camera::setGain(), WURDE1394Camera::setGamma(), WURDE1394Camera::setHue(), WURDE1394Camera::setIris(), WURDE1394Camera::setOpticalFilter(), WURDE1394Camera::setPan(), WURDE1394Camera::setSaturation(), WURDE1394Camera::setSharpness(), WURDE1394Camera::setShutter(), WURDE1394Camera::setTilt(), WURDE1394Camera::setTriggerDelay(), WURDE1394Camera::setZoom(), WURDE1394Camera::startCapture(), WURDE1394Camera::stopCapture(), and WURDE1394Camera::WURDE1394Camera().

dc1394video_mode_t m_mode [private]

Definition at line 157 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureGray(), WURDE1394Camera::captureRGB(), WURDE1394Camera::captureYUV24(), WURDE1394Camera::captureYUV422(), WURDE1394Camera::getMode(), WURDE1394Camera::init(), WURDE1394Camera::setMode(), and WURDE1394Camera::WURDE1394Camera().

dc1394framerate_t m_framerate [private]

Definition at line 158 of file 1394Camera.H.

Referenced by WURDE1394Camera::getFramerate(), WURDE1394Camera::init(), WURDE1394Camera::setFramerate(), and WURDE1394Camera::WURDE1394Camera().

dc1394speed_t m_speed [private]

Definition at line 159 of file 1394Camera.H.

Referenced by WURDE1394Camera::getSpeed(), WURDE1394Camera::init(), WURDE1394Camera::setSpeed(), and WURDE1394Camera::WURDE1394Camera().

bool m_haveFrame [private]

Definition at line 161 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureGray(), WURDE1394Camera::captureRGB(), WURDE1394Camera::captureYUV24(), WURDE1394Camera::captureYUV422(), and WURDE1394Camera::resetFrame().

bool m_init [private]

Definition at line 162 of file 1394Camera.H.

Referenced by WURDE1394Camera::init(), and WURDE1394Camera::WURDE1394Camera().

unsigned char* m_imBuffer [private]

Definition at line 163 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureGray(), WURDE1394Camera::captureRGB(), WURDE1394Camera::captureYUV24(), WURDE1394Camera::captureYUV422(), WURDE1394Camera::resetFrame(), and WURDE1394Camera::WURDE1394Camera().

IplImage* m_imageYUV422 [private]

Definition at line 165 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureYUV422(), and WURDE1394Camera::WURDE1394Camera().

bool m_haveYUV422 [private]

Definition at line 166 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureYUV422(), WURDE1394Camera::resetFrame(), and WURDE1394Camera::WURDE1394Camera().

IplImage* m_imageYUV24 [private]

Definition at line 168 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureYUV24(), and WURDE1394Camera::WURDE1394Camera().

bool m_haveYUV24 [private]

Definition at line 169 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureYUV24(), WURDE1394Camera::resetFrame(), and WURDE1394Camera::WURDE1394Camera().

IplImage* m_imageGray [private]

Definition at line 171 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureGray(), and WURDE1394Camera::WURDE1394Camera().

bool m_haveGray [private]

Definition at line 172 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureGray(), WURDE1394Camera::resetFrame(), and WURDE1394Camera::WURDE1394Camera().

IplImage* m_imageRGB [private]

Definition at line 174 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureRGB(), and WURDE1394Camera::WURDE1394Camera().

bool m_haveRGB [private]

Definition at line 175 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureRGB(), WURDE1394Camera::resetFrame(), and WURDE1394Camera::WURDE1394Camera().

WURDE::Time m_timestamp [private]

Definition at line 177 of file 1394Camera.H.

Referenced by WURDE1394Camera::captureGray(), WURDE1394Camera::captureRGB(), WURDE1394Camera::captureYUV24(), WURDE1394Camera::captureYUV422(), and WURDE1394Camera::getTimestamp().

Calibration m_calib [private]

Definition at line 179 of file 1394Camera.H.

Referenced by WURDE1394Camera::getCalibration(), and WURDE1394Camera::setCalibration().


The documentation for this class was generated from the following files:
Generated on Thu Feb 1 15:31:55 2007 for WURDE by  doxygen 1.5.1