VisionCpp
0.0.1
|
PyramidAutomemSep is used to construct a pyramid node in the expression tree with two separable Filter for row and column and general DownSmplOP functors. More...
#include <pyramid_with_auto_mem_sep.hpp>
Public Types | |
using | OutType = typename DownSmplOP::OutType |
using | Type = typename OutputMemory< OutType, LfType, Cols+Cols/2, Rows, LVL >::Type |
using | LHSExpr = LeafNode< Type, LVL > |
using | PyramidMem = typename CreatePyramidTupleType< false, Cols/2, Rows/2, LeafType, Depth, 0, LHSExpr >::Type |
using | PyramidType = PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp > |
pyramid type More... | |
Public Member Functions | |
PyramidAutomemSep (RHS rhsArg, SepFilterCol fltrCol, SepFilterRow fltrRow) | |
void | reset (bool reset) |
template<size_t N> | |
PyramidLeafNode< PyramidType, N > | get () |
method get More... | |
template<bool ForcedToExec, size_t LC, size_t LR, size_t LCT, size_t LRT, typename DeviceT > | |
PyramidLeafNode< PyramidType, 0 > | sub_expression_evaluation (const DeviceT &dev) |
sub_expression_evaluation More... | |
Public Attributes | |
RHS | rhs |
SepFilterCol | spFltrCol |
SepFilterRow | spFltrRow |
bool | subexpr_execution_reseter |
bool | first_time |
size_t | node_reseter |
PyramidMem | mem |
Static Public Attributes | |
static constexpr bool | has_out = false |
static constexpr size_t | Level = LVL |
static constexpr size_t | LeafType = Type::LeafType |
static constexpr bool | SubExpressionEvaluationNeeded = true |
static constexpr size_t | Operation_type = ops_category::GlobalNeighbourOP |
static constexpr size_t | RThread = Rows |
static constexpr size_t | CThread = Cols |
static constexpr size_t | ND_Category = expr_category::Unary |
static constexpr size_t | Depth = Dp |
PyramidAutomemSep is used to construct a pyramid node in the expression tree with two separable Filter for row and column and general DownSmplOP functors.
It automatically generates the tuple of output based on the depth. template parameters:
SepFltrColOP | separable Filter functor for col |
SepFltrRowOP | separable Filter functor for row |
DownSmplOP | downsampling function for pyramid |
LHS | is the input passed for pyramid |
SepFilterCol | is the separable filter node for column |
SepFilterRow | is the separable filter node for row |
Cols | determines the column size of the input pyramid |
Rows | determines the row size of the input pyramid |
LfType | determines the type of the leafNode {Buffer2D, Buffer1D, Host, Image} |
LVL | the level of the node in the expression tree |
Dp | represents the depth of downsampling |
Definition at line 158 of file pyramid_with_auto_mem_sep.hpp.
using visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::LHSExpr = LeafNode<Type, LVL> |
Definition at line 164 of file pyramid_with_auto_mem_sep.hpp.
using visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::OutType = typename DownSmplOP::OutType |
Definition at line 161 of file pyramid_with_auto_mem_sep.hpp.
using visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::PyramidMem = typename CreatePyramidTupleType<false, Cols / 2, Rows / 2, LeafType, Depth, 0, LHSExpr>::Type |
Definition at line 173 of file pyramid_with_auto_mem_sep.hpp.
using visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::PyramidType = PyramidAutomemSep<SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp> |
pyramid type
Definition at line 199 of file pyramid_with_auto_mem_sep.hpp.
using visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::Type = typename OutputMemory<OutType, LfType, Cols + Cols / 2, Rows, LVL>::Type |
Definition at line 162 of file pyramid_with_auto_mem_sep.hpp.
|
inline |
Definition at line 184 of file pyramid_with_auto_mem_sep.hpp.
|
inline |
method get
Definition at line 204 of file pyramid_with_auto_mem_sep.hpp.
|
inline |
Definition at line 193 of file pyramid_with_auto_mem_sep.hpp.
References visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::rhs, and visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::subexpr_execution_reseter.
|
inline |
sub_expression_evaluation
This function is used to break the expression tree whenever necessary. The decision for breaking the tree will be determined based on the static parameter called SubExpressionEvaluationNeeded. When this is set to true, the sub_expression_evaluation is called recursively from the root of the tree. Each node based on their parent decision will decide to launch a kernel for itself. Also, they decide for each of their children whether or not to launch a kernel separately. template parameters:
ForcedToExec | : a boolean value representing the decision made by the parent of this node for launching a kernel. |
LC | is the column size of local memory required by Filter2D and DownSmplOP |
LR | is the row size of local memory required by Filter2D and DownSmplOP |
LCT | is the column size of workgroup |
LRT | is the row size of workgroup |
DeviceT | type representing the device function parameters: |
dev | : the selected device for executing the expression |
Definition at line 231 of file pyramid_with_auto_mem_sep.hpp.
References visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::Depth, visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::LeafType, visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::mem, visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::rhs, visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::spFltrCol, and visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::spFltrRow.
|
staticconstexpr |
Definition at line 170 of file pyramid_with_auto_mem_sep.hpp.
|
staticconstexpr |
bool visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::first_time |
Definition at line 181 of file pyramid_with_auto_mem_sep.hpp.
|
staticconstexpr |
Definition at line 160 of file pyramid_with_auto_mem_sep.hpp.
|
staticconstexpr |
|
staticconstexpr |
Definition at line 165 of file pyramid_with_auto_mem_sep.hpp.
PyramidMem visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::mem |
|
staticconstexpr |
Definition at line 171 of file pyramid_with_auto_mem_sep.hpp.
size_t visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::node_reseter |
Definition at line 182 of file pyramid_with_auto_mem_sep.hpp.
|
staticconstexpr |
Definition at line 168 of file pyramid_with_auto_mem_sep.hpp.
RHS visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::rhs |
Definition at line 176 of file pyramid_with_auto_mem_sep.hpp.
Referenced by visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::reset(), and visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::sub_expression_evaluation().
|
staticconstexpr |
Definition at line 169 of file pyramid_with_auto_mem_sep.hpp.
SepFilterCol visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::spFltrCol |
SepFilterRow visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::spFltrRow |
bool visioncpp::internal::PyramidAutomemSep< SepFltrColOP, SepFltrRowOP, DownSmplOP, RHS, SepFilterCol, SepFilterRow, Cols, Rows, LfType, LVL, Dp >::subexpr_execution_reseter |
|
staticconstexpr |
Definition at line 167 of file pyramid_with_auto_mem_sep.hpp.