libeblearntools
ebl::detection_thread< Tnet > Class Template Reference
Inheritance diagram for ebl::detection_thread< Tnet >:
ebl::thread

List of all members.

Public Member Functions

 detection_thread (configuration &conf, mutex *om=NULL, const char *name="", const char *arg2=NULL, bool sync=true, t_chans tc=CHANS_RGB)
virtual void execute ()
 Execute the detection thread.
virtual bool set_data (idx< ubyte > &frame, string &frame_fullname, string &frame_name, uint frame_id)
virtual bool set_data (string &frame_fullname, string &frame_name, uint frame_id)
virtual bool get_data (bboxes &bb, idx< ubyte > &frame, uint &total_saved, string &frame_name, uint &frame_id, svector< midx< Tnet > > &samples, bboxes &bbsamples, bool &skipped)
virtual bool available ()
virtual bool fed ()
 Returns true if at least 1 input has been fed for detection.

Static Public Member Functions

static string get_output_directory (configuration &conf)
 Returns the string of the target directory given configuration 'conf'.
static void init_detector (detector< SFUNC(Tnet)> &detector, configuration &conf, string &odir)
 Initialize detector settings given configuration.

Public Attributes

detector< SFUNC(Tnet)> * pdetect

template<typename Tnet>
class ebl::detection_thread< Tnet >


Constructor & Destructor Documentation

template<typename Tnet >
ebl::detection_thread< Tnet >::detection_thread ( configuration conf,
mutex om = NULL,
const char *  name = "",
const char *  arg2 = NULL,
bool  sync = true,
t_chans  tc = CHANS_RGB 
)
Parameters:
omA mutex used to synchronize threads outputs/ To synchronize all threads, give the same mutex to each of them.
syncIf true, synchronize outputs between threads, using om, otherwise use regular unsynced outputs.
tcThe channels type of the input image, e.g. brightness Y, or color RGB.

Member Function Documentation

template<typename Tnet >
bool ebl::detection_thread< Tnet >::available ( ) [virtual]

Return true if the thread is available to process a new frame, false otherwise.

template<typename Tnet >
bool ebl::detection_thread< Tnet >::get_data ( bboxes &  bb,
idx< ubyte > &  frame,
uint &  total_saved,
string &  frame_name,
uint &  frame_id,
svector< midx< Tnet > > &  samples,
bboxes &  bbsamples,
bool &  skipped 
) [virtual]

Receives results from the detection thread into parameters. Return true if new data was copied from the thread, false otherwise. We get the frame back even though it was set via set_data, because we do not know which frame was actually used. (could use some kind of id, and remember frames to avoid copy).

Parameters:
samplesExtracted samples corresponding to bboxes.
skippedIf frame was ignored, skipped == true.
template<typename Tnet >
bool ebl::detection_thread< Tnet >::set_data ( idx< ubyte > &  frame,
string &  frame_fullname,
string &  frame_name,
uint  frame_id 
) [virtual]

Sends new data to the detection thread. Return true if new data was copied to the thread, false otherwise, if we could not obtain the mutex lock.

template<typename Tnet >
bool ebl::detection_thread< Tnet >::set_data ( string &  frame_fullname,
string &  frame_name,
uint  frame_id 
) [virtual]

Sends new data to the detection thread. Return true if new data was copied to the thread, false otherwise, if we could not obtain the mutex lock.


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