ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
qCanupoTools Class Reference

CANUPO generic tools. More...

#include <qCanupoTools.h>

Classes

struct  EvalParameters
 Classifer evaluation parameters. More...
 

Static Public Member Functions

template<typename T >
static bool Fpeq (T a, T b, T epsilon=static_cast< T >(1.0e-6))
 Returns whether two numbers are almost equal or not. More...
 
static bool CompareVectors (const std::vector< float > &first, const std::vector< float > &second)
 Compares two vectors. More...
 
static size_t TestVectorsOverlap (const std::vector< float > &first, const std::vector< float > &second)
 Tests whether a vector contains the values of another one (at the end!) More...
 
static bool ComputeCorePointsDescriptors (cloudViewer::GenericIndexedCloud *corePoints, CorePointDescSet &corePointsDescriptors, ccGenericPointCloud *sourceCloud, const std::vector< float > &sortedScales, bool &invalidDescriptors, QString &error, unsigned descriptorID=DESC_DIMENSIONALITY, int maxThreadCount=0, cloudViewer::GenericProgressCallback *progressCb=0, cloudViewer::DgmOctree *inputOctree=0, std::vector< ccScalarField * > *roughnessSFs=0)
 Computes the 'descriptors' for various scales on core points only. More...
 
static QString GetEntityName (ccHObject *obj)
 Returns a long description of a given entity (name + [ID]) More...
 
static ccPointCloudGetCloudFromCombo (QComboBox *comboBox, ccHObject *dbRoot)
 
static bool TrainClassifier (Classifier &classifier, const CorePointDescSet &descriptors1, const CorePointDescSet &descriptors2, const std::vector< float > &scales, ccPointCloud *mscCloud, const CorePointDescSet *evaluationDescriptors=0, ecvMainAppInterface *app=0)
 Trains a classifier. More...
 
static bool EvaluateClassifier (const Classifier &classifier, const CorePointDescSet &descriptors1, const CorePointDescSet &descriptors2, const std::vector< float > &scales, EvalParameters &params)
 Evaluates a classifier. More...
 

Detailed Description

CANUPO generic tools.

Definition at line 46 of file qCanupoTools.h.

Member Function Documentation

◆ CompareVectors()

bool qCanupoTools::CompareVectors ( const std::vector< float > &  first,
const std::vector< float > &  second 
)
static

Compares two vectors.

Returns
true if both are 'equivalent' (i.e. same number of values, almost same values, same order)

Definition at line 380 of file qCanupoTools.cpp.

◆ ComputeCorePointsDescriptors()

◆ EvaluateClassifier()

bool qCanupoTools::EvaluateClassifier ( const Classifier classifier,
const CorePointDescSet descriptors1,
const CorePointDescSet descriptors2,
const std::vector< float > &  scales,
EvalParameters params 
)
static

Evaluates a classifier.

Definition at line 441 of file qCanupoTools.cpp.

References Classifier::classify(), and params.

Referenced by qCanupo2DViewDialog::computeStatistics().

◆ Fpeq()

template<typename T >
static bool qCanupoTools::Fpeq ( a,
b,
epsilon = static_cast<T>(1.0e-6) 
)
inlinestatic

Returns whether two numbers are almost equal or not.

Definition at line 50 of file qCanupoTools.h.

References fabs().

◆ GetCloudFromCombo()

ccPointCloud * qCanupoTools::GetCloudFromCombo ( QComboBox *  comboBox,
ccHObject dbRoot 
)
static

Returns the cloud associated to the currently selected item of a combox box Relies on the item associated data (itemData) that should be equal to the cloud's ID.

Definition at line 418 of file qCanupoTools.cpp.

References ccHObject::find(), ccObject::isA(), and CV_TYPES::POINT_CLOUD.

Referenced by qCanupoTrainingDialog::getClass1Cloud(), qCanupoTrainingDialog::getClass2Cloud(), qCanupoClassifDialog::getCorePointsCloud(), qCanupoTrainingDialog::getEvaluationCloud(), and qCanupoTrainingDialog::getOriginPointCloud().

◆ GetEntityName()

QString qCanupoTools::GetEntityName ( ccHObject obj)
static

Returns a long description of a given entity (name + [ID])

Definition at line 405 of file qCanupoTools.cpp.

References ccObject::getName(), ccObject::getUniqueID(), and name.

Referenced by qCanupoClassifDialog::qCanupoClassifDialog(), and qCanupoTrainingDialog::qCanupoTrainingDialog().

◆ TestVectorsOverlap()

size_t qCanupoTools::TestVectorsOverlap ( const std::vector< float > &  first,
const std::vector< float > &  second 
)
static

Tests whether a vector contains the values of another one (at the end!)

Returns
number of matching elements

Definition at line 392 of file qCanupoTools.cpp.

References min().

Referenced by qCanupoProcess::Classify().

◆ TrainClassifier()

bool qCanupoTools::TrainClassifier ( Classifier classifier,
const CorePointDescSet descriptors1,
const CorePointDescSet descriptors2,
const std::vector< float > &  scales,
ccPointCloud mscCloud,
const CorePointDescSet evaluationDescriptors = 0,
ecvMainAppInterface app = 0 
)
static

Trains a classifier.

Definition at line 496 of file qCanupoTools.cpp.

References cloudViewer::PointCloudTpl< T >::addPoint(), ccPointCloud::addRGBColor(), ecvColor::blue(), ccPointCloud::clear(), ccGenericPointCloud::computeOctree(), ComputeReferencePoints(), CosSinTable< Count >::cosines, count, CorePointDescSet::descriptorID(), Classifier::descriptorID, DilateClassifier(), CorePointDescSet::dimPerScale(), Classifier::dimPerScale, ecvMainAppInterface::dispToConsole(), dot(), ecvMainAppInterface::ERR_CONSOLE_MESSAGE, fabs(), cloudViewer::DgmOctree::findBestLevelForAGivenNeighbourhoodSizeExtraction(), cloudViewer::BoundingBoxTpl< T >::getDiagVec(), ecvMainAppInterface::getMainWindow(), cloudViewer::BoundingBoxTpl< T >::getMaxBoxDim(), ccGenericPointCloud::getOctree(), ccGenericPointCloud::getOwnBB(), cloudViewer::DgmOctree::getPointsInSphericalNeighbourhood(), GramSchmidt(), ecvColor::lightGrey(), LDATrainer::m_weights, min(), Vector2Tpl< Type >::normalize(), octree, octreeLevel, ParallelSort, CorePointDesc::params, Classifier::path, LDATrainer::predict(), ecvColor::red(), Classifier::refPointNeg, Classifier::refPointPos, ccPointCloud::reserve(), ccPointCloud::reserveTheRGBTable(), Classifier::scales, ecvProgressDialog::setInfo(), ccDrawableObject::showColors(), CosSinTable< Count >::sines, std::swap(), LDATrainer::train(), Classifier::weightsAxis1, Classifier::weightsAxis2, Vector2Tpl< Type >::x, Vector2Tpl< Type >::y, and Tuple3Tpl< Type >::y.

Referenced by qCanupo2DViewDialog::trainClassifier().


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