rasdaman complete source
Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
r_Stat_Tiling Class Reference

#include <stattiling.hh>

Inheritance diagram for r_Stat_Tiling:
r_Dimension_Tiling r_Size_Tiling r_Tiling

Public Member Functions

 r_Stat_Tiling (const char *encoded) throw (r_Error)
 read everything from an encoded string e.g. "2;[0:9,0:9],3;[100:109,0:9],2;2;0.3;100" More...
 
 r_Stat_Tiling (r_Dimension dim, const std::vector< r_Access > &stat_info, r_Bytes ts=RMInit::clientTileSize, r_Area border_threshold=DEF_BORDER_THR, r_Double interesting_threshold=DEF_INTERESTING_THR) throw (r_Error)
 Class constructor. More...
 
virtual ~r_Stat_Tiling ()
 
virtual const std::vector
< r_Minterval > & 
get_interesting_areas () const
 Gets the statistical information. More...
 
r_Area get_border_threshold () const
 Gets the threshold at which to intervals are considered the same. More...
 
r_Double get_interesting_threshold () const
 Gets the threshold at which an area is considered to be interesting. More...
 
virtual void print_status (std::ostream &os) const
 
virtual std::vector
< r_Minterval > * 
compute_tiles (const r_Minterval &obj_domain, r_Bytes cell_size) const throw (r_Error)
 returns true if the cellTypeSize is smaller or equal to the tile size and the dimension fits the obj_domain More...
 
virtual r_Tilingclone () const
 Clones this object. More...
 
virtual r_Tiling_Scheme get_tiling_scheme () const
 
- Public Member Functions inherited from r_Dimension_Tiling
 r_Dimension_Tiling (r_Dimension dim, r_Bytes ts=RMInit::clientTileSize)
 Constructor for this object (Takes dim (no of dimension) and tile size as parameter) More...
 
virtual ~r_Dimension_Tiling ()
 does not do anything More...
 
r_Dimension get_dimension () const
 Gets the current dimension. More...
 
virtual bool is_compatible (const r_Minterval &obj_domain, r_Bytes cellTypeSize) const
 returns true if the cellTypeSize is smaller or equal to the tile size and obj_domain has more than 0 dimensions More...
 
- Public Member Functions inherited from r_Size_Tiling
 r_Size_Tiling (const char *encoded) throw (r_Error)
 Constructor that reads everything from a string e.g."100". More...
 
 r_Size_Tiling (r_Bytes ts=RMInit::clientTileSize)
 Constructor for this object (Takes tile size as parameter) More...
 
virtual ~r_Size_Tiling ()
 does not do anything More...
 
r_Bytes get_tile_size () const
 Gets the current tile size. More...
 
- Public Member Functions inherited from r_Tiling
virtual ~r_Tiling ()
 does not do anything More...
 

Static Public Attributes

static const r_Area DEF_BORDER_THR
 Default threshold for two borders being considered the same. More...
 
static const r_Double DEF_INTERESTING_THR
 Default threshold for considering an area interesting when tiling. More...
 
static const char * description
 
- Static Public Attributes inherited from r_Size_Tiling
static const char * description
 
- Static Public Attributes inherited from r_Tiling
static const char * ASTERIX
 
static const char * TCOLON
 
static const char * TCOMMA
 
static const char * LSQRBRA
 
static const char * RSQRBRA
 
static const long DefaultBase
 

Protected Member Functions

void filter (std::vector< r_Access > &patterns) const throw (r_Error)
 Filters and access pattern table (list) throws exception if dimensions of access patterns are not the same. More...
 
r_Access merge (const std::vector< r_Access > &patterns) const
 Merges a list of access patterns. More...
 

Protected Attributes

r_Double interesting_thr
 The "interesting area" threshold. More...
 
r_Area border_thr
 The "same border" threshold. More...
 
std::vector< r_Mintervaliareas
 Current interest areas. More...
 
std::vector< r_Accessstat_info
 Statistical data. More...
 
- Protected Attributes inherited from r_Dimension_Tiling
r_Dimension dimension
 dimension the mdd must have More...
 
