StereoDataCollector Class Reference

Inheritance diagram for StereoDataCollector:

VisionOperator List of all members.

Detailed Description

Triple threaded image-output operator.

This operator has been tested to output images at 30 fps.

Definition at line 21 of file StereoDataCollector.H.

Public Member Functions

 StereoDataCollector (std::string pName)
 ~StereoDataCollector ()
void initOperator ()
 All Capability registration calls should be made in this operator, along with any other initialization.
void runOperator (WURDE::WURDEImage image, WURDE::WURDEImage stereo)
 The main method for the class if the operator is stereo.
void runOperator (WURDE::WURDEImage someImage)
 The main method for the class if the operator is monocular.
void quitOperator ()
 Cleanup function.
void fileWriterThread1 ()
void fileWriterThread2 ()
void fileWriterThread3 ()
void fileWriterThread (WURDE::Time &myTime, IplImage **_mainImage, IplImage **_stereoImage, WURDE::RangeFinderDataStruct &myRanges, WURDE::EgomotionDataStruct &myEgo, unsigned int &myIndex, bool &myNewImage, WURDE::RunState &myState)

Public Attributes

pthread_t thread1
pthread_t thread2
pthread_t thread3
pthread_t thread4
pthread_t thread5
WURDE::RunState t1state
WURDE::RunState t2state
WURDE::RunState t3state
WURDE::RunState t4state
WURDE::RunState t5state
bool m_newt1image
bool m_newt2image
bool m_newt3image
bool m_newt4image
bool m_newt5image
WURDE::Time t1time
WURDE::Time t2time
WURDE::Time t3time
WURDE::Time t4time
WURDE::Time t5time
IplImage * m_t1image
IplImage * m_t2image
IplImage * m_t3image
IplImage * m_t4image
IplImage * m_t5image
IplImage * m_t1simage
IplImage * m_t2simage
IplImage * m_t3simage
IplImage * m_t4simage
IplImage * m_t5simage
WURDE::RangeFinderDataStruct ranges1
WURDE::RangeFinderDataStruct ranges2
WURDE::RangeFinderDataStruct ranges3
WURDE::RangeFinderDataStruct ranges4
WURDE::RangeFinderDataStruct ranges5
WURDE::EgomotionDataStruct ego1
WURDE::EgomotionDataStruct ego2
WURDE::EgomotionDataStruct ego3
WURDE::EgomotionDataStruct ego4
WURDE::EgomotionDataStruct ego5
unsigned int index1
unsigned int index2
unsigned int index3
unsigned int index4
unsigned int index5
std::string m_imageDir
std::string m_imagePrefix

Protected Member Functions

void queueImage (IplImage *mainImage, IplImage *stereoImage, WURDE::Time &theTime, WURDE::WURDEImage &mImage, WURDE::WURDEImage &stereo, unsigned int &tindex, WURDE::RangeFinderDataStruct &tranges, WURDE::EgomotionDataStruct &tego, bool &newtImage)

Protected Attributes

WURDE::RangeFinder m_myRF
WURDE::Egomotion m_myEgo
std::ofstream m_outfile
std::string m_outfilename
unsigned int index
bool m_dolaser
bool m_doodom
bool m_run
int next


Constructor & Destructor Documentation

StereoDataCollector ( std::string  pName  ) 

Definition at line 11 of file StereoDataCollector.cpp.

References StereoDataCollector::m_myEgo, StereoDataCollector::m_myRF, and VisionOperator::registerConsumer().

~StereoDataCollector (  ) 


Member Function Documentation

void initOperator (  )  [virtual]

All Capability registration calls should be made in this operator, along with any other initialization.

The visionModule will then register the objects with the CommsManager. All WURDE should be members of the class and *not* allocated dynamically.

Implements VisionOperator.

Definition at line 19 of file StereoDataCollector.cpp.

