LTI-Lib latest version v1.9 - last update 10 Apr 2010

ltiBoundaryType.h

00001 /*
00002  * Copyright (C) 2003, 2004, 2005, 2006
00003  * Lehrstuhl fuer Technische Informatik, RWTH-Aachen, Germany
00004  *
00005  * This file is part of the LTI-Computer Vision Library (LTI-Lib)
00006  *
00007  * The LTI-Lib is free software; you can redistribute it and/or
00008  * modify it under the terms of the GNU Lesser General Public License (LGPL)
00009  * as published by the Free Software Foundation; either version 2.1 of
00010  * the License, or (at your option) any later version.
00011  *
00012  * The LTI-Lib is distributed in the hope that it will be
00013  * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
00014  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00015  * GNU Lesser General Public License for more details.
00016  *
00017  * You should have received a copy of the GNU Lesser General Public
00018  * License along with the LTI-Lib; see the file LICENSE.  If
00019  * not, write to the Free Software Foundation, Inc., 59 Temple Place -
00020  * Suite 330, Boston, MA 02111-1307, USA.
00021  */
00022 
00023 
00024 /*----------------------------------------------------------------
00025  * project ....: LTI Digital Image/Signal Processing Library
00026  * file .......: ltiBoundaryType.h
00027  * authors ....: Peter Doerfler
00028  * organization: LTI, RWTH Aachen
00029  * creation ...: 02.04.2003
00030  * revisions ..: $Id: ltiBoundaryType.h,v 1.5 2006/02/08 12:13:18 ltilib Exp $
00031  */
00032 
00033 #ifndef _LTI_BOUNDARYTYPE_H_
00034 #define _LTI_BOUNDARYTYPE_H_
00035 
00036 #include "ltiIoHandler.h"
00037 
00038 namespace lti {
00039 
00040   /**
00041    * boundary condition type.
00042    * This type indicates how to consider/interpret the boundaries of an image.
00043    *
00044    * For this type the methods read(ioHandler&, eBoundaryType&) and
00045    * write(ioHandler&, const eBoundaryType&) are implemented. Note
00046    * that template functions read(ioHandler&, const std::string&, T&)
00047    * and write(ioHandler&, const std::string&, const T&) exist. (see
00048    * Developer's Guide for further information).
00049    */
00050   enum eBoundaryType {
00051     Zero,      /**< The boundary does not exist (only 0-value) */
00052     Mirror,    /**< The signal/image/vector is mirrored */
00053     Periodic , /**< A periodic continuation of the signal is assumed */
00054     Constant,  /**< The last value of the border will be assumed */
00055     NoBoundary /**< The boundary will be ignored. The effect is
00056                   an unitialized border in those parts of the vector,
00057                   matrix or image, where a complete filter kernel cannot
00058                   be applied due to its size.
00059                   Please note that the border will be left UNinitialized.
00060                   It is up to you to set some value at these border,
00061                   which will have a maximum height or width of the size
00062                   of the filter kernel minus one.  The reason for this
00063                   option to exist is that some algorithms will ignore
00064                   this border anyway and all other border types will
00065                   spend some time calculating it */
00066   };
00067   
00068   /**
00069    * read function for eBoundaryType.
00070    *
00071    * @ingroup gStorable
00072    */
00073   bool read(ioHandler& handler,eBoundaryType& data);
00074 
00075   /**
00076    * write function for eBoundaryType.
00077    *
00078    * @ingroup gStorable
00079    */
00080   bool write(ioHandler& handler,const eBoundaryType& data);
00081 
00082   
00083 }
00084 #endif

Generated on Sat Apr 10 15:25:10 2010 for LTI-Lib by Doxygen 1.6.1