Spec-Zone.ru › PointCloudLibrary

SampleConsensus — базовый класс. Подробнее...

#include <pcl/sample_consensus/sac.h>

Inheritance graph
[легенда]
Collaboration graph
[легенда]

Общедоступные типы

using Ptr = shared_ptr< SampleConsensus< T > >
using ConstPtr = shared_ptr< const SampleConsensus< T > >

Общедоступные функции-члены

SampleConsensus (const SampleConsensusModelPtr &model, bool random=false)
Конструктор базового SAC. Подробнее...
SampleConsensus (const SampleConsensusModelPtr &model, double threshold, bool random=false)
Конструктор базового SAC. Подробнее...
void setSampleConsensusModel (const SampleConsensusModelPtr &model)
Установить используемую модель консенсуса выборки. Подробнее...
SampleConsensusModelPtr getSampleConsensusModel () const
Получить используемую модель консенсуса выборки. Подробнее...
virtual ~SampleConsensus ()=default
Деструктор базового SAC. Подробнее...
void setDistanceThreshold (double threshold)
Установить порог расстояния до модели. Подробнее...
double getDistanceThreshold () const
Получить установленный пользователем порог расстояния до модели. Подробнее...
void setMaxIterations (int max_iterations)
Установить максимальное число итераций. Подробнее...
int getMaxIterations () const
Получить установленное пользователем максимальное число итераций. Подробнее...
void setProbability (double probability)
Установить желаемую вероятность выбора хотя бы одной выборки без выбросов. Подробнее...
double getProbability () const
Получить установленную пользователем вероятность выбора хотя бы одной выборки без выбросов. Подробнее...
void setNumberOfThreads (const int nr_threads=-1)
Установить число используемых потоков или отключить параллелизацию. Подробнее...
int getNumberOfThreads () const
Получить установленное пользователем число потоков. Подробнее...
virtual bool computeModel (int debug_verbosity_level=0)=0
Вычислить модель. Подробнее...
virtual bool refineModel (const double sigma=3.0, const unsigned int max_iterations=1000)
Уточнить найденную модель. Подробнее...
void getRandomSamples (const IndicesPtr &indices, std::size_t nr_samples, std::set< index_t > &indices_subset)
Получить набор случайно выбранных индексов. Подробнее...
void getModel (Indices &model) const
Вернуть лучшую из найденных на данный момент моделей. Подробнее...
void getInliers (Indices &inliers) const
Вернуть лучший из найденных на данный момент наборов внутренних точек для этой модели. Подробнее...
void getModelCoefficients (Eigen::VectorXf &model_coefficients) const
Вернуть коэффициенты лучшей из найденных на данный момент моделей. Подробнее...

Защищённые функции-члены

double rnd ()
Генератор случайных чисел на основе Boost. Подробнее...

Защищённые атрибуты

