Point Cloud Library (PCL)  1.14.0-dev
Classes | Typedefs | Enumerations | Functions | Variables
pcl::gpu::people::trees Namespace Reference

Classes

struct  AttribLocation
 
struct  Node
 
class  Histogram
 
struct  HistogramPair
 
struct  SplitPoint
 
struct  LabeledAttrib
 
struct  LabeledFeature
 

Typedefs

using Attrib = std::int16_t
 
using Label = std::uint8_t
 
using Label32 = std::uint32_t
 
using Depth = std::uint16_t
 

Enumerations

enum  { NUM_ATTRIBS = 2000 }
 
enum  { NUM_LABELS = 32 }
 

Functions

std::ostream & operator<< (std::ostream &os, const AttribLocation &aloc)
 
std::istream & operator>> (std::istream &is, AttribLocation &aloc)
 
std::istream & operator>> (std::istream &is, Node &n)
 
void writeAttribLocs (const std::string &filename, const std::vector< AttribLocation > &alocs)
 
void readAttribLocs (const std::string &filename, std::vector< AttribLocation > &alocs)
 
void readThreshs (const std::string &filename, std::vector< Attrib > &threshs)
 
void writeThreshs (const std::string &filename, const std::vector< Attrib > &threshs)
 
int loadTree (std::istream &is, std::vector< Node > &tree, std::vector< Label > &leaves)
 The stream points to ascii data that goes: More...
 
int loadTree (const std::string &filename, std::vector< Node > &tree, std::vector< Label > &leaves)
 
void runThroughTree (int maxDepth, const std::vector< Node > &tree, const std::vector< Label > &leaves, int W, int H, const std::uint16_t *dmap, Label *lmap)
 
static std::uint64_t numElements (const Histogram &h)
 
static double entropy (const Histogram &h)
 This is cool. More...
 
static double entropy_merged (const HistogramPair &hp)
 This is a little weird. More...
 
static double informationGain (const HistogramPair &hp)
 This will compute the gain in information resulting from the split. More...
 
static std::ostream & operator<< (std::ostream &os, const Histogram &h)
 
static std::istream & operator>> (std::istream &is, Histogram &h)
 
static std::ostream & operator<< (std::ostream &os, const HistogramPair &hp)
 
static std::istream & operator>> (std::istream &is, HistogramPair &hp)
 
static void writeLabeledFeatureVec (std::ostream &os, const std::vector< LabeledFeature > &lfs)
 
std::ostream & operator<< (std::ostream &os, const SplitPoint &sp)
 
std::istream & operator>> (std::istream &is, SplitPoint &sp)
 
void writeInfoFile (const std::string &filename, int attribId, Attrib threshold, double gain, const HistogramPair &HP)
 
void readInfoFile (const std::string &filename, int &attribId, Attrib &threshold, double &gain, HistogramPair &HP)
 

Variables

constexpr double focal = 1000.
 

Typedef Documentation

◆ Attrib

using pcl::gpu::people::trees::Attrib = typedef std::int16_t

Definition at line 72 of file tree.h.

◆ Depth

using pcl::gpu::people::trees::Depth = typedef std::uint16_t

Definition at line 75 of file tree.h.

◆ Label

using pcl::gpu::people::trees::Label = typedef std::uint8_t

Definition at line 73 of file tree.h.

◆ Label32

using pcl::gpu::people::trees::Label32 = typedef std::uint32_t

Definition at line 74 of file tree.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
NUM_ATTRIBS 

Definition at line 60 of file tree.h.

◆ anonymous enum

anonymous enum
Enumerator
NUM_LABELS 

Definition at line 61 of file tree.h.

Function Documentation

◆ entropy()

static double pcl::gpu::people::trees::entropy ( const Histogram h)
inlinestatic

This is cool.

Definition at line 93 of file tree_train.h.

References numElements().

Referenced by entropy_merged(), and informationGain().

◆ entropy_merged()

static double pcl::gpu::people::trees::entropy_merged ( const HistogramPair hp)
inlinestatic

This is a little weird.

. it will just compute the entropy of the merged histograms

Definition at line 108 of file tree_train.h.

References entropy(), pcl::gpu::people::trees::HistogramPair::h_false(), pcl::gpu::people::trees::HistogramPair::h_true(), and numElements().

Referenced by informationGain().

◆ informationGain()

static double pcl::gpu::people::trees::informationGain ( const HistogramPair hp)
inlinestatic

This will compute the gain in information resulting from the split.

