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) 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. 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 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
| ) |  |

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

## 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`
| ) |  |

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

## 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 | ) |

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

## 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:

- pcl/ml/densecrf.h