CCCoreLib Tools

Available tools from cccorelib.

CCMiscTools

See also

C++: CCCoreLib::CCMiscTools

class cccorelib.CCMiscTools
static ComputeBaseVectors(*args, **kwargs)

Overloaded function.

  1. ComputeBaseVectors(N: cccorelib.CCVector3, X: cccorelib.CCVector3, Y: cccorelib.CCVector3) -> None

  2. ComputeBaseVectors(N: cccorelib.CCVector3d, X: cccorelib.CCVector3d, Y: cccorelib.CCVector3d) -> None

static EnlargeBox(dimMin: cccorelib.CCVector3, dimMax: cccorelib.CCVector3, coef: float) None
static MakeMinAndMaxCubical(dimMin: cccorelib.CCVector3, dimMax: cccorelib.CCVector3, enlargeFactor: float = 0.01) None
static TriBoxOverlap(boxcenter: cccorelib.CCVector3, boxhalfsize: cccorelib.CCVector3, triverts: list) bool
static TriBoxOverlapd(boxcenter: cccorelib.CCVector3d, boxhalfsize: cccorelib.CCVector3d, triverts: cccorelib.CCVector3d) bool

AutoSegmentationTools

See also

C++: CCCoreLib::AutoSegmentationTools

class cccorelib.AutoSegmentationTools
static extractConnectedComponents(theCloud: cccorelib.GenericIndexedCloudPersist, ccc: cccorelib.ReferenceCloudContainer) bool
static frontPropagationBasedSegmentation(theCloud: cccorelib.GenericIndexedCloudPersist, radius: float, minSeeDist: float, octreeLevel: int, theSegmentedLists: cccorelib.ReferenceCloudContainer, progressCb: cccorelib.GenericProgressCallback = None, inputOctree: cccorelib.DgmOctree = None, applyGaussianFilter: bool = False, alpha: float = 2.0) bool
static labelConnectedComponents(theCloud: cccorelib.GenericIndexedCloudPersist, level: int, sixConnexity: bool = False, progressCb: cccorelib.GenericProgressCallback = None, inputOctree: cccorelib.DgmOctree = None) int

DistanceComputationTools

See also

C++: CCCoreLib::DistanceComputationTools

class cccorelib.DistanceComputationTools
class ERRPOR_MEASURES

Members:

RMS

MAX_DIST_68_PERCENT

MAX_DIST_95_PERCENT

MAX_DIST_99_PERCENT

MAX_DIST

MAX_DIST = <ERRPOR_MEASURES.MAX_DIST: 4>
MAX_DIST_68_PERCENT = <ERRPOR_MEASURES.MAX_DIST_68_PERCENT: 1>
MAX_DIST_95_PERCENT = <ERRPOR_MEASURES.MAX_DIST_95_PERCENT: 2>
MAX_DIST_99_PERCENT = <ERRPOR_MEASURES.MAX_DIST_99_PERCENT: 3>
RMS = <ERRPOR_MEASURES.RMS: 0>
property name
property value
MAX_DIST = <ERRPOR_MEASURES.MAX_DIST: 4>
MAX_DIST_68_PERCENT = <ERRPOR_MEASURES.MAX_DIST_68_PERCENT: 1>
MAX_DIST_95_PERCENT = <ERRPOR_MEASURES.MAX_DIST_95_PERCENT: 2>
MAX_DIST_99_PERCENT = <ERRPOR_MEASURES.MAX_DIST_99_PERCENT: 3>
RMS = <ERRPOR_MEASURES.RMS: 0>

ManualSegmentationTools

See also

C++: CCCoreLib::ManualSegmentationTools

class cccorelib.ManualSegmentationTools
class MeshCutterParams
property bbMax
property bbMin
property epsilon
property generateOutsideMesh
property insideMesh
property origTriIndexesMapInside
property origTriIndexesMapOutside
property outsideMesh
property planeCoord
property planeOrthoDim
property trackOrigIndexes
static isPointInsidePoly(*args, **kwargs)

