gitextract_ziqlnw07/ ├── .gitignore ├── LICENSE.txt ├── README.md ├── classification/ │ ├── README.md │ ├── dataset/ │ │ ├── ScanObjectNNDataLoader.py │ │ └── __init__.py │ ├── init.sh │ ├── models/ │ │ ├── __init__.py │ │ └── repsurf/ │ │ ├── __init__.py │ │ ├── repsurf_ssg_umb.py │ │ └── repsurf_ssg_umb_2x.py │ ├── modules/ │ │ ├── __init__.py │ │ ├── pointnet2_utils.py │ │ ├── pointops/ │ │ │ ├── __init__.py │ │ │ ├── functions/ │ │ │ │ ├── __init__.py │ │ │ │ └── pointops.py │ │ │ ├── setup.py │ │ │ └── src/ │ │ │ ├── __init__.py │ │ │ ├── ballquery/ │ │ │ │ ├── ballquery_cuda.cpp │ │ │ │ ├── ballquery_cuda_kernel.cu │ │ │ │ └── ballquery_cuda_kernel.h │ │ │ ├── cuda_utils.h │ │ │ ├── grouping/ │ │ │ │ ├── grouping_cuda.cpp │ │ │ │ ├── grouping_cuda_kernel.cu │ │ │ │ └── grouping_cuda_kernel.h │ │ │ ├── grouping_int/ │ │ │ │ ├── grouping_int_cuda.cpp │ │ │ │ ├── grouping_int_cuda_kernel.cu │ │ │ │ └── grouping_int_cuda_kernel.h │ │ │ ├── interpolation/ │ │ │ │ ├── interpolation_cuda.cpp │ │ │ │ ├── interpolation_cuda_kernel.cu │ │ │ │ └── interpolation_cuda_kernel.h │ │ │ ├── knnquery/ │ │ │ │ ├── __init__.py │ │ │ │ ├── knnquery_cuda.cpp │ │ │ │ ├── knnquery_cuda_kernel.cu │ │ │ │ └── knnquery_cuda_kernel.h │ │ │ ├── knnquery_heap/ │ │ │ │ ├── __init__.py │ │ │ │ ├── knnquery_heap_cuda.cpp │ │ │ │ ├── knnquery_heap_cuda_kernel.cu │ │ │ │ └── knnquery_heap_cuda_kernel.h │ │ │ ├── pointops_api.cpp │ │ │ └── sampling/ │ │ │ ├── sampling_cuda.cpp │ │ │ ├── sampling_cuda_kernel.cu │ │ │ └── sampling_cuda_kernel.h │ │ ├── polar_utils.py │ │ ├── ptaug_utils.py │ │ ├── recons_utils.py │ │ └── repsurface_utils.py │ ├── scripts/ │ │ └── scanobjectnn/ │ │ ├── repsurf_ssg_umb.sh │ │ └── repsurf_ssg_umb_2x.sh │ ├── tool/ │ │ └── train_cls_scanobjectnn.py │ └── util/ │ ├── __init__.py │ └── utils.py ├── segmentation/ │ ├── README.md │ ├── dataset/ │ │ ├── S3DISDataLoader.py │ │ └── __init__.py │ ├── init.sh │ ├── models/ │ │ ├── __init__.py │ │ ├── pointnet2/ │ │ │ ├── __init__.py │ │ │ └── pointnet2_ssg.py │ │ ├── pointtransformer/ │ │ │ ├── __init__.py │ │ │ └── pointtransformer.py │ │ └── repsurf/ │ │ ├── __init__.py │ │ └── repsurf_umb_ssg.py │ ├── modules/ │ │ ├── __init__.py │ │ ├── aug_utils.py │ │ ├── pointnet2_utils.py │ │ ├── pointops/ │ │ │ ├── __init__.py │ │ │ ├── functions/ │ │ │ │ ├── __init__.py │ │ │ │ └── pointops.py │ │ │ ├── setup.py │ │ │ └── src/ │ │ │ ├── __init__.py │ │ │ ├── aggregation/ │ │ │ │ ├── aggregation_cuda.cpp │ │ │ │ ├── aggregation_cuda_kernel.cu │ │ │ │ └── aggregation_cuda_kernel.h │ │ │ ├── cuda_utils.h │ │ │ ├── grouping/ │ │ │ │ ├── grouping_cuda.cpp │ │ │ │ ├── grouping_cuda_kernel.cu │ │ │ │ └── grouping_cuda_kernel.h │ │ │ ├── interpolation/ │ │ │ │ ├── interpolation_cuda.cpp │ │ │ │ ├── interpolation_cuda_kernel.cu │ │ │ │ └── interpolation_cuda_kernel.h │ │ │ ├── knnquery/ │ │ │ │ ├── knnquery_cuda.cpp │ │ │ │ ├── knnquery_cuda_kernel.cu │ │ │ │ └── knnquery_cuda_kernel.h │ │ │ ├── pointops_api.cpp │ │ │ ├── sampling/ │ │ │ │ ├── sampling_cuda.cpp │ │ │ │ ├── sampling_cuda_kernel.cu │ │ │ │ └── sampling_cuda_kernel.h │ │ │ └── subtraction/ │ │ │ ├── subtraction_cuda.cpp │ │ │ ├── subtraction_cuda_kernel.cu │ │ │ └── subtraction_cuda_kernel.h │ │ ├── pointtransformer_utils.py │ │ ├── polar_utils.py │ │ ├── recons_utils.py │ │ ├── repsurface_utils.py │ │ └── voxelize_utils.py │ ├── scripts/ │ │ └── s3dis/ │ │ ├── test_pointnet2.sh │ │ ├── test_pointtransformer.sh │ │ ├── test_repsurf_umb.sh │ │ ├── train_pointnet2.sh │ │ ├── train_pointtransformer.sh │ │ └── train_repsurf_umb.sh │ ├── tool/ │ │ ├── test_s3dis.py │ │ └── train.py │ └── util/ │ ├── __init__.py │ ├── data_util.py │ └── utils.py └── visualization/ ├── airplane_0001.txt ├── bed_0001.txt ├── cup_0001.txt ├── table_0250.txt ├── triangled_airplane.obj ├── triangled_bed.obj ├── triangled_cup.obj └── triangled_table.obj