References WURDE::FORMAT_CHAR_111_RGB, WURDE::g_globalConfiguration, WURDEConfiguration::getDataDirectory(), WURDEConfiguration::getModuleOption(), WURDEConfiguration::haveModuleOption(), StereoDataCollector::index1, StereoDataCollector::index2, StereoDataCollector::index3, StereoDataCollector::m_dolaser, StereoDataCollector::m_doodom, VisionOperator::m_format, StereoDataCollector::m_imageDir, StereoDataCollector::m_imagePrefix, VisionOperator::m_name, StereoDataCollector::m_newt1image, StereoDataCollector::m_newt2image, StereoDataCollector::m_newt3image, StereoDataCollector::m_run, VisionOperator::m_state, VisionOperator::m_stereo, StereoDataCollector::m_t1image, StereoDataCollector::m_t1simage, StereoDataCollector::m_t2image, StereoDataCollector::m_t2simage, StereoDataCollector::m_t3image, StereoDataCollector::m_t3simage, StereoDataCollector::next, WURDEVision::runStereoDataCollectorThread1(), WURDEVision::runStereoDataCollectorThread2(), WURDEVision::runStereoDataCollectorThread3(), WURDE::STATE_RUN, StereoDataCollector::t1state, StereoDataCollector::t2state, StereoDataCollector::t3state, StereoDataCollector::thread1, StereoDataCollector::thread2, and StereoDataCollector::thread3.

void runOperator ( WURDE::WURDEImage  image,
WURDE::WURDEImage  stereo 
) [virtual]

The main method for the class if the operator is stereo.

All work should be done within this function, which will be called each loop. If the operator is monocular, this method should return without doing any work.

Implements VisionOperator.

Definition at line 86 of file StereoDataCollector.cpp.

References Egomotion::data, RangeFinder::data, StereoDataCollector::ego1, StereoDataCollector::ego2, StereoDataCollector::ego3, StereoDataCollector::ego4, StereoDataCollector::ego5, Egomotion::getNextData(), RangeFinder::getNextData(), StereoDataCollector::index, StereoDataCollector::index1, StereoDataCollector::index2, StereoDataCollector::index3, StereoDataCollector::index4, StereoDataCollector::index5, StereoDataCollector::m_dolaser, StereoDataCollector::m_doodom, StereoDataCollector::m_myEgo, StereoDataCollector::m_myRF, StereoDataCollector::m_newt1image, StereoDataCollector::m_newt2image, StereoDataCollector::m_newt3image, StereoDataCollector::m_newt4image, StereoDataCollector::m_newt5image, StereoDataCollector::m_run, StereoDataCollector::m_t1image, StereoDataCollector::m_t1simage, StereoDataCollector::m_t2image, StereoDataCollector::m_t2simage, StereoDataCollector::m_t3image, StereoDataCollector::m_t3simage, StereoDataCollector::m_t4image, StereoDataCollector::m_t4simage, StereoDataCollector::m_t5image, StereoDataCollector::m_t5simage, Egomotion::newData(), RangeFinder::newData(), StereoDataCollector::next, StereoDataCollector::queueImage(), StereoDataCollector::ranges1, StereoDataCollector::ranges2, StereoDataCollector::ranges3, StereoDataCollector::ranges4, StereoDataCollector::ranges5, StereoDataCollector::t1time, StereoDataCollector::t2time, StereoDataCollector::t3time, StereoDataCollector::t4time, and StereoDataCollector::t5time.

void runOperator ( WURDE::WURDEImage  someImage  )  [inline, virtual]

The main method for the class if the operator is monocular.

All work should be done within this function, which will be called each loop. If the operator is stereo, this method should return without doing any work.

Implements VisionOperator.

Definition at line 28 of file StereoDataCollector.H.

void quitOperator (  )  [virtual]

Cleanup function.

Free any memory you've allocated here.

Implements VisionOperator.

Definition at line 274 of file StereoDataCollector.cpp.

References StereoDataCollector::m_t1image, StereoDataCollector::m_t1simage, StereoDataCollector::m_t2image, StereoDataCollector::m_t2simage, StereoDataCollector::m_t3image, StereoDataCollector::m_t3simage, StereoDataCollector::m_t4image, StereoDataCollector::m_t4simage, StereoDataCollector::m_t5image, StereoDataCollector::m_t5simage, WURDE::STATE_QUIT, StereoDataCollector::t1state, StereoDataCollector::t2state, StereoDataCollector::t3state, StereoDataCollector::thread1, StereoDataCollector::thread2, and StereoDataCollector::thread3.