- Protected Attributes inherited from r_Size_Tiling
r_Bytes tile_size
 Tile size. More...
 

Constructor & Destructor Documentation

r_Stat_Tiling::r_Stat_Tiling ( const char *  encoded)
throw (r_Error
)

read everything from an encoded string e.g. "2;[0:9,0:9],3;[100:109,0:9],2;2;0.3;100"

r_Stat_Tiling::r_Stat_Tiling ( r_Dimension  dim,
const std::vector< r_Access > &  stat_info,
r_Bytes  ts = RMInit::clientTileSize,
r_Area  border_threshold = DEF_BORDER_THR,
r_Double  interesting_threshold = DEF_INTERESTING_THR 
)
throw (r_Error
)

Class constructor.

virtual r_Stat_Tiling::~r_Stat_Tiling ( )
virtual

This is the "Statistic Tiling" class constructor. It takes as parameters the threshold for, when performing filtering, considering two borders the same, and also, the threshold at which an area is considered interesting and should be taken in account when performing tiling. Finally, the tilesize is considered as a parameter. stat_info inputs the statistic information into the class and calculates the new interest areas that will be used to perform tiling on the object. An exception is thrown when the statistical data does not fit the dimension.

Member Function Documentation

virtual r_Tiling* r_Stat_Tiling::clone ( ) const
virtual

Clones this object.

This method provides the core funcionality of this class. All derived classes must implement it. As input parameters it takes the big object to be decomposed and returns a set of tiles that compose the big object. This method throws an exeception when the dimension specified, extend or the cell_size are incompatible with the current tiling. You can check compatibility by invoking is_compatible.

Implements r_Dimension_Tiling.

virtual std::vector<r_Minterval>* r_Stat_Tiling::compute_tiles ( const r_Minterval obj_domain,
r_Bytes  cellTypeSize 
) const
throw (r_Error
)
virtual

returns true if the cellTypeSize is smaller or equal to the tile size and the dimension fits the obj_domain

Implements r_Dimension_Tiling.

void r_Stat_Tiling::filter ( std::vector< r_Access > &  patterns) const
throw (r_Error
)
protected

Filters and access pattern table (list) throws exception if dimensions of access patterns are not the same.

r_Area r_Stat_Tiling::get_border_threshold ( ) const

Gets the threshold at which to intervals are considered the same.

virtual const std::vector<r_Minterval>& r_Stat_Tiling::get_interesting_areas ( ) const
virtual

Gets the statistical information.

r_Double r_Stat_Tiling::get_interesting_threshold ( ) const

Gets the threshold at which an area is considered to be interesting.

This method gets the number of points (pixels/cells) at which two intervals are considered to be the same, in the access patterns.

virtual r_Tiling_Scheme r_Stat_Tiling::get_tiling_scheme ( ) const
virtual

This method is similar to a copy constructor, this is, is returns a copy of the current object. Derived classes must explicitly implement this method.

Reimplemented from r_Size_Tiling.

r_Access r_Stat_Tiling::merge ( const std::vector< r_Access > &  patterns) const
protected

Merges a list of access patterns.

virtual void r_Stat_Tiling::print_status ( std::ostream &  os) const
virtual

This method gets the threshold at which an area is considered to be interesting. All the areas that are accessed above the specified threshold, will be considered interest areas when performing tiling.

Reimplemented from r_Dimension_Tiling.

Member Data Documentation

r_Area r_Stat_Tiling::border_thr
protected

The "same border" threshold.

const r_Area r_Stat_Tiling::DEF_BORDER_THR
static

Default threshold for two borders being considered the same.

const r_Double r_Stat_Tiling::DEF_INTERESTING_THR
static

Default threshold for considering an area interesting when tiling.

const char* r_Stat_Tiling::description
static
std::vector<r_Minterval> r_Stat_Tiling::iareas
protected

Current interest areas.

r_Double r_Stat_Tiling::interesting_thr
protected

The "interesting area" threshold.

std::vector<r_Access> r_Stat_Tiling::stat_info
protected

Statistical data.


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