feat: initial commit - massive-cloud point cloud processing system

This commit is contained in:
2026-05-27 09:51:42 +00:00
commit 16811100d1
391 changed files with 78338 additions and 0 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,94 @@
schema_version: '1.0'
cad:
linear_deflection_mm: 0.5
angular_deflection_rad: 0.1
locating_hole_radius_mm:
- 14.0
- 18.0
central_hole_radius_min_mm: 80.0
rectangle_aspect_tol: 0.15
sampling:
method: grid_spacing
spacing_mm: null
num_points: 500000
seed: 42
adaptive:
curvature_weight: 1.0
min_spacing_factor: 0.25
max_spacing_factor: 4.0
scan_simulator:
enabled: true
view_origin:
- 10000.0
- 0.0
- 0.0
hpr_radius_mm: 200000.0
panel_deflection:
enabled: true
theta_right_deg: 0.5
theta_ref_deg: 0.3
noise:
enabled: true
sigma_mm: 0.05
mode: isotropic
seed: 43
transform:
enabled: true
rotation_deg: 0.5
rotation_axis: random
translation_mm: 2.0
translation_dir: random
seed: 44
denoise:
steps:
- type: passthrough
bbox_padding_mm: 50.0
- type: voxel
voxel_mm: 0.5
- type: statistical
nb_neighbors: 20
std_ratio: 2.5
smoothing:
enabled: false
search_radius_mm: 2.0
polynomial_order: 2
registration:
method: kabsch_four_holes
pre_align: pca_centroid
refuse_if_residual_above_mm: 5.0
detection:
panel_normal_seed: pca
panel_normal_pca_kth: 1
grid_pixel_mm: 2.0
panel_min_area_ratio: 0.15
hole_min_area_mm2: 600.0
hole_max_area_mm2: 5000.0
circle_fit:
method: algebraic_then_lsq
inlier_residual_mm: 1.5
select_top_k_by_radius_match: 4
rectangle_aspect_tol: 0.4
fill_bg_below_mm2: 100.0
locating_hole_radius_mm:
- 14.0
- 22.0
roi:
hole_dilate_mm: 5.0
central_hole_dilate_mm: 10.0
edge_buffer_mm: 8.0
chamfer_normal_dot_min: 0.8
outlier_z_score: 3.0
plane_fit:
method: ransac_svd
ransac_iterations: 300
ransac_inlier_thresh_mm: 0.5
min_inlier_ratio: 0.5
enforce_nx_positive: true
metrics:
right_axis_sign: 1
angle_clamp_deg: 0.0
artifacts:
save_intermediate: true
ply_format: binary
image_dpi: 150
heatmap_colormap: viridis

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,70 @@
{
"stp": "test_data\\lu1.stp",
"profile": "lu1_af4",
"gt": "gt.json",
"samples": [
{
"sample_id": "rp000_zp000",
"ply": "cloud_rp000_zp000.ply",
"theta_right_deg": 0.0,
"theta_ref_deg": 0.0,
"n_points": 96662
},
{
"sample_id": "rp010_zp000",
"ply": "cloud_rp010_zp000.ply",
"theta_right_deg": 0.1,
"theta_ref_deg": 0.0,
"n_points": 96459
},
{
"sample_id": "rp030_zp000",
"ply": "cloud_rp030_zp000.ply",
"theta_right_deg": 0.3,
"theta_ref_deg": 0.0,
"n_points": 96605
},
{
"sample_id": "rp050_zp000",
"ply": "cloud_rp050_zp000.ply",
"theta_right_deg": 0.5,
"theta_ref_deg": 0.0,
"n_points": 96706
},
{
"sample_id": "rp100_zp000",
"ply": "cloud_rp100_zp000.ply",
"theta_right_deg": 1.0,
"theta_ref_deg": 0.0,
"n_points": 96664
},
{
"sample_id": "rp200_zp000",
"ply": "cloud_rp200_zp000.ply",
"theta_right_deg": 2.0,
"theta_ref_deg": 0.0,
"n_points": 96713
},
{
"sample_id": "rp000_zp050",
"ply": "cloud_rp000_zp050.ply",
"theta_right_deg": 0.0,
"theta_ref_deg": 0.5,
"n_points": 96666
},
{
"sample_id": "rp050_zp050",
"ply": "cloud_rp050_zp050.ply",
"theta_right_deg": 0.5,
"theta_ref_deg": 0.5,
"n_points": 96614
},
{
"sample_id": "rp100_zp100",
"ply": "cloud_rp100_zp100.ply",
"theta_right_deg": 1.0,
"theta_ref_deg": 1.0,
"n_points": 96601
}
]
}