![]() |
rasdaman client API 10.6.3
The Array Analytics Engine: Datacubes at Your Fingertips
|
#include <stattiling.hh>
Public Member Functions | |
| r_Stat_Tiling (const char *encoded) | |
| read everything from an encoded string e.g. | |
| r_Stat_Tiling (r_Dimension dim, const std::vector< r_Access > &stat_info, r_Bytes ts=r_Tiling::defaultTileSize, r_Area border_threshold=DEF_BORDER_THR, r_Double interesting_threshold=DEF_INTERESTING_THR) | |
| Class constructor. | |
| virtual | ~r_Stat_Tiling ()=default |
| This is the "Statistic Tiling" class constructor. | |
| virtual const std::vector< r_Minterval > & | get_interesting_areas () const |
| Gets the statistical information. | |
| r_Area | get_border_threshold () const |
| Gets the threshold at which to intervals are considered the same. | |
| r_Double | get_interesting_threshold () const |
| This method gets the number of points (pixels/cells) at which two intervals are considered to be the same, in the access patterns. | |
| void | print_status (std::ostream &os) const override |
| This method gets the threshold at which an area is considered to be interesting. | |
| std::vector< r_Minterval > | compute_tiles (const r_Minterval &obj_domain, r_Bytes cell_size) const override |
| Decompose an object in tiles. | |
| r_Tiling * | clone () const override |
| This method provides the core funcionality of this class. | |
| r_Tiling_Scheme | get_tiling_scheme () const override |
| This method is similar to a copy constructor, this is, is returns a copy of the current object. | |
Public Member Functions inherited from r_Dimension_Tiling | |
| r_Dimension_Tiling (r_Dimension dim, r_Bytes ts=r_Tiling::defaultTileSize) | |
| Constructor for this object (Takes dim (no of dimension) and tile size as parameter) | |
| virtual | ~r_Dimension_Tiling ()=default |
| bool | is_compatible (const r_Minterval &obj_domain, r_Bytes cellTypeSize) const override |
| returns true if the cellTypeSize is smaller or equal to the tile size and the dimension fits the obj_domain | |
| r_Dimension | get_dimension () const |
Public Member Functions inherited from r_Size_Tiling | |
| r_Size_Tiling (const char *encoded) | |
| Constructor that reads everything from a string e.g."100". | |
| r_Size_Tiling (r_Bytes ts=r_Tiling::defaultTileSize) | |
| virtual | ~r_Size_Tiling ()=default |
| bool | is_compatible (const r_Minterval &obj_domain, r_Bytes cellTypeSize) const override |
| returns true if the cellTypeSize is smaller or equal to the tile size and obj_domain has more than 0 dimensions | |
| r_Bytes | get_tile_size () const |
Public Member Functions inherited from r_Tiling | |
| virtual | ~r_Tiling ()=default |
Static Public Attributes | |
| static const r_Area | DEF_BORDER_THR |
| Default threshold for two borders being considered the same. | |
| static const r_Double | DEF_INTERESTING_THR |
| Default threshold for considering an area interesting when tiling. | |
| 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 |
| return the type of tiling scheme | |
| static const char * | TCOLON |
| static const char * | TCOMMA |
| static const char * | LSQRBRA |
| static const char * | RSQRBRA |
| static const int | DefaultBase |
| static const r_Bytes | defaultTileSize |
Protected Member Functions | |
| void | filter (std::vector< r_Access > &patterns) const |
| Filters and access pattern table (list) throws exception if dimensions of access patterns are not the same. | |
| r_Access | merge (const std::vector< r_Access > &patterns) const |
| Merges a list of access patterns. | |
Protected Member Functions inherited from r_Tiling | |
| void | check_nonempty_tiling (const char *encoded) const |
| void | check_premature_stream_end (const char *currPos, const char *endPos) const |
| r_Minterval | parse_minterval (const char *encoded) const |
| unsigned int | parse_unsigned (const char *encoded) const |
| unsigned long | parse_unsigned_long (const char *encoded) const |
| long | parse_long (const char *encoded) const |
| double | parse_double (const char *encoded) const |
| std::unique_ptr< char[]> | copy_buffer (const char *buf, size_t len) const |
| const char * | advance_to_next_char (const char *p, const char *search) const |
Protected Attributes | |
| r_Double | interesting_thr |
| The "interesting area" threshold. | |
| r_Area | border_thr |
| The "same border" threshold. | |
| std::vector< r_Minterval > | iareas |
| Current interest areas. | |
| std::vector< r_Access > | stat_info |
| Statistical data. | |
Protected Attributes inherited from r_Dimension_Tiling | |
| r_Dimension | dimension {} |
| dimension the mdd must have | |
Protected Attributes inherited from r_Size_Tiling | |
| r_Bytes | tile_size {} |
| Tile size. | |
|
explicit |
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 = r_Tiling::defaultTileSize, |
||
| r_Area | border_threshold = DEF_BORDER_THR, |
||
| r_Double | interesting_threshold = DEF_INTERESTING_THR |
||
| ) |
Class constructor.
|
virtualdefault |
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.
|
overridevirtual |
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. Clones this object
Implements r_Dimension_Tiling.
|
overridevirtual |
Decompose an object in tiles.
Implements r_Dimension_Tiling.
|
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 |
Gets the statistical information.
| r_Double r_Stat_Tiling::get_interesting_threshold | ( | ) | const |
This method gets the number of points (pixels/cells) at which two intervals are considered to be the same, in the access patterns.
Gets the threshold at which an area is considered to be interesting
|
overridevirtual |
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.
Merges a list of access patterns.
|
overridevirtual |
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.
|
protected |
The "same border" threshold.
|
static |
Default threshold for two borders being considered the same.
|
static |
Default threshold for considering an area interesting when tiling.
|
static |
|
protected |
Current interest areas.
|
protected |
The "interesting area" threshold.
|
protected |
Statistical data.