SampleConsensusModelPtr sac_model_
Используемая базовая модель данных (т. е. Подробнее...
Indices model_
Модель, найденная при последнем вызове computeModel (), в виде индексов облака точек. Подробнее...
Indices inliers_
Индексы точек, выбранных в качестве внутренних точек при последнем вызове computeModel (). Подробнее...
Eigen::VectorXf model_coefficients_
Коэффициенты модели, вычисленные непосредственно по найденной модели. Подробнее...
double probability_
Желаемая вероятность выбора хотя бы одной выборки без выбросов. Подробнее...
int iterations_
Общее число выполненных на данный момент итераций внутреннего цикла. Подробнее...
double threshold_
Порог расстояния до модели. Подробнее...
int max_iterations_
Максимальное число итераций до прекращения работы. Подробнее...
int threads_
Число потоков, используемых планировщиком; отрицательное значение означает, что параллелизация не требуется. Подробнее...
boost::mt19937 rng_alg_
Алгоритм генератора случайных чисел на основе Boost. Подробнее...
std::shared_ptr< boost::uniform_01< boost::mt19937 > > rng_
Распределение генератора случайных чисел на основе Boost. Подробнее...

Подробное описание

template<typename T>
class pcl::SampleConsensus< T >

SampleConsensus — базовый класс.

Все методы консенсуса выборки должны наследоваться от этого класса.

Автор
Radu Bogdan Rusu

Определение в строке 60 файла sac.h.

Описание псевдонимов типов-членов

ConstPtr

template<typename T >
using pcl::SampleConsensus< T >::ConstPtr = shared_ptr<const SampleConsensus<T> >

Определение в строке 70 файла sac.h.

Ptr

template<typename T >
using pcl::SampleConsensus< T >::Ptr = shared_ptr<SampleConsensus<T> >

Определение в строке 69 файла sac.h.

Описание конструкторов и деструктора

SampleConsensus() [1/2]

template<typename T >
pcl::SampleConsensus< T >::SampleConsensus ( const SampleConsensusModelPtr & model,
bool random = false
)
inline

Конструктор базового SAC.

Параметры
[in] model модель консенсуса выборки
[in] random если true, начальное значение генератора случайных чисел устанавливается по текущему времени, иначе используется 12345 (по умолчанию: false)

Определение в строке 77 файла sac.h.

Ссылки: pcl::SampleConsensus< T >::rng_.

SampleConsensus() [2/2]

template<typename T >
pcl::SampleConsensus< T >::SampleConsensus ( const SampleConsensusModelPtr & model,
double threshold,
bool random = false
)
inline

Конструктор базового SAC.

Параметры
[in] model модель консенсуса выборки
[in] threshold порог расстояния до модели
[in] random если true, начальное значение генератора случайных чисел устанавливается по текущему времени, иначе используется 12345 (по умолчанию: false)

Определение в строке 98 файла sac.h.

Ссылки: pcl::SampleConsensus< T >::rng_.

~SampleConsensus()

template<typename T >
virtual pcl::SampleConsensus< T >::~SampleConsensus ( )
virtualdefault

Деструктор базового класса SAC.

Документация функций-членов

computeModel()

template<typename T >
virtual bool pcl::SampleConsensus< T >::computeModel ( int debug_verbosity_level = 0 )
pure virtual

Вычислить фактическую модель.

Чистая виртуальная функция.

Реализована в pcl::RandomizedRandomSampleConsensus< PointT >, pcl::RandomizedMEstimatorSampleConsensus< PointT >, pcl::RandomSampleConsensus< PointT >, pcl::ProgressiveSampleConsensus< PointT >, pcl::MEstimatorSampleConsensus< PointT >, pcl::MaximumLikelihoodSampleConsensus< PointT > и pcl::LeastMedianSquares< PointT >.

getDistanceThreshold()

template<typename T >
double pcl::SampleConsensus< T >::getDistanceThreshold ( ) const
inline

Получить заданный пользователем порог расстояния до модели.

Определение в строке 143 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::threshold_.

getInliers()

template<typename T >
void pcl::SampleConsensus< T >::getInliers ( Indices & inliers ) const
inline

Вернуть лучший найденный к этому моменту набор внутренних точек для этой модели.

Параметры
[out] inliers результирующий набор внутренних точек

Определение в строке 310 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::inliers_.

Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences().

getMaxIterations()

template<typename T >
int pcl::SampleConsensus< T >::getMaxIterations ( ) const
inline

Получить заданное пользователем максимальное число итераций.

Определение в строке 153 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::max_iterations_.

getModel()

template<typename T >
void pcl::SampleConsensus< T >::getModel ( Indices & model ) const
inline

Вернуть лучшую модель, найденную к этому моменту.

Параметры
[out] model результирующая модель

Определение в строке 304 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::model_.

getModelCoefficients()

template<typename T >
void pcl::SampleConsensus< T >::getModelCoefficients ( Eigen::VectorXf & model_coefficients ) const
inline

Вернуть коэффициенты лучшей модели, найденной к этому моменту.

Параметры
[out] model_coefficients результирующие коэффициенты модели, описанные в модуле sample_consensus

Определение в строке 316 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::model_coefficients_.

Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences().

getNumberOfThreads()

template<typename T >
int pcl::SampleConsensus< T >::getNumberOfThreads ( ) const
inline

Получить заданное пользователем число потоков.

Определение в строке 175 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::threads_.

getProbability()

template<typename T >
double pcl::SampleConsensus< T >::getProbability ( ) const
inline

Получить заданную пользователем вероятность выбора хотя бы одной выборки без выбросов.

Определение в строке 164 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::probability_.

getRandomSamples()

template<typename T >
void pcl::SampleConsensus< T >::getRandomSamples ( const IndicesPtr & indices,
std::size_t nr_samples,
std::set< index_t > & indices_subset
)

Получить набор случайно выбранных индексов.

Параметры
[in] indices входной вектор индексов
[in] nr_samples требуемое число случайно выбираемых индексов точек
[out] indices_subset результирующий выходной набор случайно выбранных индексов

Определение в строке 290 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::rnd().

getSampleConsensusModel()

template<typename T >
SampleConsensusModelPtr pcl::SampleConsensus< T >::getSampleConsensusModel ( ) const
inline

Получить используемую модель согласования по выборкам.

Определение в строке 127 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::sac_model_.

refineModel()

template<typename T >
virtual bool pcl::SampleConsensus< T >::refineModel ( const double sigma = 3.0,
const unsigned int max_iterations = 1000
)
inlinevirtual

Уточнить найденную модель.

Функция перебирает коэффициенты модели и оптимизирует их вместе с набором внутренних точек, пока изменения в наборе внутренних точек не станут минимальными.

Параметры
[in] sigma множитель стандартного отклонения, используемый для определения, считать ли выборку внутренней точкой (расстояние Махаланобиса)
[in] max_iterations максимальное число итераций уточнения на случай, если набор внутренних точек продолжает меняться

Определение в строке 189 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::inliers_, pcl::SampleConsensus< T >::model_coefficients_, pcl::SampleConsensus< T >::sac_model_ и pcl::SampleConsensus< T >::threshold_.

Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences().

rnd()

template<typename T >
double pcl::SampleConsensus< T >::rnd ( )
inlineprotected

Генератор случайных чисел на основе Boost.

Определение в строке 354 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::rng_.

Используется в pcl::SampleConsensus< T >::getRandomSamples().

setDistanceThreshold()

template<typename T >
void pcl::SampleConsensus< T >::setDistanceThreshold ( double threshold )
inline

Задать порог расстояния до модели.

Параметры
[in] threshold порог расстояния до модели

Определение в строке 139 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::threshold_.

setMaxIterations()

template<typename T >
void pcl::SampleConsensus< T >::setMaxIterations ( int max_iterations )
inline

Задать максимальное число итераций.

Параметры
[in] max_iterations максимальное число итераций

Определение в строке 149 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::max_iterations_.

Используется в pcl::registration::CorrespondenceRejectorSampleConsensus2D< PointT >::getRemainingCorrespondences() и pcl::registration::CorrespondenceRejectorSampleConsensus< PointT >::getRemainingCorrespondences().

setNumberOfThreads()

template<typename T >
void pcl::SampleConsensus< T >::setNumberOfThreads ( const int nr_threads = -1 )
inline

Задать число используемых потоков или отключить параллельное выполнение.

Параметры
[in] nr_threads число используемых аппаратных потоков (0 задаёт значение автоматически, отрицательное число отключает параллельное выполнение)
Примечание
Не все методы SAC поддерживают параллельную реализацию. Некоторые методы игнорируют эту настройку.

Определение в строке 171 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::threads_.

setProbability()

template<typename T >
void pcl::SampleConsensus< T >::setProbability ( double probability )
inline

Задать требуемую вероятность выбора хотя бы одной выборки без выбросов.

Параметры
[in] probability требуемая вероятность выбора хотя бы одной выборки без выбросов
Примечание
По умолчанию вероятность внутри программы равна 99% (0.99).

Определение в строке 160 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::probability_.

setSampleConsensusModel()

template<typename T >
void pcl::SampleConsensus< T >::setSampleConsensusModel ( const SampleConsensusModelPtr & model )
inline

Задать используемую модель согласования по выборкам.

Параметры
[in] model модель согласования по выборкам

Определение в строке 120 файла sac.h.

Ссылки на pcl::SampleConsensus< T >::sac_model_.

Документация данных-членов

inliers_

template<typename T >
Indices pcl::SampleConsensus< T >::inliers_
защищенный

Индексы точек, выбранных в качестве внутренних после последнего вызова computeModel ().

Определение в строке 326 файла sac.h.

Используется в pcl::SampleConsensus< T >::getInliers() и pcl::SampleConsensus< T >::refineModel().

iterations_

template<typename T >
int pcl::SampleConsensus< T >::iterations_
защищенный

Общее количество выполненных на данный момент итераций внутреннего цикла.

Определение в строке 335 файла sac.h.

max_iterations_

template<typename T >
int pcl::SampleConsensus< T >::max_iterations_
защищенный

Максимальное количество итераций, после которого алгоритм прекращает работу.

Определение в строке 341 файла sac.h.

Используется в pcl::SampleConsensus< T >::getMaxIterations() и pcl::SampleConsensus< T >::setMaxIterations().

model_

template<typename T >
Indices pcl::SampleConsensus< T >::model_
защищенный

Модель, найденная после последнего вызова computeModel (), представленная индексами облака точек.

Определение в строке 323 файла sac.h.

Используется в pcl::SampleConsensus< T >::getModel().

model_coefficients_

template<typename T >
Eigen::VectorXf pcl::SampleConsensus< T >::model_coefficients_
защищенный

Коэффициенты модели, вычисленные непосредственно на основе найденной модели.

Определение в строке 329 файла sac.h.

Используется в pcl::SampleConsensus< T >::getModelCoefficients() и pcl::SampleConsensus< T >::refineModel().

probability_

template<typename T >
double pcl::SampleConsensus< T >::probability_
защищенный

Желаемая вероятность выбора хотя бы одной выборки без выбросов.

Определение в строке 332 файла sac.h.

Используется в pcl::SampleConsensus< T >::getProbability() и pcl::SampleConsensus< T >::setProbability().

rng_

template<typename T >
std::shared_ptr<boost::uniform_01<boost::mt19937> > pcl::SampleConsensus< T >::rng_
защищенный

Распределение генератора случайных чисел на основе Boost.

Определение в строке 350 файла sac.h.

Используется в pcl::SampleConsensus< T >::rnd() и pcl::SampleConsensus< T >::SampleConsensus().

rng_alg_

template<typename T >
boost::mt19937 pcl::SampleConsensus< T >::rng_alg_
защищенный

Алгоритм генератора случайных чисел на основе Boost.

Определение в строке 347 файла sac.h.

sac_model_

template<typename T >
SampleConsensusModelPtr pcl::SampleConsensus< T >::sac_model_
защищенный

Используемая базовая модель данных (то есть

что именно мы пытаемся найти).

Определение в строке 320 файла sac.h.

Используется в pcl::SampleConsensus< T >::getSampleConsensusModel(), pcl::SampleConsensus< T >::refineModel() и pcl::SampleConsensus< T >::setSampleConsensusModel().

threads_

template<typename T >
int pcl::SampleConsensus< T >::threads_
защищенный

Количество потоков, используемых планировщиком, или отрицательное число, если параллельное выполнение не требуется.

Определение в строке 344 файла sac.h.

Используется в pcl::SampleConsensus< T >::getNumberOfThreads() и pcl::SampleConsensus< T >::setNumberOfThreads().

threshold_

template<typename T >
double pcl::SampleConsensus< T >::threshold_
защищенный

Пороговое расстояние до модели.

Определение в строке 338 файла sac.h.

Используется в pcl::SampleConsensus< T >::getDistanceThreshold(), pcl::SampleConsensus< T >::refineModel() и pcl::SampleConsensus< T >::setDistanceThreshold().


Документация этого класса создана на основе следующего файла:
  • pcl/sample_consensus/sac.h

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1_sample_consensus.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API