matlab-register-point-clouds

Register and align 3-D point clouds using ICP, NDT, LOAM, FGR, phase correlation, and CPD algorithms in MATLAB.

995|122|Updated Apr 3, 2026
One-click install
npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-register-point-clouds
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: matlab-register-point-clouds
Source: https://github.com/matlab/matlab-agentic-toolkit/tree/main/skills-catalog/image-processing-and-computer-vision/matlab-register-point-clouds
Command: npx skills add https://github.com/matlab/matlab-agentic-toolkit --skill matlab-register-point-clouds

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Choosing and tuning the right 3-D point cloud registration algorithm in MATLAB is difficult: each algorithm (ICP, NDT, LOAM, FGR, phase correlation, CPD) has different preconditions, parameters, and accuracy tradeoffs. This Skill guides an AI agent to select the correct algorithm, preprocess point clouds, tune parameters against RMSE, and combine registered scans into maps.

Core Features & Use Cases

  • Algorithm Selection Guidance: Decision logic for local registration (ICP variants, LOAM, NDT), global registration (FGR, CPD, FPFH feature matching), and phase correlation for ground data, based on initial transform availability and point cloud organization.
  • Preprocessing and Parameter Tuning: Concrete workflows for cylindrical filtering with findPointsInCylinder, downsampling with pcdownsample, and typical parameter ranges with tuning strategies for every registration function.
  • Map Building and Combination: Patterns for incremental map building, LOAM-based mapping with pcmaploam, and combining clouds with pcalign, pccat, or pcmerge.
  • Use Case: A user has a sequence of lidar scans from a moving vehicle and wants to build a unified map. The Skill directs the agent to filter ego-vehicle artifacts, downsample, register consecutive frames with plane-to-plane ICP using constant-velocity initial transforms, and merge results with pcalign.

Quick Start

Ask your AI agent to register two 3-D point cloud files in MATLAB and visualize the aligned result with RMSE accuracy.

Frequently Asked Questions about matlab-register-point-clouds

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I register two 3-D point clouds in MATLAB?

Use pcregistericp with Metric="planeToPlane" as the default starting point, which returns the transformation, aligned cloud, and RMSE. Visualize the result with pcshowpair and refine with preprocessing like downsampling if accuracy is insufficient.

Which point cloud registration algorithm should I use in MATLAB?

Use local methods (ICP, NDT, LOAM) when an initial transform exists or misalignment is small. Use global methods (FGR, CPD, FPFH matching) when clouds are significantly misaligned, and phase correlation (pcregistercorr) for ground data without an initial estimate.

What is the difference between ICP, NDT, and LOAM registration?

ICP minimizes point-to-point or point-to-plane distances and is the general default. NDT uses a voxel grid representation tuned via gridStep. LOAM requires organized point clouds and uses detected edge and planar features, offering accuracy-speed tradeoffs through feature counts.

Does MATLAB point cloud registration work with unorganized lidar data?

Yes, most algorithms work on unorganized clouds, but LOAM requires organized data. If lidar sensor parameters are available, use pcorganize to convert unorganized clouds before applying pcregisterloam or detectLOAMFeatures.

Why is my point cloud registration inaccurate or failing?

Common causes include missing initial transforms, noisy distant points, and poor parameter choices. Apply findPointsInCylinder to remove ego-vehicle artifacts, downsample with pcdownsample, and tune parameters within the documented typical ranges while minimizing RMSE.

When should I not use 3-D point cloud registration functions?

Do not use these functions for 2-D scan matching, where matchScans or matchScansGrid are appropriate, or for image registration, where imregtform or imregcorr from Image Processing Toolbox apply. These functions target 3-D pointCloud objects only.