Point Cloud Library (PCL) 1.12.0
Loading...
Searching...
No Matches
pcl::DenseCrf Class Reference

#include <pcl/ml/densecrf.h>

Public Member Functions

 DenseCrf (int N, int m)
 Constructor for DenseCrf class.
 
 ~DenseCrf ()
 Deconstructor for DenseCrf class.
 
void setDataVector (const std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > data)
 Set the input data vector.
 
void setColorVector (const std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > color)
 The associated color of the data.
 
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.
 
void addPairwiseBilateral (float sx, float sy, float sz, float sr, float sg, float sb, float w)
 Add a bilateral gaussian kernel.
 
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) const
 
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.
 
int M_
 
std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > data_
 Data vector.
 
std::vector< Eigen::Vector3i, Eigen::aligned_allocator< Eigen::Vector3i > > color_
 Color vector.
 
std::vector< float > unary_
 CRF unary potentials.
 
std::vector< float > current_
 
std::vector< float > next_
 
std::vector< float > tmp_
 
std::vector< PairwisePotential * > pairwise_potential_
 Pairwise potentials.
 
bool xyz_
 Input types.
 
bool rgb_
 
bool normal_
 

Detailed Description

Definition at line 48 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 ) const

◆ 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]

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

◆ runInference() [2/2]

std::vector< float > pcl::DenseCrf::runInference ( int n_iterations,
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 144 of file densecrf.h.

◆ current_

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

Definition at line 150 of file densecrf.h.

◆ data_

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

Data vector.

Definition at line 141 of file densecrf.h.

◆ M_

int pcl::DenseCrf::M_
protected

Definition at line 138 of file densecrf.h.

◆ N_

int pcl::DenseCrf::N_
protected

Number of variables and labels.

Definition at line 138 of file densecrf.h.

◆ next_

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

Definition at line 151 of file densecrf.h.

◆ normal_

bool pcl::DenseCrf::normal_
protected

Definition at line 158 of file densecrf.h.

◆ pairwise_potential_

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

Pairwise potentials.

Definition at line 155 of file densecrf.h.

◆ rgb_

bool pcl::DenseCrf::rgb_
protected

Definition at line 158 of file densecrf.h.

◆ tmp_

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

Definition at line 152 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 148 of file densecrf.h.

◆ xyz_

bool pcl::DenseCrf::xyz_
protected

Input types.

Definition at line 158 of file densecrf.h.


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