Overloaded function.

  1. isPointInsidePoly(P: cccorelib.CCVector2, polyVertices: cccorelib.GenericIndexedCloud) -> bool

  2. isPointInsidePoly(P: cccorelib.CCVector2, polyVertices: cccorelib.CCVector2List) -> bool

static segment(*args, **kwargs)

Overloaded function.

  1. segment(aCloud: cccorelib.GenericIndexedCloudPersist, poly: cccorelib.Polyline, keepInside: bool, viewMat: float = None) -> cccorelib.ReferenceCloud

  2. segment(cloud: cccorelib.GenericIndexedCloudPersist, minDist: float, maxDist: float, outside: bool = False) -> cccorelib.ReferenceCloud

static segmentMesh(theMesh: cccorelib.GenericIndexedMesh, pointsIndexes: cccorelib.ReferenceCloud, pointsWillBeInside: bool, progressCb: cccorelib.GenericProgressCallback = None, destCloud: cccorelib.GenericIndexedCloud = None, indexShift: int = 0, triangleIndexMap: std::vector<int, std::allocator<int> > = None) cccorelib.GenericIndexedMesh
static segmentMeshWithAABox(mesh: cccorelib.GenericIndexedMesh, vertices: cccorelib.GenericIndexedCloudPersist, ioParams: cccorelib.ManualSegmentationTools.MeshCutterParams, progressCb: cccorelib.GenericProgressCallback = None) bool
static segmentMeshWithAAPlane(mesh: cccorelib.GenericIndexedMesh, vertices: cccorelib.GenericIndexedCloudPersist, ioParams: cccorelib.ManualSegmentationTools.MeshCutterParams, progressCb: cccorelib.GenericProgressCallback = None) bool

ScalarFieldTools

See also

C++: CCCoreLib::ScalarFieldTools

class cccorelib.ScalarFieldTools
static SetScalarValueInverted(*args, **kwargs)

Overloaded function.

  1. SetScalarValueInverted(P: cccorelib.CCVector3, scalarValue: float) -> None

  2. SetScalarValueInverted(P: cccorelib.CCVector3, scalarValue: float) -> None

static SetScalarValueToNaN(P: cccorelib.CCVector3, scalarValue: float) None
static applyScalarFieldGaussianFilter(sigma: float, theCloud: cccorelib.GenericIndexedCloudPersist, sigmaSF: float, progressCb: cccorelib.GenericProgressCallback = None, theOctree: cccorelib.DgmOctree = None) bool
static computeKmeans(theCloud: cccorelib.GenericCloud, K: int, kmcc: cccorelib.KMeanClass, progressCb: cccorelib.GenericProgressCallback = None) bool
static computeMeanScalarValue(theCloud: cccorelib.GenericCloud) float
static computeMeanSquareScalarValue(theCloud: cccorelib.GenericCloud) float
static computeScalarFieldExtremas(theCloud: cccorelib.GenericCloud) tuple
static computeScalarFieldGradient(theCloud: cccorelib.GenericIndexedCloudPersist, radius: float, euclideanDistances: bool, sameInAndOutScalarField: bool = False, progressCb: cccorelib.GenericProgressCallback = None, theOctree: cccorelib.DgmOctree = None) int
static computeScalarFieldHistogram(theCloud: cccorelib.GenericCloud, numberOfClasses: int) numpy.ndarray[numpy.int32]
static countScalarFieldValidValues(theCloud: cccorelib.GenericCloud) int
static multiplyScalarFields(firstCloud: cccorelib.GenericIndexedCloud, secondCloud: cccorelib.GenericIndexedCloud, progressCb: cccorelib.GenericProgressCallback = None) None

ChamferDistanceTools

See also

C++: CCCoreLib::ChamferDistanceTransform

