Point Cloud Library (PCL)  1.9.1-dev
List of all members | Public Member Functions | Protected Attributes
pcl::DenseCrf Class Reference

#include <pcl/ml/densecrf.h>

Public Member Functions

 DenseCrf (int N, int m)
 Constructor for DenseCrf class. More...
 
 ~DenseCrf ()
 Deconstructor for DenseCrf class. More...
 
void setDataVector (const std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i >> data)
 Set the input data vector. More...
 
void setColorVector (const std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i >> color)
 The associated color of the data. More...
 
void setUnaryEnergy (const std::vector< float > unary)
 
void addPairwiseEnergy (const std::vector< float > &feature, const int feature_dimension, const float w)
 
void addPairwiseGaussian (float sx, float sy, float sz, float w)
 Add a pairwise gaussian kernel. More...
 
void addPairwiseBilateral (float sx, float sy, float sz, float sr, float sg, float sb, float w)
 Add a bilateral gaussian kernel. More...
 
void addPairwiseNormals (std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i >> &coord, std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f >> &normals, float sx, float sy, float sz, float snx, float sny, float snz, float w)
 
void inference (int n_iterations, std::vector< float > &result, float relax=1.0f)
 
void mapInference (int n_iterations, std::vector< int > &result, float relax=1.0f)
 
void expAndNormalize (std::vector< float > &out, const std::vector< float > &in, float scale, float relax=1.0f)
 
void expAndNormalizeORI (float *out, const float *in, float scale=1.0f, float relax=1.0f)
 
void map (int n_iterations, std::vector< int > result, float relax=1.0f)
 
std::vector< float > runInference (int n_iterations, float relax)
 
void startInference ()
 
void stepInference (float relax)
 
void runInference (float relax)
 
void getBarycentric (int idx, std::vector< float > &bary)
 
void getFeatures (int idx, std::vector< float > &features)
 

Protected Attributes

int N_
 Number of variables and labels. More...
 
int M_
 
std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > data_
 Data vector. More...
 
std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > color_
 Color vector. More...
 
std::vector< float > unary_
 CRF unary potentials. More...
 
std::vector< float > current_
 
std::vector< float > next_
 
std::vector< float > tmp_
 
std::vector< PairwisePotential * > pairwise_potential_
 Pairwise potentials. More...
 
bool xyz_
 Input types. More...
 
bool rgb_
 
bool normal_
 

Detailed Description

Definition at line 50 of file densecrf.h.

Constructor & Destructor Documentation

◆ DenseCrf()

pcl::DenseCrf::DenseCrf ( int  N,
int  m 
)

Constructor for DenseCrf class.

◆ ~DenseCrf()

pcl::DenseCrf::~DenseCrf ( )

Deconstructor for DenseCrf class.

Member Function Documentation

◆ addPairwiseBilateral()

void pcl::DenseCrf::addPairwiseBilateral ( float  sx,
float  sy,
float  sz,
float  sr,
float  sg,
float  sb,
float  w 
)

Add a bilateral gaussian kernel.

Referenced by pcl::CrfSegmentation< PointT >::segmentPoints().

◆ addPairwiseEnergy()

void pcl::DenseCrf::addPairwiseEnergy ( const std::vector< float > &  feature,
const int  feature_dimension,
const float  w 
)

◆ addPairwiseGaussian()

void pcl::DenseCrf::addPairwiseGaussian ( float  sx,
float  sy,
float  sz,
float  w 
)

Add a pairwise gaussian kernel.

Referenced by pcl::CrfSegmentation< PointT >::segmentPoints().

◆ addPairwiseNormals()

void pcl::DenseCrf::addPairwiseNormals ( std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i >> &  coord,
std::vector< Eigen::Vector3f, Eigen::aligned_allocator< Eigen::Vector3f >> &  normals,
float  sx,
float  sy,
float  sz,
float  snx,
float  sny,
float  snz,
float  w 
)

