00001 /*!@file Raster/RasterWriter.H Abstract image-file writer class */ 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/Raster/RasterWriter.H $ 00035 // $Id: RasterWriter.H 6114 2006-01-19 20:28:46Z rjpeters $ 00036 // 00037 00038 #ifndef RASTER_RASTERWRITER_H_DEFINED 00039 #define RASTER_RASTERWRITER_H_DEFINED 00040 00041 #include <string> 00042 00043 class GenericFrame; 00044 00045 /// Abstract image-file writer class 00046 class RasterWriter 00047 { 00048 public: 00049 00050 /// Virtual destructor for safe inheritance 00051 virtual ~RasterWriter(); 00052 00053 /// Write the frame to disk. 00054 /** @return the actual name of the file that was created (for some 00055 subclasses, this may be slightly different than the input fname, 00056 if e.g. the subclass decides to add or change a file 00057 extension) */ 00058 virtual std::string writeFrame(const GenericFrame& image, 00059 const std::string& fname) = 0; 00060 }; 00061 00062 // ###################################################################### 00063 /* So things look consistent in everyone's emacs... */ 00064 /* Local Variables: */ 00065 /* mode: c++ */ 00066 /* indent-tabs-mode: nil */ 00067 /* End: */ 00068 00069 #endif // RASTER_RASTERWRITER_H_DEFINED