void fileWriterThread1 (  ) 

void fileWriterThread2 (  ) 

void fileWriterThread3 (  ) 

void fileWriterThread ( WURDE::Time myTime,
IplImage **  _mainImage,
IplImage **  _stereoImage,
WURDE::RangeFinderDataStruct myRanges,
WURDE::EgomotionDataStruct myEgo,
unsigned int &  myIndex,
bool &  myNewImage,
WURDE::RunState myState 
) [inline]

Definition at line 506 of file StereoDataCollector.cpp.

References EgomotionDataStruct::angularVelocity, WURDE::g_logdebug, Time::getSeconds(), Time::getUSeconds(), EgomotionDataStruct::location, StereoDataCollector::m_dolaser, StereoDataCollector::m_doodom, StereoDataCollector::m_imageDir, StereoDataCollector::m_imagePrefix, RangeFinderDataStruct::ranges, WURDE::STATE_RUN, Pose::theta(), EgomotionDataStruct::timestamp, RangeFinderDataStruct::timestamp, EgomotionDataStruct::transVelocity, Pose::x(), and Pose::y().

Referenced by WURDEVision::runStereoDataCollectorThread1(), WURDEVision::runStereoDataCollectorThread2(), WURDEVision::runStereoDataCollectorThread3(), WURDEVision::runStereoDataCollectorThread4(), and WURDEVision::runStereoDataCollectorThread5().

void queueImage ( IplImage *  mainImage,
IplImage *  stereoImage,
WURDE::Time theTime,
WURDE::WURDEImage mImage,
WURDE::WURDEImage stereo,
unsigned int &  tindex,
WURDE::RangeFinderDataStruct tranges,
WURDE::EgomotionDataStruct tego,
bool &  newtImage 
) [inline, protected]

Definition at line 232 of file StereoDataCollector.cpp.

References Egomotion::data, RangeFinder::data, StereoDataCollector::index, StereoDataCollector::m_dolaser, StereoDataCollector::m_doodom, StereoDataCollector::m_myEgo, StereoDataCollector::m_myRF, and StereoDataCollector::next.

Referenced by StereoDataCollector::runOperator().


Member Data Documentation

pthread_t thread1

Definition at line 38 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), and StereoDataCollector::quitOperator().

pthread_t thread2

Definition at line 38 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), and StereoDataCollector::quitOperator().

pthread_t thread3

Definition at line 38 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), and StereoDataCollector::quitOperator().

pthread_t thread4

Definition at line 38 of file StereoDataCollector.H.

pthread_t thread5

Definition at line 38 of file StereoDataCollector.H.

WURDE::RunState t1state

Definition at line 39 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::quitOperator(), and WURDEVision::runStereoDataCollectorThread1().

WURDE::RunState t2state

Definition at line 39 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::quitOperator(), and WURDEVision::runStereoDataCollectorThread2().

WURDE::RunState t3state

Definition at line 39 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::quitOperator(), and WURDEVision::runStereoDataCollectorThread3().

WURDE::RunState t4state

Definition at line 39 of file StereoDataCollector.H.

Referenced by WURDEVision::runStereoDataCollectorThread4().

WURDE::RunState t5state

Definition at line 39 of file StereoDataCollector.H.

Referenced by WURDEVision::runStereoDataCollectorThread5().

bool m_newt1image

Definition at line 40 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread1().

bool m_newt2image

Definition at line 40 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread2().

bool m_newt3image

Definition at line 40 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread3().

bool m_newt4image

Definition at line 40 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread4().

bool m_newt5image

Definition at line 40 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread5().

WURDE::Time t1time

Definition at line 41 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread1().

WURDE::Time t2time

Definition at line 41 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread2().

WURDE::Time t3time

Definition at line 41 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread3().

WURDE::Time t4time

Definition at line 41 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread4().

WURDE::Time t5time

Definition at line 41 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread5().

