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 points

  • k_mid: Neighbors for mid range points

  • k_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 values

  • mapping_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