Image Component Library (ICL)
Static Public Member Functions | Static Private Member Functions | List of all members
icl::geom::CoPlanarityFeatureExtractor Class Reference

class for coplanarity feature. More...

#include <CoPlanarityFeatureExtractor.h>

Static Public Member Functions

static math::DynMatrix< bool > apply (math::DynMatrix< bool > &initialMatrix, std::vector< SurfaceFeatureExtractor::SurfaceFeature > features, const core::Img32f &depthImage, std::vector< std::vector< int > > &surfaces, float maxAngle=30, float distanceTolerance=3, float outlierTolerance=5, int triangles=50, int scanlines=9)
 Calculates the coplanarity feature matrix. More...
 

Static Private Member Functions

static float getAngle (Vec n1, Vec n2)
 
static utils::Point getRandomPoint (std::vector< int > surface, int imgWidth)
 
static Vec getNormal (Vec p1, Vec p2, Vec p3)
 
static bool criterion1 (Vec n1, Vec n2, float maxAngle)
 
static bool criterion2 (const core::Img32f &depthImage, std::vector< int > &surface1, std::vector< int > &surface2, Vec n1, Vec n2, float maxAngle, int triangles)
 
static bool criterion3 (const core::Img32f &depthImage, std::vector< int > &surface1, std::vector< int > &surface2, float distanceTolerance, float outlierTolerance, int scanlines)
 

Detailed Description

class for coplanarity feature.

This class implements the coplanarity feature for feature-graph based segmentation.

Member Function Documentation

◆ apply()

static math::DynMatrix<bool> icl::geom::CoPlanarityFeatureExtractor::apply ( math::DynMatrix< bool > &  initialMatrix,
std::vector< SurfaceFeatureExtractor::SurfaceFeature features,
const core::Img32f depthImage,
std::vector< std::vector< int > > &  surfaces,
float  maxAngle = 30,
float  distanceTolerance = 3,
float  outlierTolerance = 5,
int  triangles = 50,
int  scanlines = 9 
)
static

Calculates the coplanarity feature matrix.

Parameters
initialMatrixthe initial boolean test matrix (0 test if both planar, 1 dont test, preferably an adjacency matrix)
featuresthe surface feature for the surfaces
depthImagethe input depthImage
surfacesthe vector of surface id vectors
maxAnglethe maximum angle for surface orientation similarity test
distanceTolerancethe maximum distance in mm for occlusion check
outlierTolerancethe maximum number of outlier points in percent for occlusion check
trianglesnumber of combined surface tests
scanlinesnumber of occlusion tests
Returns
the boolean coplanarity matrix

◆ criterion1()

static bool icl::geom::CoPlanarityFeatureExtractor::criterion1 ( Vec  n1,
Vec  n2,
float  maxAngle 
)
staticprivate

◆ criterion2()

static bool icl::geom::CoPlanarityFeatureExtractor::criterion2 ( const core::Img32f depthImage,
std::vector< int > &  surface1,
std::vector< int > &  surface2,
Vec  n1,
Vec  n2,
float  maxAngle,
int  triangles 
)
staticprivate

◆ criterion3()

static bool icl::geom::CoPlanarityFeatureExtractor::criterion3 ( const core::Img32f depthImage,
std::vector< int > &  surface1,
std::vector< int > &  surface2,
float  distanceTolerance,
float  outlierTolerance,
int  scanlines 
)
staticprivate

◆ getAngle()

static float icl::geom::CoPlanarityFeatureExtractor::getAngle ( Vec  n1,
Vec  n2 
)
staticprivate

◆ getNormal()

static Vec icl::geom::CoPlanarityFeatureExtractor::getNormal ( Vec  p1,
Vec  p2,
Vec  p3 
)
staticprivate

◆ getRandomPoint()

static utils::Point icl::geom::CoPlanarityFeatureExtractor::getRandomPoint ( std::vector< int >  surface,
int  imgWidth 
)
staticprivate

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