FotoSHOCK
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Namespaces | Classes | Typedefs | Functions
FotoSHOCKcore Namespace Reference

Namespace of the FotoSHOCKcore library. More...

Namespaces

 Serialization_internal
 Do not ever use things from this namespace. Ever.
 

Classes

class  ColorSpace
 Color space definition. More...
 
class  ColorSpaceEnum
 A class representing an enumeration of supported color spaces. More...
 
class  ConvertException
 
class  ConvertColorSpaceFunctor
 Functor used to convert between various pixel formats and color spaces. More...
 
class  ConvertValueTypeFunctor
 
class  ConvertPixelFormatDescr
 
class  ConvertPixelFormat
 
class  CoreException
 Base class for exceptions in the FotoSHOCKcore. More...
 
class  ArrayException
 
class  FixedArray
 Very simple implementation of a constant sized array with possibility for manual resize. More...
 
class  Graph_private
 
class  GraphManager
 Class for managing a graph of ImageOperations. More...
 
class  GraphNode
 Class representing a node of a GraphManager. More...
 
class  ImageBufferIterator
 Iterator for linear access to the ImageBuffer content. More...
 
class  ImageBuffer
 Class storing the image. More...
 
class  ImageBufferBase
 The base class for ImageBuffer. More...
 
class  InputProto
 Class describing inputs of an ImageOperation. More...
 
class  OutputProto
 Class describing outputs of an ImageOperation. More...
 
class  ImageOperationDescriptor
 Class describing an ImageOperation. More...
 
class  ImageOperation
 Base class for representing operation on an image. More...
 
class  MipMap
 Class storing collection of differently-sized buffers. More...
 
class  PixelData
 Class wrapping all pixel related information together. More...
 
class  ROIinfo
 Class representating a rectangle. More...
 
class  FillFunctor
 
class  RootCreateImage
 Load a new image. More...
 
class  RootLoadImageDescriptor
 Load a new image. More...
 
class  RootLoadImage
 
class  NVPtype
 Name-Value pair. More...
 
class  NVPtype< T * >
 Name-Value pair. More...
 
class  NVPtype< const char * >
 Name-Value pair. More...
 
class  TypeSerializer
 
class  TypeSerializer< const char * >
 
class  TypeSerializer< float >
 
class  TypeSerializer< double >
 
class  XmlNode
 
class  XmlSerializer
 Class for serializing data. More...
 
class  TileIterator
 Iterator to traverse through the content of a Tile. More...
 
class  Tile
 Class used to store one tile. More...
 
class  UpdateInfo
 Stores the information used for updates within GraphManager. More...
 
class  ValueType
 A class representing a supported format in which pixel data are stored. More...
 
class  ValueTypeEnum
 A class representing an enumeration of supported formats in which pixel values can be stored. More...
 
class  ValueTypeInfoBase
 Generic implementation of the functions for ValueTypeInfo. More...
 
class  ValueTypeInfo
 Class used to get additional type information about the ValueType. More...
 
class  ValueTypeInfo< ValueType::value_uint1 >
 
class  ValueTypeInfo< ValueType::value_uint8 >
 
class  ValueTypeInfo< ValueType::value_uint16 >
 
class  ValueTypeInfo< ValueType::value_uint32 >
 
class  ValueTypeInfo< ValueType::value_uint64 >
 
class  ValueTypeInfo< ValueType::value_float >
 
class  ValueTypeInfo< ValueType::value_double >
 

Typedefs

typedef FixedArray< MipMap * > Inputs
 
typedef FixedArray< MipMap * > Outputs
 

Functions

NVPtype< int * > nvp (const char *name)
 Function to conveniently create NVPtype. More...
 
template<typename T >
NVPtype< T > nvp (const char *name, T value)
 Function to conveniently create NVPtype. More...
 
template<typename T >
NVPtype< T * > nvp (const char *name, T *value, std::size_t size)
 Function to conveniently create NVPtype for storing arrays. More...
 