class cccorelib.ChamferDistanceTransform
init(self: cccorelib.ChamferDistanceTransform, gridSize: cccorelib.Tuple3ui) bool
propagateDistance(self: cccorelib.ChamferDistanceTransform, type: cccorelib.CHAMFER_DISTANCE_TYPE, progressCb: cccorelib.GenericProgressCallback = None) int
MAX_DIST = 64250

CloudSamplingTools

See also

C++: CCCoreLib::CloudSamplingTools

class cccorelib.CloudSamplingTools
class RESAMPLING_CELL_METHOD

Members:

CELL_CENTER

CELL_GRAVITY_CENTER

CELL_CENTER = <RESAMPLING_CELL_METHOD.CELL_CENTER: 0>
CELL_GRAVITY_CENTER = <RESAMPLING_CELL_METHOD.CELL_GRAVITY_CENTER: 1>
property name
property value
class SFModulationParams
property a
property b
property enabled
class SUBSAMPLING_CELL_METHODS

Members:

RANDOM_POINT

NEAREST_POINT_TO_CELL_CENTER

NEAREST_POINT_TO_CELL_CENTER = <SUBSAMPLING_CELL_METHODS.NEAREST_POINT_TO_CELL_CENTER: 1>
RANDOM_POINT = <SUBSAMPLING_CELL_METHODS.RANDOM_POINT: 0>
property name
property value
static noiseFilter(cloud: cccorelib.GenericIndexedCloudPersist, kernelRadius: float, nSigma: float, removeIsolatedPoints: bool = False, useKnn: bool = False, knn: int = 6, useAbsoluteError: bool = True, absoluteError: float = True, octree: cccorelib.DgmOctree = None, progressCb: cccorelib.GenericProgressCallback = None) cccorelib.ReferenceCloud
static resampleCloudSpatially(cloud: cccorelib.GenericIndexedCloudPersist, minDistance: float, modParams: cccorelib.CloudSamplingTools.SFModulationParams, octree: cccorelib.DgmOctree = None, progressCb: cccorelib.GenericProgressCallback = None) cccorelib.ReferenceCloud
static resampleCloudWithOctree(cloud: cccorelib.GenericIndexedCloudPersist, newNumberOfPoints: int, resamplingMethod: cccorelib.CloudSamplingTools.RESAMPLING_CELL_METHOD, progressCb: cccorelib.GenericProgressCallback = None, inputOctree: cccorelib.DgmOctree = None) cccorelib.GenericIndexedCloud
static resampleCloudWithOctreeAtLevel(cloud: cccorelib.GenericIndexedCloudPersist, octreeLevel: int, resamplingMethod: cccorelib.CloudSamplingTools.RESAMPLING_CELL_METHOD, progressCb: cccorelib.GenericProgressCallback = None, inputOctree: cccorelib.DgmOctree = None) cccorelib.PointCloud
static sorFilter(cloud: cccorelib.GenericIndexedCloudPersist, knn: int = 6, nSigma: float = 1.0, octree: cccorelib.DgmOctree = None, progressCb: cccorelib.GenericProgressCallback = None) cccorelib.ReferenceCloud
static subsampleCloudRandomly(cloud: cccorelib.GenericIndexedCloudPersist, newNumberOfPoints: int, progressCb: cccorelib.GenericProgressCallback = None) cccorelib.ReferenceCloud
static subsampleCloudWithOctree(cloud: cccorelib.GenericIndexedCloudPersist, newNumberOfPoints: int, subsamplingMethod: cccorelib.CloudSamplingTools.SUBSAMPLING_CELL_METHODS, progressCb: cccorelib.GenericProgressCallback = None, inputOctree: cccorelib.DgmOctree = None) cccorelib.ReferenceCloud
static subsampleCloudWithOctreeAtLevel(cloud: cccorelib.GenericIndexedCloudPersist, octreeLevel: int, subsamplingMethod: cccorelib.CloudSamplingTools.SUBSAMPLING_CELL_METHODS, progressCb: cccorelib.GenericProgressCallback = None, inputOctree: cccorelib.DgmOctree = None) cccorelib.ReferenceCloud
CELL_CENTER = <RESAMPLING_CELL_METHOD.CELL_CENTER: 0>
CELL_GRAVITY_CENTER = <RESAMPLING_CELL_METHOD.CELL_GRAVITY_CENTER: 1>
NEAREST_POINT_TO_CELL_CENTER = <SUBSAMPLING_CELL_METHODS.NEAREST_POINT_TO_CELL_CENTER: 1>
RANDOM_POINT = <SUBSAMPLING_CELL_METHODS.RANDOM_POINT: 0>

