How can I extract point cloud from a pcmapndt structure?
1 view (last 30 days)
I've transformed a original point cloud Matlab object to a map using the pcmapndt function. This has allowed me to perform quickly some test and find some areas having features useful to next analysis steps. With the function selectSubmap I can select these areas, but I'd like to extract the points within these submaps and save again them to a pointCloud structures.
Is it possible?
Shivam Singh on 7 Apr 2022
It is my understanding that you created a normal distributions transform (NDT) map (i.e., “pcmapndt” object) from the original point cloud map (i.e., “pointCloud” object) and then you selected a submap from the created NDT map by using “selectSubmap” function. You want to extract “pointCloud” object from this selected submap.
If original point cloud map is known, you may refer the following example for extracting “pointCloud” object from a selected submap:
% Create an NDT map from a point cloud map.
% ptCloudMap is point cloud map of "pointCloud" object
ndtMap = pcmapndt(ptCloudMap,voxelSize);
% Select submap from NDT map
ndtMap = selectSubmap(ndtMap, center, sz);
% Extracting point cloud from the submap, if original point cloud map, i.e. ptCloudMap is known.
roi = ndtMap.SelectedSubmap;
indices = findPointsInROI(ptCloudMap, roi);
ptCloud = select (ptCloudMap, indices, 'OutputSize', 'full');
%ptCloud is the required point cloud