Core Computation
The core computation module contains the fundamental components for RAPiD feature extraction.
RAPiDCalculator
The main class for computing RAPiD features from point cloud data.
Methods
compute_rapid_features(coordinates, reflectivity, k)
Computes standard RAPiD features for a given point cloud.
Parameters:
coordinates: Point cloud coordinates (N, 3)reflectivity: Reflectivity values (N,)k: Number of nearest neighbors
Returns:
RAPiD features tensor (N, feature_dim)
compute_range_aware_rapid(coordinates, reflectivity, k_close, k_mid, k_far)
Computes range-aware RAPiD features with different k values for different ranges.
Parameters:
coordinates: Point cloud coordinates (N, 3)reflectivity: Reflectivity values (N,)k_close: Neighbors for close range pointsk_mid: Neighbors for mid range pointsk_far: Neighbors for far range points
Example
from rapid_seg.core import RAPiDCalculator
import torch
# Initialize calculator
calculator = RAPiDCalculator(device="cuda")
# Sample data
coordinates = torch.randn(1000, 3)
reflectivity = torch.rand(1000)
# Standard RAPiD
features = calculator.compute_rapid_features(coordinates, reflectivity, k=8)
# Range-aware RAPiD
range_features = calculator.compute_range_aware_rapid(
coordinates, reflectivity, k_close=3, k_mid=8, k_far=2
)
DistanceCalculator
Handles 4D distance computation combining geometric and reflectivity components.
Methods
compute_4d_distances(coordinates, reflectivity, k)
Computes 4D distances between points including geometric and reflectivity components.
Parameters:
coordinates: Point coordinates (N, 3)reflectivity: Reflectivity values (N,)k: Number of nearest neighbors
Returns:
Distance matrix (N, k)
Neighbor indices (N, k)
Example
from rapid_seg.core import DistanceCalculator
calculator = DistanceCalculator(device="cuda")
distances, indices = calculator.compute_4d_distances(coordinates, reflectivity, k=8)
ReflectivityMapper
Maps reflectivity values to appropriate feature representations.
Methods
map_reflectivity(reflectivity, mapping_type="linear")
Maps raw reflectivity values using different strategies.
Parameters:
reflectivity: Raw reflectivity valuesmapping_type: Mapping strategy (“linear”, “log”, “normalized”)
Returns:
Mapped reflectivity features
Example
from rapid_seg.core import ReflectivityMapper
mapper = ReflectivityMapper()
mapped_reflectivity = mapper.map_reflectivity(reflectivity, "log")
SortingModule
Provides lexicographic sorting utilities for point cloud processing.
Methods
sort_points_lexicographically(coordinates)
Sorts points using lexicographic ordering for consistent processing.
Parameters:
coordinates: Point coordinates (N, 3)
Returns:
Sorted coordinates
Sorting indices
Example
from rapid_seg.core import SortingModule
sorter = SortingModule()
sorted_coords, indices = sorter.sort_points_lexicographically(coordinates)
Performance Optimization
The core modules are optimized for high-performance processing:
Batch Processing: Efficient handling of large point clouds
Memory Management: Optimized memory usage with configurable batch sizes
GPU Acceleration: Full CUDA support for all computations
Parallel Processing: Multi-threaded CPU operations when GPU is unavailable