GeometricalAnalysisTools

See also

C++: CCCoreLib::GeometricalAnalysisTools

class cccorelib.GeometricalAnalysisTools
class Density

Members:

DENSITY_KNN

DENSITY_2D

DENSITY_3D

DENSITY_2D = <Density.DENSITY_2D: 2>
DENSITY_3D = <Density.DENSITY_3D: 3>
DENSITY_KNN = <Density.DENSITY_KNN: 1>
property name
property value
class ErrorCode

Members:

NoError

InvalidInput

NotEnoughPoints

OctreeComputationFailed

ProcessFailed

UnhandledCharacteristic

NotEnoughMemory

ProcessCancelledByUser

InvalidInput = <ErrorCode.InvalidInput: -1>
NoError = <ErrorCode.NoError: 0>
NotEnoughMemory = <ErrorCode.NotEnoughMemory: -6>
NotEnoughPoints = <ErrorCode.NotEnoughPoints: -2>
OctreeComputationFailed = <ErrorCode.OctreeComputationFailed: -3>
ProcessCancelledByUser = <ErrorCode.ProcessCancelledByUser: -7>
ProcessFailed = <ErrorCode.ProcessFailed: -4>
UnhandledCharacteristic = <ErrorCode.UnhandledCharacteristic: -5>
property name
property value
class GeomCharacteristic

Members:

Feature

Curvature

LocalDensity

ApproxLocalDensity

Roughness

MomentOrder1