◆ expAndNormalize()

void pcl::DenseCrf::expAndNormalize ( std::vector< float > &  out,
const std::vector< float > &  in,
float  scale,
float  relax = 1.0f 
)

◆ expAndNormalizeORI()

void pcl::DenseCrf::expAndNormalizeORI ( float *  out,
const float *  in,
float  scale = 1.0f,
float  relax = 1.0f 
)

◆ getBarycentric()

void pcl::DenseCrf::getBarycentric ( int  idx,
std::vector< float > &  bary 
)

◆ getFeatures()

void pcl::DenseCrf::getFeatures ( int  idx,
std::vector< float > &  features 
)

◆ inference()

void pcl::DenseCrf::inference ( int  n_iterations,
std::vector< float > &  result,
float  relax = 1.0f 
)

◆ map()

void pcl::DenseCrf::map ( int  n_iterations,
std::vector< int >  result,
float  relax = 1.0f 
)

◆ mapInference()

void pcl::DenseCrf::mapInference ( int  n_iterations,
std::vector< int > &  result,
float  relax = 1.0f 
)

◆ runInference() [1/2]

std::vector<float> pcl::DenseCrf::runInference ( int  n_iterations,
float  relax 
)

◆ runInference() [2/2]

void pcl::DenseCrf::runInference ( float  relax)

◆ setColorVector()

void pcl::DenseCrf::setColorVector ( const std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i >>  color)

The associated color of the data.

Referenced by pcl::CrfSegmentation< PointT >::segmentPoints().

◆ setDataVector()

void pcl::DenseCrf::setDataVector ( const std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i >>  data)

Set the input data vector.

The input data vector holds the measurements coordinates as ijk of the voxel grid.

Referenced by pcl::CrfSegmentation< PointT >::segmentPoints().

◆ setUnaryEnergy()

void pcl::DenseCrf::setUnaryEnergy ( const std::vector< float >  unary)

◆ startInference()

void pcl::DenseCrf::startInference ( )

◆ stepInference()

void pcl::DenseCrf::stepInference ( float  relax)

Member Data Documentation

◆ color_

std::vector<Eigen::Vector3i, Eigen::aligned_allocator<Eigen::Vector3i> > pcl::DenseCrf::color_
protected

Color vector.

Definition at line 146 of file densecrf.h.

◆ current_

std::vector<float> pcl::DenseCrf::current_
protected

Definition at line 152 of file densecrf.h.

◆ data_

std::vector<Eigen::Vector3i, Eigen::aligned_allocator<Eigen::Vector3i> > pcl::DenseCrf::data_
protected

Data vector.

Definition at line 143 of file densecrf.h.

◆ M_

int pcl::DenseCrf::M_
protected

Definition at line 140 of file densecrf.h.

◆ N_

int pcl::DenseCrf::N_
protected

Number of variables and labels.

Definition at line 140 of file densecrf.h.

◆ next_

std::vector<float> pcl::DenseCrf::next_
protected

Definition at line 153 of file densecrf.h.

◆ normal_

bool pcl::DenseCrf::normal_
protected

Definition at line 160 of file densecrf.h.

◆ pairwise_potential_

std::vector<PairwisePotential*> pcl::DenseCrf::pairwise_potential_
protected

Pairwise potentials.

Definition at line 157 of file densecrf.h.

◆ rgb_

bool pcl::DenseCrf::rgb_
protected

Definition at line 160 of file densecrf.h.

◆ tmp_

std::vector<float> pcl::DenseCrf::tmp_
protected

Definition at line 154 of file densecrf.h.

◆ unary_

std::vector<float> pcl::DenseCrf::unary_
protected

CRF unary potentials.

TODO: double might use to much memory

Definition at line 150 of file densecrf.h.

◆ xyz_

bool pcl::DenseCrf::xyz_
protected

Input types.

Definition at line 160 of file densecrf.h.


The documentation for this class was generated from the following file: