MStdEncoder Class Reference
[Module implementations]

Standard square encoder - uses affine color transformation for one-domain to one-range mappings. More...

#include <stdEncoder.h>

Inheritance diagram for MStdEncoder:

Inheritance graph
Collaboration diagram for MStdEncoder:

Collaboration graph

List of all members.


struct  EncodingInfo
 Structure constructed for a range to try domains. More...
struct  RangeInfo
 Stores information about a range's mapping, to be pointed by ISquareRanges::RangeNode.encoderData. More...

Public Member Functions

ISquareEncoder interface
void initialize (IRoot::Mode mode, PlaneBlock &planeBlock_)
 Initializes the module for encoding or decoding of a PlaneBlock.
float findBestSE (const RangeNode &range, bool allowHigherSE)
 Finds mapping with the best square error for a range (returns the SE), data neccessary for decoding are stored in RangeNode.encoderData.
void finishEncoding ()
 Finishes encoding - to be ready for saving or decoding (can do some cleanup).
void decodeAct (DecodeAct action, int count=1)
 Performs a decoding action.
void writeSettings (std::ostream &file)
 Write all settings needed for reconstruction (don't depend on encoded thing).
void readSettings (std::istream &file)
 Read all settings, opposite to writeSettings.
int phaseCount () const
 Returns the number of phases (progressive encoding), only depends on settings.
void writeData (std::ostream &file, int phase)
 Write one phase of data needed for reconstruction (excluding settings).
void readData (std::istream &file, int phase)
 Reads one phase of data needed for recostruction, assumes the settings have been read previously via readSettings.

Protected Types

enum  Settings
 Indices for settings.

Protected Member Functions

 MStdEncoder ()
 Only initializes planeBlock to zero.
void buildPoolInfos4aLevel (int level)
 Builds levelPoolInfos[level], uses planeBlock->domains.
void initRangeInfoAccelerators ()
 Initializes decoding accelerators (in RangeInfo) for all range blocks.

Static Protected Member Functions

static const Pool & getDomainData (const RangeNode &rangeBlock, const ISquareDomains::PoolList &pools, const PoolInfos &poolInfos, int domIndex, int zoom, Block &block)
 Considers a domain on a level number domIndex (in pools and poolInfos) and sets block to the domain's block and returns a reference to its pool.
static PoolInfos::const_iterator getPoolFromDomID (int domID, const PoolInfos &poolInfos)
 Return iterator to the pool of domain with index domID.

Protected Attributes

PlaneBlock * planeBlock
 Pointer to the block to encode/decode.
std::vector< float > stdRangeSEs
 Caches the result of IQuality2SE::regularRangeErrors.
LevelPoolInfos levelPoolInfos
 see LevelPoolInfos, only initialized for used levels

Detailed Description

Standard square encoder - uses affine color transformation for one-domain to one-range mappings.

Uses modified mappings with fixed target average and deviation and allows to set

Definition at line 22 of file stdEncoder.h.

The documentation for this class was generated from the following files:

Generated on Thu Aug 6 22:33:15 2009 for Fractal Image Compressor by  doxygen 1.5.8