Point Cloud Processing API
Module: mls.point_cloud. This page documents 24 public functions with exact tool IDs, complete parameters, Parameters fields, and examples.
Back to the Script Tool API Reference
Functions
Extract point cloud data by elevation range. Supports single file or batch processing with input_paths array (output_path will be used as directory)
- Exact tool ID:
pointcloud_extract_by_elevation
- Recommended call:
mls.point_cloud.pointcloud_extract_by_elevation(...)
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
Elevation extraction parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
minElevation |
number |
No |
100.0 |
Minimum elevation value |
maxElevation |
number |
No |
200.0 |
Maximum elevation value |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_extract_by_elevation_parameters()
params.minElevation = 100.0
result = mls.point_cloud.pointcloud_extract_by_elevation(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
Extract point cloud by class
- Exact tool ID:
pointcloud_extract_by_class
- Recommended call:
mls.point_cloud.pointcloud_extract_by_class(...)
- Required parameters:
input_paths, class
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
class |
array |
Yes |
— |
Class IDs to extract (e.g., ["1","2"]) |
Example
from gvscript import mls
kwargs = {'class': ['example']}
result = mls.point_cloud.pointcloud_extract_by_class(
input_paths=['D:/data/input.LiData'],
output_path='',
**kwargs,
)
print(result.ok, result.output, result.message)
Extract point cloud data by intensity range. Supports single file or batch processing with input_paths array (output_path will be used as directory)
- Exact tool ID:
pointcloud_extract_by_intensity
- Recommended call:
mls.point_cloud.pointcloud_extract_by_intensity(...)
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
intensity extraction parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
minIntensity |
number |
No |
0 |
Minimum intensity value |
maxIntensity |
number |
No |
20000 |
Maximum intensity value |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_extract_by_intensity_parameters()
params.minIntensity = 0
result = mls.point_cloud.pointcloud_extract_by_intensity(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
Extract point cloud data by return number. Supports single file or batch processing with input_paths array (output_path will be used as directory)
- Exact tool ID:
pointcloud_extract_by_return
- Recommended call:
mls.point_cloud.pointcloud_extract_by_return(...)
- Required parameters:
input_paths
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
return_numbers |
array |
No |
— |
Return numbers to extract. Valid values: 'first', 'last', '1'-'7' |
Example
from gvscript import mls
result = mls.point_cloud.pointcloud_extract_by_return(
input_paths=['D:/data/input.LiData'],
return_numbers=['first', 'last', '1', '2'],
)
print(result.ok, result.output, result.message)
ortho_photo
Ortho Photo Tool
- Exact tool ID:
Ortho_Photo
- Recommended call:
mls.point_cloud.ortho_photo(...)
- Alias:
Ortho_Photo
- Required parameters:
output_path
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_path |
string |
No |
— |
Input point cloud file path (.LiData) |
output_path |
string |
Yes |
— |
Output file path |
m_resolution |
number |
No |
0.01 |
Image resolution |
m_mode |
number |
No |
2 |
Export orthophotos by elevation, intensity, density, or RGB |
m_coloraize |
number |
No |
0 |
Colorized? |
m_use_pcos_box |
number |
No |
1 |
Whether to use the point cloud bounding box |
result_name |
string |
No |
— |
Result name for layer |
Example
from gvscript import mls
result = mls.point_cloud.ortho_photo(
output_path='D:/data/output',
input_path='D:/data/input.LiData',
m_resolution=0.01,
m_mode=2,
m_coloraize=0,
m_use_pcos_box=1,
result_name='example_name',
)
print(result.ok, result.output, result.message)
Transform the timestamp of the point cloud
- Exact tool ID:
PointCloud_Transform_GPS_Time
- Recommended call:
mls.point_cloud.pointcloud_transform_gps_time(...)
- Alias:
PointCloud_Transform_GPS_Time
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
GPS time transformation parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
method |
integer |
No |
0 |
1: source and target system; 2: Multiply and add constant |
inputTimeMode |
integer |
No |
0 |
0: UTC seconds of week; 1: UTC seconds of day; 2: GPS seconds of week; 3: GPS seconds of day; 4: GPS standard time; 5: GPS time; 6: unix |
outputTimeMode |
integer |
No |
0 |
0: UTC seconds of week; 1: UTC seconds of day; 2: GPS seconds of week; 3: GPS seconds of day; 4: GPS standard time; 5: GPS time; 6: unix |
date |
string |
No |
— |
Data collection time in yyyy-mm-dd format |
factor |
number |
No |
1 |
Multiplication factor |
add |
number |
No |
0 |
Addition constant |
isTraj |
string |
No |
'0' |
Is trajectory |
isImagelist |
string |
No |
'0' |
Is image list |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_transform_gps_time_parameters()
params.method = 0
result = mls.point_cloud.pointcloud_transform_gps_time(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
pointcloud_compute_normals
Calculate the normal of the point cloud
- Exact tool ID:
PointCloud_Compute_Normals
- Recommended call:
mls.point_cloud.pointcloud_compute_normals(...)
- Alias:
PointCloud_Compute_Normals
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
Normals computation parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
SearchRadius |
number |
No |
0.1 |
Search Radius |
NormalConsistency |
string |
No |
'1' |
Normal consistency |
trajPath |
string |
No |
— |
Input trajectory file path |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_compute_normals_parameters()
params.SearchRadius = 0.1
result = mls.point_cloud.pointcloud_compute_normals(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
pointcloud_normalize_by_ground_points
Normalize the point cloud by ground point
- Exact tool ID:
PointCloud_Normalize_by_Ground_Points
- Recommended call:
mls.point_cloud.pointcloud_normalize_by_ground_points(...)
- Alias:
PointCloud_Normalize_by_Ground_Points
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
Normalization parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
searchType |
integer |
No |
0 |
0: 2D; 1: 3D |
keepZValueToAtt |
string |
No |
'1' |
Keep Z value to attribute |
resolution |
number |
No |
0.1 |
Resolution |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_normalize_by_ground_points_parameters()
params.searchType = 0
result = mls.point_cloud.pointcloud_normalize_by_ground_points(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
pointcloud_denormalization
Denormalize the point cloud
- Exact tool ID:
PointCloud_Denormalization
- Recommended call:
mls.point_cloud.pointcloud_denormalization(...)
- Alias:
PointCloud_Denormalization
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
Denormalization parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
Denormalization_isUseCreated |
string |
No |
'0' |
Use created DEM |
Denormalization_DEMFile |
string |
No |
'' |
DEM file path |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_denormalization_parameters()
params.Denormalization_isUseCreated = '0'
result = mls.point_cloud.pointcloud_denormalization(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
pointcloud_merge
Merge multiple point clouds into one
- Exact tool ID:
PointCloud_Merge
- Recommended call:
mls.point_cloud.pointcloud_merge(...)
- Alias:
PointCloud_Merge
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
Merge parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
bIgnoreDifferentAtt |
integer |
No |
1 |
1: Ignore different attributes; 0: Do not ignore |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_merge_parameters()
params.bIgnoreDifferentAtt = 1
result = mls.point_cloud.pointcloud_merge(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
pointcloud_subsampling
Subsample the point cloud
- Exact tool ID:
PointCloud_Subsampling
- Recommended call:
mls.point_cloud.pointcloud_subsampling(...)
- Alias:
PointCloud_Subsampling
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
Subsampling parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
samplType |
integer |
Yes |
0 |
0: Voxel; 1: Minimum points spacing; 2: sampling rate |
Rate |
number |
No |
99.99 |
Sampling rate (0-100%). Only used when samplType=2 |
VoxelSize |
number |
No |
0.5 |
Voxel size. Only used when samplType=0 |
PointsSpace |
integer |
No |
1 |
Minimum points spacing. Only used when samplType=1 |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_subsampling_parameters()
params.samplType = 0
result = mls.point_cloud.pointcloud_subsampling(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
pointcloud_noise_filter
Perform noise filter on the point cloud
- Exact tool ID:
PointCloud_Noise_Filter
- Recommended call:
mls.point_cloud.pointcloud_noise_filter(...)
- Alias:
PointCloud_Noise_Filter
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
Noise filter parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
NeighborsType |
integer |
No |
1 |
1: custom radius; 2: recommend radius |
KnnNeighbor |
string |
No |
'6' |
KNN neighbor count |
Radius |
number |
No |
0.5 |
Search radius. Required when NeighborsType=1 |
MaxErrorType |
string |
No |
'1' |
Max error type |
Relatiev_MaxError |
string |
No |
'1' |
Relative max error |
Absolute_MaxError |
string |
No |
'1' |
Absolute max error |
ifRemoveIsolatePoints |
string |
No |
'0' |
Remove isolated points |
bufferSize |
string |
No |
'2' |
Buffer size |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_noise_filter_parameters()
params.NeighborsType = 1
result = mls.point_cloud.pointcloud_noise_filter(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
pointcloud_remove_outliers
Remove outliers from the point cloud
- Exact tool ID:
PointCloud_Remove_Outliers
- Recommended call:
mls.point_cloud.pointcloud_remove_outliers(...)
- Alias:
PointCloud_Remove_Outliers
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
No |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
Outlier removal parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
mulStdDeviation |
integer |
No |
5 |
Multiples of standard deviation |
neighborPoints |
integer |
No |
10 |
Number of neighboring points |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_remove_outliers_parameters()
params.mulStdDeviation = 5
result = mls.point_cloud.pointcloud_remove_outliers(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)
pointcloud_smooth
Smooth point cloud method to reduce noise and improve point cloud quality (output_path will be used as directory)
- Exact tool ID:
pointcloud_smooth
- Recommended call:
mls.point_cloud.pointcloud_smooth(...)
- Required parameters:
input_paths, output_path, radius
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
Yes |
'' |
Output folder. If the user does not specify, set this parameter to "" |
radius |
number |
Yes |
0.2 |
Smoothing search radius |
pos_file |
string |
No |
— |
Trajectory file path (*.pos) for motion correction |
result_name |
string |
No |
— |
Result name for layer |
Example
from gvscript import mls
result = mls.point_cloud.pointcloud_smooth(
input_paths=['D:/data/input.LiData'],
output_path='',
radius=0.2,
pos_file='example',
result_name='example_name',
)
print(result.ok, result.output, result.message)
pointcloud_brightness_contrast
Adjust point cloud brightness and contrast
- Exact tool ID:
pointcloud_brightness_contrast
- Recommended call:
mls.point_cloud.pointcloud_brightness_contrast(...)
- Required parameters:
input_paths, output_path, brightness, contrast
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
Yes |
— |
Output file path |
brightness |
integer |
Yes |
0 |
Brightness adjustment value |
contrast |
integer |
Yes |
0 |
Contrast adjustment value |
base_brightness |
integer |
No |
0 |
Base brightness value |
result_name |
string |
No |
— |
Result name for layer |
Example
from gvscript import mls
result = mls.point_cloud.pointcloud_brightness_contrast(
input_paths=['D:/data/input.LiData'],
output_path='D:/data/output',
brightness=0,
contrast=0,
base_brightness=0,
result_name='example_name',
)
print(result.ok, result.output, result.message)
pointcloud_cut_long_range
Cut or classify long range points based on trajectory distance
- Exact tool ID:
pointcloud_cut_long_range
- Recommended call:
mls.point_cloud.pointcloud_cut_long_range(...)
- Required parameters:
input_paths, action_type, mode, traj_path
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
action_type |
string |
Yes |
'Classify' |
Action type |
mode |
string |
Yes |
'Absolute' |
Mode |
search_radius |
number |
No |
50.0 |
Search radius |
range_difference |
number |
No |
10.0 |
Range difference threshold |
factor |
number |
No |
1.0 |
Factor value |
traj_path |
string |
Yes |
— |
Trajectory file path (*.pos) |
from_class |
any |
No |
'1' |
Source class filter (comma-separated class IDs, e.g., '1,2,3') |
to_class |
integer |
No |
— |
Target class ID for classification |
Example
from gvscript import mls
result = mls.point_cloud.pointcloud_cut_long_range(
input_paths=['D:/data/input.LiData'],
action_type='Classify',
mode='Absolute',
search_radius=50.0,
range_difference=10.0,
factor=1.0,
traj_path='D:/data/input.LiData',
from_class='1',
to_class=1,
)
print(result.ok, result.output, result.message)
pointcloud_cutoverlap
Classify or delete overlap points based on trajectory
- Exact tool ID:
pointcloud_cutoverlap
- Recommended call:
mls.point_cloud.pointcloud_cutoverlap(...)
- Required parameters:
input_paths, action_type, method_type
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
action_type |
string |
Yes |
'Classify' |
Action type |
method_type |
string |
Yes |
'ByOffset' |
Method type |
offset |
number |
No |
25.0 |
Offset threshold |
scan_angle |
number |
No |
10.0 |
Scan angle threshold |
edge |
number |
No |
1.0 |
Edge threshold |
density |
number |
No |
10.0 |
Density threshold |
traj_path |
string |
No |
— |
Trajectory file path (*.pos) |
output_path |
string |
No |
— |
Output file path |
from_class |
string |
No |
'1' |
Source class filter (comma-separated class IDs, e.g., '1,2,3') |
to_class |
integer |
No |
— |
Target class ID for classification |
Example
from gvscript import mls
result = mls.point_cloud.pointcloud_cutoverlap(
input_paths=['D:/data/input.LiData'],
output_path='D:/data/output',
action_type='Classify',
method_type='ByOffset',
offset=25.0,
scan_angle=10.0,
edge=1.0,
density=10.0,
traj_path='D:/data/input.LiData',
from_class='1',
to_class=1,
)
print(result.ok, result.output, result.message)
pointcloud_assign_group
Assign groups to point cloud points
- Exact tool ID:
PointCloud_Assign_Group
- Recommended call:
mls.point_cloud.pointcloud_assign_group(...)
- Alias:
PointCloud_Assign_Group
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
Parameters |
object |
Yes |
— |
Assign group parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
bClearGroups |
boolean |
No |
True |
Clear existing groups before assigning |
gap |
number |
No |
-1.0 |
Group gap distance, <= 0 means auto |
minPoints |
integer |
No |
20 |
Minimum points per group |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_assign_group_parameters()
params.bClearGroups = True
result = mls.point_cloud.pointcloud_assign_group(
Parameters=params,
input_paths=['D:/data/input.LiData'],
)
print(result.ok, result.output, result.message)
pointcloud_moving_objects
Detect moving objects from point cloud
- Exact tool ID:
PointCloud_Moving_Objects
- Recommended call:
mls.point_cloud.pointcloud_moving_objects(...)
- Alias:
PointCloud_Moving_Objects
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
Parameters |
object |
Yes |
— |
Moving objects detection parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
fromClass |
object |
No |
— |
Class selection for source points. A JSON object mapping selection index to classification code. Example: {"0":5} selects class 5 |
toClass |
integer |
No |
30 |
Target classification code to assign to detected moving objects |
searchRadius |
number |
No |
0.15 |
Search radius |
timeDiff |
number |
No |
0.5 |
Time difference threshold |
bUseGroup |
boolean |
No |
False |
Use group information from point cloud |
clusterRadius |
number |
No |
0.5 |
Clustering radius |
minPointsSize |
integer |
No |
50 |
Minimum cluster point count |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_moving_objects_parameters()
params.fromClass = {}
result = mls.point_cloud.pointcloud_moving_objects(
Parameters=params,
input_paths=['D:/data/input.LiData'],
)
print(result.ok, result.output, result.message)
pointcloud_feature_computor
Compute geometric features of point cloud
- Exact tool ID:
PointCloud_Feature_Computor
- Recommended call:
mls.point_cloud.pointcloud_feature_computor(...)
- Alias:
PointCloud_Feature_Computor
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
Parameters |
object |
Yes |
— |
Feature computation parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
radius |
number |
No |
0.1 |
Search radius for feature computation |
featureSwitch |
integer |
No |
-1 |
Feature switch bitmask controlling which geometric features to compute. Bitwise OR of enum values. Example: 7 enables Roughness + Mean curvature + Gaussian curvature |
bRoughUpDir |
boolean |
No |
False |
Use custom rough up direction |
roughUpDirX |
number |
No |
0.0 |
X component of rough up direction |
roughUpDirY |
number |
No |
0.0 |
Y component of rough up direction |
roughUpDirZ |
number |
No |
1.0 |
Z component of rough up direction |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_feature_computor_parameters()
params.radius = 0.1
result = mls.point_cloud.pointcloud_feature_computor(
Parameters=params,
input_paths=['D:/data/input.LiData'],
)
print(result.ok, result.output, result.message)
pointcloud_points_deduplicator
Remove duplicate points from point cloud
- Exact tool ID:
PointCloud_Points_Deduplicator
- Recommended call:
mls.point_cloud.pointcloud_points_deduplicator(...)
- Alias:
PointCloud_Points_Deduplicator
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
Parameters |
object |
Yes |
— |
Points deduplication parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
fromClass |
object |
No |
— |
Class selection for source points. A JSON object mapping selection index to classification code. Example: {"0":5} selects class 5 |
gap |
number |
No |
0.001 |
Duplicate gap distance, <= 0 means auto |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_points_deduplicator_parameters()
params.fromClass = {}
result = mls.point_cloud.pointcloud_points_deduplicator(
Parameters=params,
input_paths=['D:/data/input.LiData'],
)
print(result.ok, result.output, result.message)
pointcloud_adaptive_downsample
Adaptive downsampling of point cloud
- Exact tool ID:
PointCloud_Adaptive_Downsample
- Recommended call:
mls.point_cloud.pointcloud_adaptive_downsample(...)
- Alias:
PointCloud_Adaptive_Downsample
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
Parameters |
object |
Yes |
— |
Adaptive downsampling parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
feature |
integer |
No |
-1 |
Feature switch bitmask controlling which features to preserve during downsampling. Bitwise OR of enum values. Example: 3 enables Curvature + Intensity |
nonkeyPointVoxelSize |
number |
No |
0.2 |
Non-key point voxel size |
uniformMinRadius |
number |
No |
0.02 |
Uniform minimum radius |
maxPtsNumber |
integer |
No |
1500000 |
Maximum point count |
searchKnn |
integer |
No |
30 |
Search KNN count for feature computation |
minCurvature |
number |
No |
0.02 |
Curvature threshold |
minColorSigma |
number |
No |
0.1 |
Color variance threshold |
minIntensitySigma |
number |
No |
0.03 |
Intensity variance threshold |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_adaptive_downsample_parameters()
params.feature = -1
result = mls.point_cloud.pointcloud_adaptive_downsample(
Parameters=params,
input_paths=['D:/data/input.LiData'],
)
print(result.ok, result.output, result.message)
pointcloud_density_analysis
Density quality analysis of point cloud
- Exact tool ID:
PointCloud_Density_Analysis
- Recommended call:
mls.point_cloud.pointcloud_density_analysis(...)
- Alias:
PointCloud_Density_Analysis
- Required parameters:
input_paths, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
Parameters |
object |
Yes |
— |
Density analysis parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
gridSize |
number |
No |
1.0 |
Grid size for density analysis |
reportPath |
string |
No |
— |
Output report path in HTML format |
reportName |
string |
No |
— |
Report name |
projectName |
string |
No |
— |
Project name |
company |
string |
No |
— |
Company name |
author |
string |
No |
— |
Author name |
logoPath |
string |
No |
— |
Logo image file path |
Example
from gvscript import mls
params = mls.point_cloud.pointcloud_density_analysis_parameters()
params.gridSize = 1.0
result = mls.point_cloud.pointcloud_density_analysis(
Parameters=params,
input_paths=['D:/data/input.LiData'],
)
print(result.ok, result.output, result.message)
convertprojectedsurface
Convert point cloud to projected surface for compensation
- Exact tool ID:
ConvertProjectedSurface
- Recommended call:
mls.point_cloud.convertprojectedsurface(...)
- Alias:
ConvertProjectedSurface
- Required parameters:
input_paths, output_path, Parameters
Parameters
| Parameter |
Type |
Required |
Default |
Description |
input_paths |
array |
Yes |
— |
Input point cloud file paths |
output_path |
string |
Yes |
'' |
Output folder. If the user does not specify, set this parameter to "" |
Parameters |
object |
Yes |
— |
Projected surface conversion parameters |
Parameters fields
| Field |
Type |
Required |
Default |
Description |
compensating |
integer |
No |
0 |
Projected surface height for compensation (-9999 to 9999) |
Example
from gvscript import mls
params = mls.point_cloud.convertprojectedsurface_parameters()
params.compensating = 0
result = mls.point_cloud.convertprojectedsurface(
Parameters=params,
input_paths=['D:/data/input.LiData'],
output_path='',
)
print(result.ok, result.output, result.message)