Skip to main content

ISSKeypoint3D

ISSKeypoint3D detects the Intrinsic Shape Signatures keypoints for a given point cloud.

More: https://pointclouds.org/documentation/classpcl_1_1_i_s_s_keypoint3_d.html

Example

TypeScript
import * as PCl from 'pcl'await PCL.init();// data: pcd file data (ArrayBuffer)const cloud = PCL.loadPCDData<PCL.PointXYZ>(data, PCL.PointXYZ);// Get point cloud resolutionconst resolution = PCL.computeCloudResolution(cloud);const tree = new PCL.SearchKdTree<PCL.PointXYZ>(PCL.PointXYZ);const keypoints = new PCL.PointCloud<PCL.PointXYZ>(PCL.PointXYZ);const iss = new PCL.ISSKeypoint3D<PCL.PointXYZ>(PCL.PointXYZ);iss.setSearchMethod(tree);iss.setSalientRadius(6 * resolution);iss.setNonMaxRadius(4 * resolution);iss.setThreshold21(0.975);iss.setThreshold32(0.975);iss.setMinNeighbors(5);iss.setInputCloud(cloud);iss.compute(keypoints);

Type Definitions

class ISSKeypoint3D<T extends XYZPointTypes = PointXYZ> {
constructor(PT?: XYZPointTypesTypeof, salientRadius?: number);
setSalientRadius(salientRadius: number): void;
setNonMaxRadius(radius: number): void;
setNormalRadius(radius: number): void;
setBorderRadius(radius: number): void;
setMinNeighbors(minNeighbors: number): void;
setThreshold21(gamma21: number): void;
setThreshold32(gamma32: number): void;
setAngleThreshold(angle: number): void;

setSearchMethod(tree: KdTree): void;
getSearchMethod(): KdTree;
getSearchParameter(): number;
getKeypointsIndices(): Vector<number>;
setKSearch(k: number): void;
getKSearch(): number;
setRadiusSearch(radius: number): void;
getRadiusSearch(): number;
compute(cloud: PointCloud<T>): void;
}