pfs.h File Reference

#include <stdio.h>
#include <string.h>
#include "array2d.h"

Go to the source code of this file.

Namespaces

namespace  pfs

Classes

class  pfs::SelfDestructPtr< T >
 Utility class that keeps pointer and deletes pointed object when the class is deleted. More...
class  pfs::TagIterator
 Iterator that allows to get the list of available tags in a TagContainer. More...
class  pfs::TagContainer
 TagContainer interface allows to read and modify tags. More...
class  pfs::Channel
 Channel interface represents a 2D rectangular array with associated tags. More...
class  pfs::ChannelIterator
 Iterator that allows to get the list of available channels in a frame. More...
class  pfs::Frame
 Interface representing a single PFS frame. More...
class  pfs::DOMIO
 Reading and writing frames in PFS format from/to streams. More...
struct  pfs::FrameFile
 A pair of a file name and file handler, returned from FrameFileIterator. More...
class  pfs::FrameFileIterator
 Utility class that can be used to iterate over file names specified as command line arguments. More...
class  pfs::Exception
 General exception class used to throw exceptions from pfs library. More...
class  pfs::CommandLineException
 Exception class used to throw exceptions from FileFileIterator class. More...

Typedefs

typedef
SelfDestructPtr
< TagIterator > 
pfs::TagIteratorPtr
typedef
SelfDestructPtr
< ChannelIterator > 
pfs::ChannelIteratorPtr

Enumerations

enum  pfs::ColorSpace {
  pfs::CS_XYZ = 0, pfs::CS_RGB, pfs::CS_SRGB, pfs::CS_YUV,
  pfs::CS_Yxy, pfs::CS_LAST
}
 This enum is used to specify color spaces for transformColorSpace function. More...

Functions

void pfs::copyTags (Frame *from, Frame *to)
 Copy all tags from both the frame and its channels to the destination frame.
void pfs::copyTags (const TagContainer *from, TagContainer *to)
 Copy all tags from one container into another.
void pfs::transformColorSpace (ColorSpace inCS, const Array2D *inC1, const Array2D *inC2, const Array2D *inC3, ColorSpace outCS, Array2D *outC1, Array2D *outC2, Array2D *outC3)
 Transform color channels from one color space into another.


Detailed Description

PFS library - core API interfaces Classes for reading and writing a stream of PFS frames.

Note on the design of pfs library API: pfs library API makes extensive usage of interfaces - classes that have only virtual methods. This way no private fields are visible for the client programs. Everything that is private is hidden in .cpp file rather than the header .h. For example, pfs library uses STL to store some internal data, but no STL class can be found the header file pfs.h. Such design should hopefully give less problems when extending and updating the library.

This file is a part of PFSTOOLS package. ---------------------------------------------------------------------- Copyright (C) 2003,2004 Rafal Mantiuk and Grzegorz Krawczyk

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ----------------------------------------------------------------------

Author:
Rafal Mantiuk, <mantiuk@mpi-sb.mpg.de>
Id

Definition in file pfs.h.


Generated on Tue Nov 25 17:23:48 2008 for Portable Floating-point Streams (pfstools) by  doxygen 1.5.3