digiKam
Digikam::RedEye::RegressionTree Struct Reference

Public Member Functions

unsigned long num_leaves () const
 
const std::vector< float > & operator() (const std::vector< float > &feature_pixel_values, unsigned long &i) const
 

Public Attributes

std::vector< std::vector< float > > leaf_values
 
std::vector< SplitFeaturesplits
 

Member Function Documentation

◆ num_leaves()

unsigned long Digikam::RedEye::RegressionTree::num_leaves ( ) const

References leaf_values.

◆ operator()()

const std::vector< float > & Digikam::RedEye::RegressionTree::operator() ( const std::vector< float > &  feature_pixel_values,
unsigned long &  i 
) const

requires

  • All the index values in splits are less than feature_pixel_values.size()
  • leaf_values.size() is a power of 2. (i.e. we require a tree with all the levels fully filled out.
  • leaf_values.size() == splits.size()+1 (i.e. there needs to be the right number of leaves given the number of splits in the tree) ensures
    • runs through the tree and returns the vector at the leaf we end up in.
    • #i == the selected leaf node index.

References leaf_values, Digikam::RedEye::left_child(), Digikam::RedEye::right_child(), and splits.

Member Data Documentation

◆ leaf_values

std::vector<std::vector<float> > Digikam::RedEye::RegressionTree::leaf_values

◆ splits

std::vector<SplitFeature> Digikam::RedEye::RegressionTree::splits

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