align_3d_clouds
Align 3D point clouds by registering a moving cloud to a fixed target using auto, ICP, or landmark correspondences. Supports batch alignment strategies and status polling for completed jobs.
Instructions
Start a registration job, then poll action=status until job.state is completed/failed; submitted is not aligned. Reuses the viewer's Rust solvers. auto: level/up-axis yaw sweep then ICP; icp: refine an already close pair; correspondences: fit >=3 non-collinear paired world XYZ landmarks. source_index moves, target_index stays fixed. align_all/refine_all hold target fixed; strategies anchor (each to anchor), nested (grow aligned union), complex (grow with extra hypotheses). For auto/icp, against_all_others matches the moving cloud to the union of all other clouds. No scale/nonrigid estimation. up_axis describes the DATA, not the camera (default y); use z for Z-up scans. Clear temporary selections first. Undo restores transforms from the last accepted agent job. Inspection/capture remain available; geometry refresh waits for alignment. Partial align-all failures are reported per object.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"scene_id": "<scene_id>",
"action": "<action>"
},
"name": "align_3d_clouds"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| detail | No | summary | |
| up_axis | No | y | |
| scene_id | Yes | ||
| strategy | No | anchor | |
| source_index | No | ||
| target_index | No | ||
| source_points | No | ||
| target_points | No | ||
| against_all_others | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||