Definition at line 127 of file tree_train.h.

References entropy(), entropy_merged(), pcl::gpu::people::trees::HistogramPair::h_false(), pcl::gpu::people::trees::HistogramPair::h_true(), and numElements().

◆ loadTree() [1/2]

int pcl::gpu::people::trees::loadTree ( const std::string &  filename,
std::vector< Node > &  tree,
std::vector< Label > &  leaves 
)

◆ loadTree() [2/2]

int pcl::gpu::people::trees::loadTree ( std::istream &  is,
std::vector< Node > &  tree,
std::vector< Label > &  leaves 
)

The stream points to ascii data that goes:

TreeHeight du1 dv1 du2 dv2 thresh du1 dv1 du2 dv2 thresh ............ label label

there are 2^threeheight -1 nodes ( [du1 dv1 du2 dv2 thresh] lines ) there are 2^threeheight leaves ( [label] lines )

◆ numElements()

static std::uint64_t pcl::gpu::people::trees::numElements ( const Histogram h)
inlinestatic

Definition at line 84 of file tree_train.h.

Referenced by entropy(), entropy_merged(), and informationGain().

◆ operator<<() [1/4]

std::ostream& pcl::gpu::people::trees::operator<< ( std::ostream &  os,
const AttribLocation aloc 
)
inline

◆ operator<<() [2/4]

static std::ostream& pcl::gpu::people::trees::operator<< ( std::ostream &  os,
const Histogram h 
)
inlinestatic

Definition at line 144 of file tree_train.h.

◆ operator<<() [3/4]

static std::ostream& pcl::gpu::people::trees::operator<< ( std::ostream &  os,
const HistogramPair hp 
)
inlinestatic

◆ operator<<() [4/4]

std::ostream& pcl::gpu::people::trees::operator<< ( std::ostream &  os,
const SplitPoint sp 
)
inline

◆ operator>>() [1/5]

std::istream& pcl::gpu::people::trees::operator>> ( std::istream &  is,
AttribLocation aloc 
)
inline

◆ operator>>() [2/5]

static std::istream& pcl::gpu::people::trees::operator>> ( std::istream &  is,
Histogram h 
)
inlinestatic

Definition at line 150 of file tree_train.h.

◆ operator>>() [3/5]

static std::istream& pcl::gpu::people::trees::operator>> ( std::istream &  is,
HistogramPair hp 
)
inlinestatic

◆ operator>>() [4/5]

std::istream& pcl::gpu::people::trees::operator>> ( std::istream &  is,
Node n 
)
inline

◆ operator>>() [5/5]

std::istream& pcl::gpu::people::trees::operator>> ( std::istream &  is,
SplitPoint sp 
)
inline

◆ readAttribLocs()

void pcl::gpu::people::trees::readAttribLocs ( const std::string &  filename,
std::vector< AttribLocation > &  alocs 
)

◆ readInfoFile()

void pcl::gpu::people::trees::readInfoFile ( const std::string &  filename,
int &  attribId,
Attrib threshold,
double &  gain,
HistogramPair HP 
)
inline

Definition at line 212 of file tree_train.h.

◆ readThreshs()

void pcl::gpu::people::trees::readThreshs ( const std::string &  filename,
std::vector< Attrib > &  threshs 
)

◆ runThroughTree()

void pcl::gpu::people::trees::runThroughTree ( int  maxDepth,
const std::vector< Node > &  tree,
const std::vector< Label > &  leaves,
int  W,
int  H,
const std::uint16_t *  dmap,
Label lmap 
)

◆ writeAttribLocs()

void pcl::gpu::people::trees::writeAttribLocs ( const std::string &  filename,
const std::vector< AttribLocation > &  alocs 
)

◆ writeInfoFile()

void pcl::gpu::people::trees::writeInfoFile ( const std::string &  filename,
int  attribId,
Attrib  threshold,
double  gain,
const HistogramPair HP 
)
inline

Definition at line 199 of file tree_train.h.

◆ writeLabeledFeatureVec()

static void pcl::gpu::people::trees::writeLabeledFeatureVec ( std::ostream &  os,
const std::vector< LabeledFeature > &  lfs 
)
static

Definition at line 173 of file tree_train.h.

◆ writeThreshs()

void pcl::gpu::people::trees::writeThreshs ( const std::string &  filename,
const std::vector< Attrib > &  threshs 
)

Variable Documentation

◆ focal

constexpr double pcl::gpu::people::trees::focal = 1000.
constexpr

Definition at line 56 of file tree.h.