IplImage* m_t1image

Definition at line 42 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread1().

IplImage * m_t2image

Definition at line 42 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread2().

IplImage * m_t3image

Definition at line 42 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread3().

IplImage * m_t4image

Definition at line 42 of file StereoDataCollector.H.

Referenced by StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread4().

IplImage * m_t5image

Definition at line 42 of file StereoDataCollector.H.

Referenced by StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread5().

IplImage* m_t1simage

Definition at line 43 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread1().

IplImage * m_t2simage

Definition at line 43 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread2().

IplImage * m_t3simage

Definition at line 43 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread3().

IplImage * m_t4simage

Definition at line 43 of file StereoDataCollector.H.

Referenced by StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread4().

IplImage * m_t5simage

Definition at line 43 of file StereoDataCollector.H.

Referenced by StereoDataCollector::quitOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread5().

WURDE::RangeFinderDataStruct ranges1

Definition at line 44 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread1().

WURDE::RangeFinderDataStruct ranges2

Definition at line 44 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread2().

WURDE::RangeFinderDataStruct ranges3

Definition at line 44 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread3().

WURDE::RangeFinderDataStruct ranges4

Definition at line 44 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread4().

WURDE::RangeFinderDataStruct ranges5

Definition at line 44 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread5().

WURDE::EgomotionDataStruct ego1

Definition at line 45 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread1().

WURDE::EgomotionDataStruct ego2

Definition at line 45 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread2().

WURDE::EgomotionDataStruct ego3

Definition at line 45 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread3().

WURDE::EgomotionDataStruct ego4

Definition at line 45 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread4().

WURDE::EgomotionDataStruct ego5

Definition at line 45 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread5().

unsigned int index1

Definition at line 46 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread1().

unsigned int index2

Definition at line 46 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread2().

unsigned int index3

Definition at line 46 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread3().

unsigned int index4

Definition at line 46 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread4().

unsigned int index5

Definition at line 46 of file StereoDataCollector.H.

Referenced by StereoDataCollector::runOperator(), and WURDEVision::runStereoDataCollectorThread5().

std::string m_imageDir

Definition at line 48 of file StereoDataCollector.H.

Referenced by StereoDataCollector::fileWriterThread(), and StereoDataCollector::initOperator().

std::string m_imagePrefix

Definition at line 49 of file StereoDataCollector.H.

Referenced by StereoDataCollector::fileWriterThread(), and StereoDataCollector::initOperator().

WURDE::RangeFinder m_myRF [protected]

Definition at line 52 of file StereoDataCollector.H.

Referenced by StereoDataCollector::queueImage(), StereoDataCollector::runOperator(), and StereoDataCollector::StereoDataCollector().

WURDE::Egomotion m_myEgo [protected]

Definition at line 53 of file StereoDataCollector.H.

Referenced by StereoDataCollector::queueImage(), StereoDataCollector::runOperator(), and StereoDataCollector::StereoDataCollector().

std::ofstream m_outfile [protected]

Definition at line 54 of file StereoDataCollector.H.

std::string m_outfilename [protected]

Definition at line 55 of file StereoDataCollector.H.

unsigned int index [protected]

Definition at line 56 of file StereoDataCollector.H.

Referenced by StereoDataCollector::queueImage(), and StereoDataCollector::runOperator().

bool m_dolaser [protected]

Definition at line 57 of file StereoDataCollector.H.

Referenced by StereoDataCollector::fileWriterThread(), StereoDataCollector::initOperator(), StereoDataCollector::queueImage(), and StereoDataCollector::runOperator().

bool m_doodom [protected]

Definition at line 58 of file StereoDataCollector.H.

Referenced by StereoDataCollector::fileWriterThread(), StereoDataCollector::initOperator(), StereoDataCollector::queueImage(), and StereoDataCollector::runOperator().

bool m_run [protected]

Definition at line 60 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), and StereoDataCollector::runOperator().

int next [protected]

Definition at line 61 of file StereoDataCollector.H.

Referenced by StereoDataCollector::initOperator(), StereoDataCollector::queueImage(), and StereoDataCollector::runOperator().


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