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
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).