API reference

The full, generated reference for every header lives at API reference (Doxygen). This page maps what you want to do to the right header and class.

Open the Doxygen reference Class list File list

  1. Headers
  2. Sparse tensors
  3. Layers
  4. Training
  5. Adaptive voxelization
  6. Gaussian splats
  7. Source

Headers

Most programs need one include:

#include <riemann.hpp>             // sparse tensors, layers, training, adaptive, Gaussians*
#include <octree/adaptive.hpp>     // adaptive voxelization only

* Gaussian headers are included when the library was built with RIEMANN_ENABLE_GAUSSIAN (on in all release packages). The installed CMake target defines it for you.

Canonical headers live in engine/, octree/ and splat/. The headers in layers/, helpers/, dynamic/, normal/, core/ and learning/, and most root-level headers, only forward to them and remain for compatibility.

Namespace Contents
riemann Sparse tensors, coordinate managers, layers, functional ops, batching
riemann::training Optimizers, batches, training and evaluation loops
riemann::adaptive Adaptive (octree) voxelization and convolution
riemann::gaussian 3D Gaussian splats: model, rendering, training, PLY

Sparse tensors

Type / function Header Guide
SparseTensor engine/tensor/sparse_tensor.hpp Sparse tensors
TensorField engine/tensor/field.hpp TensorField
CoordinateManager engine/grid/space.hpp Core concepts
SparseQuantizeResult, sparse_quantize, batched_coordinates, sparse_collate helpers/batching.hpp, helpers/discretization.hpp Sparse tensors
cat, sum, mean, var, to_sparse, to_sparse_all engine/nn/operations.hpp Sparse tensors
Functional activations (riemann::functional::relu, gelu, softmax, …) functions.hpp Sparse tensors
Arithmetic operators (+ - * /) engine/tensor/sparse_tensor.hpp Arithmetic
save / load helpers persistence.hpp Training

Layers

All layers are LibTorch modules (TORCH_MODULE holders around ...Impl classes) in engine/nn/.

Family Classes Header
Convolution RiemannConvolution, RiemannConvolutionTranspose, RiemannGenerativeConvolutionTranspose engine/nn/conv.hpp
Normalization RiemannBatchNorm, RiemannLayerNorm, RiemannGroupNorm, RiemannInstanceNorm, RiemannStableInstanceNorm engine/nn/normalization.hpp
Activation RiemannReLU, RiemannHardsigmoid, RiemannHardswish, RiemannSinusoidal engine/nn/activation.hpp
Linear RiemannLinear, RiemannDense engine/nn/linear.hpp
Pooling RiemannAvgPooling, RiemannSumPooling, RiemannMaxPooling, RiemannPoolingTranspose, RiemannGlobalPooling, RiemannGlobalAvgPooling, RiemannGlobalSumPooling, RiemannGlobalMaxPooling engine/nn/pooling.hpp
Residual BasicBlock, Bottleneck engine/nn/residual.hpp
Squeeze-excite SELayer, SEBasicBlock, SEBottleneck engine/nn/squeeze_excite.hpp
Structure RiemannUnion, RiemannPruning, RiemannToSparseTensor, RiemannToDenseTensor, RiemannToFeature, RiemannBroadcastAddition, RiemannBroadcastMultiplication, RiemannBroadcastConcatenation engine/nn/operations.hpp
Interpolation RiemannInterpolation engine/nn/resample.hpp

Autograd functions behind the layers (for custom modules) are in autodiff/, for example autodiff/conv_func.hpp, autodiff/sparse_matmul_func.hpp (SPMMFunction) and autodiff/compat.hpp.

Training

Type Header Guide
training::OptimizerConfig, OptimizerType, StepLRScheduler engine/learning/training.hpp Training
training::SparseSample, training::SparseBatch engine/learning/training.hpp Training
StepResult, EpochResult, GradientAccumulator engine/learning/training.hpp Training

Adaptive voxelization

Type Header Guide
adaptive::AdaptiveSparseTensor, adaptive::SourcePoints octree/tensor.hpp Adaptive voxelization
adaptive::AdaptiveVoxelConfig, Reduction, RefinePolicy, AxisAlignedRegion octree/config.hpp Adaptive voxelization
adaptive::AdaptiveKernelConfig, AdaptiveConvMode, KernelMapCache octree/stencil.hpp Adaptive convolution
interpolate, InterpMode octree/ops.hpp Adaptive voxelization
voxelize_sphere, SphereFrame octree/sphere.hpp Adaptive voxelization

Gaussian splats

Type Header Guide
gaussian::GaussianModel splat/model.hpp Gaussian splats
gaussian::GaussianTensor splat/soup.hpp Gaussian splats
gaussian::Gaussian3D splat/primitive.hpp Gaussian splats
gaussian::Camera splat/camera.hpp Gaussian splats
gaussian::RenderOptions, RenderOutput, render splat/render.hpp Gaussian splats
gaussian::GaussianOptimizer splat/optimizer.hpp Gaussian splats
gaussian::GaussianTrainer, GaussianTrainerConfig splat/trainer.hpp Gaussian splats
PLY load/save splat/ply.hpp Gaussian splats
Spherical harmonics splat/harmonics.hpp Gaussian splats

Source

Browse the headers on GitHub. The reference is regenerated from them on every push to main (see Packaging).