pfs Namespace Reference

All classes and function from PFS library reside in pfs namespace. More...


Classes

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

Typedefs

typedef
SelfDestructPtr
< TagIterator
TagIteratorPtr
typedef
SelfDestructPtr
< ChannelIterator
ChannelIteratorPtr

Enumerations

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

Functions

void copyArray (const Array2D *from, Array2D *to)
 Copy data from one Array2D to another.
void setArray (Array2D *array, const float value)
 Set all elements of the array to a give value.
void multiplyArray (Array2D *z, const Array2D *x, const Array2D *y)
 Perform element-by-element multiplication: z = x * y.
void copyTags (Frame *from, Frame *to)
 Copy all tags from both the frame and its channels to the destination frame.
void copyTags (const TagContainer *from, TagContainer *to)
 Copy all tags from one container into another.
void 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

All classes and function from PFS library reside in pfs namespace.

Enumeration Type Documentation

enum pfs::ColorSpace

This enum is used to specify color spaces for transformColorSpace function.

Enumerator:
CS_XYZ  Absolute XYZ space, reference white - D65, Y is calibrated luminance in cd/m^2.
CS_RGB  Absolute XYZ space, reference white - D65.
CS_SRGB  sRGB color space for LDR images (see www.srgb.com).

The possible pixel values for R, G and B channel should be within range 0-1 (the values above or below this range will be clamped). Peak luminance level of the display is 80cd/m^2.

CS_YUV  Perceptually uniform u and v color coordinates, Y is calibrated luminance in cd/m^2.
CS_Yxy  Luminance and normalized chromacities (x=X/(X+Y+Z), y=Y/(X+Y+Z)).
CS_LAST  For internal purposes only.

Definition at line 532 of file pfs.h.


Function Documentation

void pfs::copyArray ( const Array2D *  from,
Array2D *  to 
) [inline]

Copy data from one Array2D to another.

Dimensions of the arrays must be the same.

Parameters:
from array to copy from
to array to copy to

Definition at line 205 of file array2d.h.

void pfs::copyTags ( const TagContainer *  from,
TagContainer *  to 
)

Copy all tags from one container into another.

Note, that all tags in the destination channel will be removed before copying. Therefore after this operation, the destination will contain exactly the same tags as the source.

void pfs::copyTags ( Frame *  from,
Frame *  to 
)

Copy all tags from both the frame and its channels to the destination frame.

If there is no corresponding destination channel for a source channel, the tags from that source channel will not be copied. Note, that all tags in the destination channel will be removed before copying. Therefore after this operation, the destination will contain exactly the same tags as the source.

void pfs::multiplyArray ( Array2D *  z,
const Array2D *  x,
const Array2D *  y 
) [inline]

Perform element-by-element multiplication: z = x * y.

z can be the same as x or y.

Parameters:
z array where the result is stored
x first element of the multiplication
y second element of the multiplication

Definition at line 235 of file array2d.h.

void pfs::setArray ( Array2D *  array,
const float  value 
) [inline]

Set all elements of the array to a give value.

Parameters:
array array to modify
value all elements of the array will be set to this value

Definition at line 221 of file array2d.h.

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.

Input and output channels may point to the same data for in-memory transform.

Parameters:
inCS input color space
inC1 first color channel of the input image
inC2 second color channel of the input image
inC3 third color channel of the input image
outCS output color space
outC1 first color channel of the output image
outC2 second color channel of the output image
outC3 third color channel of the output image


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