VisionCpp
0.0.1
|
PyramidDownGen is used to construct a pyramid node in the expression tree with general Filter2D and general DownSmplOP functors. More...
#include <pyramid_with_auto_mem_gen.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 = PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp > |
pyramid type More... | |
Public Member Functions | |
PyramidAutomemGen (RHS rhsArg, Fltr2D fltr2DArg) | |
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 |
Fltr2D | fltr2D |
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::Binary |
static constexpr size_t | Depth = Dp |
PyramidDownGen is used to construct a pyramid node in the expression tree with general Filter2D and general DownSmplOP functors.
It automatically generates the tuple of output based on the depth. template parameters:
Fltr2DOP | general Filter2D function |
DownSmplOP | downsampling function for pyramid |
Cols | determines the column size of the input pyramid |
RHS | is the input passed for pyramid |
Fltr2D | is the filter2d node |
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 down sampling |
Definition at line 140 of file pyramid_with_auto_mem_gen.hpp.
using visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::LHSExpr = LeafNode<Type, LVL> |
Definition at line 145 of file pyramid_with_auto_mem_gen.hpp.
using visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::OutType = typename DownSmplOP::OutType |
Definition at line 142 of file pyramid_with_auto_mem_gen.hpp.
using visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::PyramidMem = typename CreatePyramidTupleType<false, Cols / 2, Rows / 2, LeafType, Depth, 0, LHSExpr>::Type |
Definition at line 154 of file pyramid_with_auto_mem_gen.hpp.
using visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::PyramidType = PyramidAutomemGen<Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp> |
pyramid type
Definition at line 179 of file pyramid_with_auto_mem_gen.hpp.
using visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::Type = typename OutputMemory<OutType, LfType, Cols + Cols / 2, Rows, LVL>::Type |
Definition at line 143 of file pyramid_with_auto_mem_gen.hpp.
|
inline |
Definition at line 165 of file pyramid_with_auto_mem_gen.hpp.
|
inline |
method get
Definition at line 183 of file pyramid_with_auto_mem_gen.hpp.
|
inline |
Definition at line 173 of file pyramid_with_auto_mem_gen.hpp.
References visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::rhs, and visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, 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 210 of file pyramid_with_auto_mem_gen.hpp.
References visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::Depth, visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::fltr2D, visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::LeafType, visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::mem, and visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::rhs.
|
staticconstexpr |
Definition at line 151 of file pyramid_with_auto_mem_gen.hpp.
|
staticconstexpr |
Definition at line 153 of file pyramid_with_auto_mem_gen.hpp.
Referenced by visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::sub_expression_evaluation().
bool visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::first_time |
Definition at line 161 of file pyramid_with_auto_mem_gen.hpp.
Fltr2D visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::fltr2D |
Definition at line 159 of file pyramid_with_auto_mem_gen.hpp.
Referenced by visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::sub_expression_evaluation().
|
staticconstexpr |
Definition at line 141 of file pyramid_with_auto_mem_gen.hpp.
|
staticconstexpr |
Definition at line 147 of file pyramid_with_auto_mem_gen.hpp.
Referenced by visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::sub_expression_evaluation().
|
staticconstexpr |
Definition at line 146 of file pyramid_with_auto_mem_gen.hpp.
PyramidMem visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::mem |
Definition at line 163 of file pyramid_with_auto_mem_gen.hpp.
Referenced by visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::sub_expression_evaluation().
|
staticconstexpr |
Definition at line 152 of file pyramid_with_auto_mem_gen.hpp.
size_t visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::node_reseter |
Definition at line 162 of file pyramid_with_auto_mem_gen.hpp.
|
staticconstexpr |
Definition at line 149 of file pyramid_with_auto_mem_gen.hpp.
RHS visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::rhs |
Definition at line 158 of file pyramid_with_auto_mem_gen.hpp.
Referenced by visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::reset(), and visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::sub_expression_evaluation().
|
staticconstexpr |
Definition at line 150 of file pyramid_with_auto_mem_gen.hpp.
bool visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::subexpr_execution_reseter |
Definition at line 160 of file pyramid_with_auto_mem_gen.hpp.
Referenced by visioncpp::internal::PyramidAutomemGen< Fltr2DOP, DownSmplOP, RHS, Fltr2D, Cols, Rows, LfType, LVL, Dp >::reset().
|
staticconstexpr |
Definition at line 148 of file pyramid_with_auto_mem_gen.hpp.