ApproxLocalDensity = <GeomCharacteristic.ApproxLocalDensity: 3>
Curvature = <GeomCharacteristic.Curvature: 1>
Feature = <GeomCharacteristic.Feature: 0>
LocalDensity = <GeomCharacteristic.LocalDensity: 2>
MomentOrder1 = <GeomCharacteristic.MomentOrder1: 5>
Roughness = <GeomCharacteristic.Roughness: 4>
property name
property value
static ComputeCharactersitic(c: cccorelib.GeometricalAnalysisTools.GeomCharacteristic, subOptions: int, cloud: cccorelib.GenericIndexedCloudPersist, kernelRadius: float, roughnessUpDir: cccorelib.CCVector3 = None, progressCb: cccorelib.GenericProgressCallback = None, inputOctree: cccorelib.DgmOctree = None) cccorelib.GeometricalAnalysisTools.ErrorCode
static ComputeCrossCovarianceMatrix(P: cccorelib.GenericCloud, Q: cccorelib.GenericCloud, pGravityCenter: cccorelib.CCVector3, qGravityCenter: cccorelib.CCVector3) cccorelib.SquareMatrixd
static ComputeGravityCenter(theCloud: cccorelib.GenericCloud) cccorelib.CCVector3
static ComputeLocalDensityApprox(cloud: cccorelib.GenericIndexedCloudPersist, densityType: cccorelib.GeometricalAnalysisTools.Density, progressCb: cccorelib.GenericProgressCallback = None, DgmOctree: cccorelib.DgmOctree = None) cccorelib.GeometricalAnalysisTools.ErrorCode
static ComputeSphereFrom4(A: cccorelib.CCVector3, B: cccorelib.CCVector3, C: cccorelib.CCVector3, D: cccorelib.CCVector3, center: cccorelib.CCVector3, radius: float) cccorelib.GeometricalAnalysisTools.ErrorCode
static ComputeWeightedCrossCovarianceMatrix(P: cccorelib.GenericCloud, Q: cccorelib.GenericCloud, pGravityCenter: cccorelib.CCVector3, qGravityCenter: cccorelib.CCVector3, coupleWeights: cccorelib.ScalarField = None) cccorelib.SquareMatrixd
static ComputeWeightedGravityCenter(theCloud: cccorelib.GenericCloud, weights: cccorelib.ScalarField) cccorelib.CCVector3
static DetectCircle(cloud: cccorelib.GenericIndexedCloudPersist, center: cccorelib.CCVector3, normal: cccorelib.CCVector3, radius: float, rms: float, progressCb: cccorelib.GenericProgressCallback = None) cccorelib.GeometricalAnalysisTools.ErrorCode
static DetectSphereRobust(cloud: cccorelib.GenericIndexedCloudPersist, outlierRatio: float, center: cccorelib.CCVector3, radius: float, rms: float, progressCb: cccorelib.GenericProgressCallback = None, confidence: float = 0.99, seed: int = 0) cccorelib.GeometricalAnalysisTools.ErrorCode
static FlagDuplicatePoints(theCloud: cccorelib.GenericIndexedCloudPersist, minDistanceBetweenPoints: float, progressCb: cccorelib.GenericProgressCallback = None, inputOctree: cccorelib.DgmOctree = None) cccorelib.GeometricalAnalysisTools.ErrorCode
ApproxLocalDensity = <GeomCharacteristic.ApproxLocalDensity: 3>
Curvature = <GeomCharacteristic.Curvature: 1>
DENSITY_2D = <Density.DENSITY_2D: 2>
DENSITY_3D = <Density.DENSITY_3D: 3>
DENSITY_KNN = <Density.DENSITY_KNN: 1>
Feature = <GeomCharacteristic.Feature: 0>
InvalidInput = <ErrorCode.InvalidInput: -1>
LocalDensity = <GeomCharacteristic.LocalDensity: 2>
MomentOrder1 = <GeomCharacteristic.MomentOrder1: 5>
NoError = <ErrorCode.NoError: 0>
NotEnoughMemory = <ErrorCode.NotEnoughMemory: -6>
NotEnoughPoints = <ErrorCode.NotEnoughPoints: -2>
OctreeComputationFailed = <ErrorCode.OctreeComputationFailed: -3>
ProcessCancelledByUser = <ErrorCode.ProcessCancelledByUser: -7>
ProcessFailed = <ErrorCode.ProcessFailed: -4>
Roughness = <GeomCharacteristic.Roughness: 4>
UnhandledCharacteristic = <ErrorCode.UnhandledCharacteristic: -5>

StatisticalTestingTools

See also

C++: CCCoreLib::StatisticalTestingTools

class cccorelib.StatisticalTestingTools
static computeAdaptativeChi2Dist(distrib: cccorelib.GenericDistribution, cloud: cccorelib.GenericCloud, numberOfClasses: int, finalNumberOfClasses: int, noClassCompression: bool = False, histoMin: float = None, histoMax: float = None, histoValues: int = None, npis: float = None) float
static computeChi2Fractile(p: float, d: int) float
static computeChi2Probability(chi2result: float, d: int) float
static testCloudWithStatisticalModel(distrib: cccorelib.GenericDistribution, theCloud: cccorelib.GenericIndexedCloudPersist, numberOfNeighbours: int, pTrust: float, progressCb: cccorelib.GenericProgressCallback = None, inputOctree: cccorelib.DgmOctree = None) float

PointProjectionTools

See also

C++: CCCoreLib::PointProjectionTools

class cccorelib.PointProjectionTools
class IndexedCCVector2
property index
class Transformation
apply(*args, **kwargs)

Overloaded function.

  1. apply(self: cccorelib.PointProjectionTools.Transformation, P: cccorelib.CCVector3) -> cccorelib.CCVector3

  2. apply(self: cccorelib.PointProjectionTools.Transformation, cloud: cccorelib.GenericIndexedCloudPersist) -> None

