HashOutputSeries Class Reference

FrameOstream subclass that writes image hashes to an output file. More...

#include <Transport/HashOutputSeries.H>

Inheritance diagram for HashOutputSeries:
Inheritance graph
[legend]
Collaboration diagram for HashOutputSeries:
Collaboration graph
[legend]

List of all members.

Classes

struct  Impl

Public Member Functions

 HashOutputSeries (OptionManager &mgr)
 Constructor.
virtual ~HashOutputSeries ()
 Destructor.
virtual void setConfigInfo (const std::string &filename)
 Override from FrameOstream; just calls setFileName().
virtual bool setFrameNumber (int n)
 Set the current frame number and remember it.
virtual void writeFrame (const GenericFrame &frame, const std::string &shortname, const FrameInfo &auxinfo)
 Write a image hash to the output file.
virtual void closeStream (const std::string &shortname)
 No-op.
void setFileName (const std::string &s)
 Specify the output filename.

Detailed Description

FrameOstream subclass that writes image hashes to an output file.

To try out HashOutputSeries, you can for example do the following using bin/stream to generate a listing on stderr of 100 32-bit hashes of 300x300 random images like this:

./bin/stream --in=random:300x300 --in-echo=hash:stderr \ --input-frames=0-99

which will generate output like the following:

000000 5b380a30 0 % input-echo 000001 1d108dc8 0 % input-echo 000002 5c0e58aa 0 % input-echo 000003 cb34047b 0 % input-echo 000004 f800c826 0 % input-echo 000005 6386062a 0 % input-echo 000006 30ed69d6 0 % input-echo

where the first column is the frame number, the second column is the hash, and the third column is a 0 or 1 indicating whether we've seen that hash value previously in this run -- note that a value of 1 doesn't necessarily imply a hash-function collision; it could be that the input frames were exactly the same! The last column, after a matlab-comment character (%), is the image name as it was passed to writeRGB() or writeGray() or writeFloat().

If the filename given to HashOutputSeries is "", "-", "stdout", or "STDOUT" then the output goes to stdout, likewise "stderr" or "STDERR" sends output to stderr, and anything else will be interpreted as a literal filename to which output should be written.

Definition at line 75 of file HashOutputSeries.H.


Constructor & Destructor Documentation

HashOutputSeries::HashOutputSeries ( OptionManager mgr  ) 

Constructor.

Definition at line 134 of file HashOutputSeries.C.

HashOutputSeries::~HashOutputSeries (  )  [virtual]

Destructor.

Definition at line 141 of file HashOutputSeries.C.


Member Function Documentation

void HashOutputSeries::closeStream ( const std::string shortname  )  [virtual]

No-op.

Implements FrameOstream.

Definition at line 187 of file HashOutputSeries.C.

void HashOutputSeries::setConfigInfo ( const std::string filename  )  [virtual]

Override from FrameOstream; just calls setFileName().

Reimplemented from FrameOstream.

Definition at line 147 of file HashOutputSeries.C.

References setFileName().

void HashOutputSeries::setFileName ( const std::string s  ) 

Specify the output filename.

Definition at line 193 of file HashOutputSeries.C.

Referenced by setConfigInfo().

bool HashOutputSeries::setFrameNumber ( int  n  )  [virtual]

Set the current frame number and remember it.

Reimplemented from FrameOstream.

Definition at line 157 of file HashOutputSeries.C.

void HashOutputSeries::writeFrame ( const GenericFrame frame,
const std::string shortname,
const FrameInfo auxinfo 
) [virtual]

The documentation for this class was generated from the following files:
Generated on Sun May 8 08:43:21 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3