template<ValueType::Enum InPixelType, ValueType::Enum OutPixelType, typename Functor >
void transformImage_impl (ImageBuffer< InPixelType > &src, ImageBuffer< OutPixelType > &dest, Functor func, const unsigned int srcNumOfTilesHoriz, const unsigned int destNumOfTilesHoriz, const unsigned int srcNumOfTilesVert, const unsigned int destNumOfTilesVert, const unsigned int srcTileExtent, ROIinfo &ROI, const long stamp)
 
template<ValueType::Enum InPixelType, ValueType::Enum OutPixelType, typename Functor >
void transformImage (MipMap *src, MipMap *dest, Functor func, std::vector< UpdateInfo > &ROIlist, const long stamp)
 Transform the MipMap pixels using a functor. More...
 
template<ValueType::Enum PixelType, typename Functor >
void transformImage (MipMap *src, MipMap *dest, Functor func, std::vector< UpdateInfo > &ROIlist, const long stamp)
 
template<ValueType::Enum InPixelType, ValueType::Enum OutPixelType, typename Functor >
void transformImage (ImageBuffer< InPixelType > &src, ImageBuffer< OutPixelType > &dest, Functor func, std::vector< ROIinfo > &ROIlist, const long stamp)
 

Detailed Description

Namespace of the FotoSHOCKcore library.

Author
Lukáš Jirkovský (Lukas Jirkovsky)

Function Documentation

NVPtype<int*> FotoSHOCKcore::nvp ( const char *  name)
inline

Function to conveniently create NVPtype.

This function is used to conveniently create NVPtype for use with the OperationSerializer. This overload is used for creating name-value pair that has no value.

It takes advantage of the fact that if a zero sized array is serialized using NVPtype<T*>, the serialized value is NULL.

Parameters
namename in the name-value pair stored by the NVPtype
Returns
NVPtype instantiation
template<typename T >
NVPtype<T> FotoSHOCKcore::nvp ( const char *  name,
value 
)

Function to conveniently create NVPtype.

This function is used to conveniently create NVPtype for use with the OperationSerializer.

Template Parameters
Ttype storing the value
Parameters
namename in the name-value pair stored by the NVPtype
valuevalue in the name-value pair stored by the NVPtype
Returns
NVPtype instantiation appropriate for serializing the value, which is of type T
template<typename T >
NVPtype<T*> FotoSHOCKcore::nvp ( const char *  name,
T *  value,
std::size_t  size 
)

Function to conveniently create NVPtype for storing arrays.

This function is used to conveniently create NVPtype for use with the OperationSerializer. This overload is used for storing arrays. For that reason, it is necessary to know the number of elements in an array.

Template Parameters
Ttype storing the value
Parameters
namename in the name-value pair stored by the NVPtype
valuevalue in the name-value pair stored by the NVPtype
sizenumber of elements in the array
Returns
NVPtype instantiation appropriate for serializing the value, which is of type T
template<ValueType::Enum InPixelType, ValueType::Enum OutPixelType, typename Functor >
template< PixelFormat::Enum PixelType, typename Functor > void FotoSHOCKcore::transformImage ( MipMap *  src,
MipMap *  dest,
Functor  func,
std::vector< UpdateInfo > &  ROIlist,
const long  stamp 
)

Transform the MipMap pixels using a functor.

The function transformImage() takes pixels withing ROI at a specified mipmap level (both ROI and mipmap level are stored in the UpdateInfo) from the coresponding ImageBuffer in the source MipMap, transforms each pixel of the buffer using the functor and stores the transformed pixels in the destination MipMap.

The functor has to implement void operator()(PixelFormat* in, PixelFormat* out). The ROI specifies the minimal processed region. The actual area processed can be bigger.

The image is traversed with respect to the division into Tiles if possible.

Parameters
srcsource MipMap
destdestination MipMap
funcfunctor used to transform source pixel into destination pixel
ROIlistlist of UpdateInfo objects specifying the areas and mipmap levels to process

This overload ignores the mipmap level in the ROIlist.