property R
property T
property s
static applyTransformation(*args, **kwargs)

Overloaded function.

  1. applyTransformation(cloud: cccorelib.GenericCloud, trans: cccorelib.PointProjectionTools.Transformation, progressCb: cccorelib.GenericProgressCallback = None) -> cccorelib.PointCloud

  2. applyTransformation(cloud: cccorelib.GenericIndexedCloud, trans: cccorelib.PointProjectionTools.Transformation, progressCb: cccorelib.GenericProgressCallback = None) -> cccorelib.PointCloud

static computeTriangulation(cloud: cccorelib.GenericIndexedCloudPersist, type: cccorelib.TRIANGULATION_TYPES, maxEdgeLength: float, dim: int, outputErrorStr: str) cccorelib.GenericIndexedMesh
static developCloudOnCone(cloud: cccorelib.GenericCloud, dim: int, baseRadius: float, alpha: float, center: cccorelib.CCVector3, progressCb: cccorelib.GenericProgressCallback = None) cccorelib.PointCloud
static developCloudOnCylinder(cloud: cccorelib.GenericCloud, radius: float, dim: int = 2, center: cccorelib.CCVector3 = None, progressCb: cccorelib.GenericProgressCallback = None) cccorelib.PointCloud

RegistrationTools

See also

C++: CCCoreLib::RegistrationTools

class cccorelib.RegistrationTools
class TRANSFORMATION_FILTERS

Members:

SKIP_NONE

SKIP_RXY

SKIP_RYZ

SKIP_RXZ

SKIP_ROTATION

SKIP_TX

SKIP_TY

SKIP_TZ

SKIP_TRANSLATION

SKIP_NONE = <TRANSFORMATION_FILTERS.SKIP_NONE: 0>
SKIP_ROTATION = <TRANSFORMATION_FILTERS.SKIP_ROTATION: 7>
SKIP_RXY = <TRANSFORMATION_FILTERS.SKIP_RXY: 1>
SKIP_RXZ = <TRANSFORMATION_FILTERS.SKIP_RXZ: 4>
SKIP_RYZ = <TRANSFORMATION_FILTERS.SKIP_RYZ: 2>
SKIP_TRANSLATION = <TRANSFORMATION_FILTERS.SKIP_TRANSLATION: 56>
SKIP_TX = <TRANSFORMATION_FILTERS.SKIP_TX: 8>
SKIP_TY = <TRANSFORMATION_FILTERS.SKIP_TY: 16>
SKIP_TZ = <TRANSFORMATION_FILTERS.SKIP_TZ: 32>
property name
property value
static FilterTransformation(inTrans: cccorelib.PointProjectionTools.Transformation, transformationFilters: int, toBeAlignedGravityCenter: cccorelib.CCVector3, referenceGravityCenter: cccorelib.CCVector3, outTrans: cccorelib.PointProjectionTools.Transformation) None
SKIP_NONE = <TRANSFORMATION_FILTERS.SKIP_NONE: 0>
SKIP_ROTATION = <TRANSFORMATION_FILTERS.SKIP_ROTATION: 7>
SKIP_RXY = <TRANSFORMATION_FILTERS.SKIP_RXY: 1>
SKIP_RXZ = <TRANSFORMATION_FILTERS.SKIP_RXZ: 4>
SKIP_RYZ = <TRANSFORMATION_FILTERS.SKIP_RYZ: 2>
SKIP_TRANSLATION = <TRANSFORMATION_FILTERS.SKIP_TRANSLATION: 56>
SKIP_TX = <TRANSFORMATION_FILTERS.SKIP_TX: 8>
SKIP_TY = <TRANSFORMATION_FILTERS.SKIP_TY: 16>
SKIP_TZ = <TRANSFORMATION_FILTERS.SKIP_TZ: 32>