NullOutputStream.H

Go to the documentation of this file.
00001 /*!@file Media/NullOutputStream.H Write frames to .null files */
00002 
00003 // //////////////////////////////////////////////////////////////////// //
00004 // The iLab Neuromorphic Vision C++ Toolkit - Copyright (C) 2000-2005   //
00005 // by the University of Southern California (USC) and the iLab at USC.  //
00006 // See http://iLab.usc.edu for information about this project.          //
00007 // //////////////////////////////////////////////////////////////////// //
00008 // Major portions of the iLab Neuromorphic Vision Toolkit are protected //
00009 // under the U.S. patent ``Computation of Intrinsic Perceptual Saliency //
00010 // in Visual Environments, and Applications'' by Christof Koch and      //
00011 // Laurent Itti, California Institute of Technology, 2001 (patent       //
00012 // pending; application number 09/912,225 filed July 23, 2001; see      //
00013 // http://pair.uspto.gov/cgi-bin/final/home.pl for current status).     //
00014 // //////////////////////////////////////////////////////////////////// //
00015 // This file is part of the iLab Neuromorphic Vision C++ Toolkit.       //
00016 //                                                                      //
00017 // The iLab Neuromorphic Vision C++ Toolkit is free software; you can   //
00018 // redistribute it and/or modify it under the terms of the GNU General  //
00019 // Public License as published by the Free Software Foundation; either  //
00020 // version 2 of the License, or (at your option) any later version.     //
00021 //                                                                      //
00022 // The iLab Neuromorphic Vision C++ Toolkit is distributed in the hope  //
00023 // that it will be useful, but WITHOUT ANY WARRANTY; without even the   //
00024 // implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR      //
00025 // PURPOSE.  See the GNU General Public License for more details.       //
00026 //                                                                      //
00027 // You should have received a copy of the GNU General Public License    //
00028 // along with the iLab Neuromorphic Vision C++ Toolkit; if not, write   //
00029 // to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,   //
00030 // Boston, MA 02111-1307 USA.                                           //
00031 // //////////////////////////////////////////////////////////////////// //
00032 //
00033 // Primary maintainer for this file: Rob Peters <rjpeters at usc dot edu>
00034 // $HeadURL: svn://isvn.usc.edu/software/invt/trunk/saliency/src/Media/NullOutputStream.H $
00035 // $Id: NullOutputStream.H 8069 2007-03-08 05:01:16Z rjpeters $
00036 //
00037 
00038 #ifndef MEDIA_NULLOUTPUTSTREAM_H_DEFINED
00039 #define MEDIA_NULLOUTPUTSTREAM_H_DEFINED
00040 
00041 #include "Component/ModelComponent.H"
00042 #include "Component/ModelParam.H"
00043 #include "Transport/FrameOstream.H"
00044 
00045 // ######################################################################
00046 // ######################################################################
00047 //! NullOutputStream writes nothing, it is a fake output stream
00048 /*! This may be useful in situations where you want to guarantee that
00049   you are running a model in the exact same conditions as you would
00050   normally do when you write, e.g., a movie out with your results,
00051   except that you don't want to spend the time encoding the
00052   movie. Typically this may be useful while doing parameter searches
00053   where you want to process data but do not need the visual displays
00054   until you have found your final set of parameters. With
00055   NullOutputStream selected as output, you will still go through the
00056   motions of building output frames as you normally would, just they
00057   will not be saved anywhere. */
00058 
00059 class NullOutputStream : public FrameOstream
00060 {
00061 public:
00062   //! Construct an mpegstream object for mpeg output
00063   NullOutputStream(OptionManager& mgr,
00064                    const std::string& descrName = "Null Output Stream",
00065                    const std::string& tagName = "NullOutputStream");
00066 
00067   //! Destructor
00068   virtual ~NullOutputStream();
00069 
00070   //! Write a frame to null
00071   /*! We just print a message and discard the frame. */
00072   virtual void writeFrame(const GenericFrame& frame,
00073                           const std::string& shortname,
00074                           const FrameInfo& auxinfo =
00075                           FrameOstream::defaultInfo);
00076 
00077   //! Do nothing
00078   virtual void closeStream(const std::string& shortname);
00079 
00080   // Just use the default versions of everything else from FrameOstream.
00081 };
00082 
00083 // ######################################################################
00084 /* So things look consistent in everyone's emacs... */
00085 /* Local Variables: */
00086 /* mode: c++ */
00087 /* indent-tabs-mode: nil */
00088 /* End: */
00089 
00090 #endif // MEDIA_NULLOUTPUTSTREAM_H_DEFINED
Generated on Sun May 8 08:05:20 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3