Kernel Methods for SE(3) Data (a C++ machine-learning library)
In May, Sourceforge has migrated the Nuklei git repository to a new URL. The old URL is still accessible, but frozen to its state of May 2013. In order to continue pulling updates to your local copy, cd to your nuklei directory and type

git remote set-url origin git://

You can also delete your copy of Nuklei and clone it again with

git clone git:// nuklei

Apologies for the inconvenience.


Nuklei is a C++ library that implements kernel functions and kernel density estimation for \(SE(3)\) data. Nuklei also provides tools for manipulating \(SE(3)\) transformations, and for manipulating point clouds.


Project page:


Documentation is improving rapidly. Take a look at the Module page and at the examples.
Initial release of Nuklei!


Nuklei includes implementations of efficient algorithms for:

  • Evaluating and simulating Gaussian distributions and von Mises-Fisher distributions.
  • Evaluating and simulating arbitrary \( SE(3) \) distributions with kernel density estimation.
  • Kernel logistic regression.
  • Reading, writing, transforming clouds of \( SE(3) \) points.

Potential applications of \( SE(3) \) density models: robot position and orientation (navigation), object pose (pose estimation), gripper pose (grasping).

Get Nuklei

The source code is available from the Sourceforge version control server:

git clone git:// nuklei

For more info, see the install page.


The Background section introduces the mathematical concepts applied in Nuklei (density estimation, kernels, 6D poses, quaternions, von Mises-Fisher distributions, ...). This is a good starting point for those who are discovering Nuklei. The page to read next is Kernels, kernel density estimation, kernel regression, which explains how these concepts are implemented in Nuklei.

Other resources are available on the Modules page. The central Nuklei classes are KernelCollection and the kernel classes (kernel::base and its subclasses).


The Bingham statistics library provides another open-source implementation of probability distributions on \( SO(3) \) data. More specifically, The Bingham statistics library contains implementations of the Bingham distribution for directional (axial) statistics on the unit spheres S1, S2, and S3. In addition, finite element approximations are available via tessellations of S2 and S3. If you are looking for an anisotropic, parametric distribution on \( SO(3) \), check it out at


Nuklei is distributed under the terms of the GNU General Public License (GPL).

If the code is used for research purposes, I would appreciate that you cite the following publications:

  • R. Detry, D. Kraft, O. Kroemer, L. Bodenhagen, J. Peters, N. Krüger and J. Piater, Learning Grasp Affordance Densities. In Paladyn. Journal of Behavioral Robotics, 2011.
    Author = {R. Detry and D. Kraft and O. Kroemer and L. Bodenhagen and J. Peters and N. Krüger and J. Piater},
    Journal = {Paladyn.\ Journal of Behavioral Robotics},
    Note = {accepted},
    Title = {Learning Grasp Affordance Densities},
    Year = {2011}}
  • R. Detry and J. Piater, Continuous Surface-point Distributions for 3D Object Pose Estimation and Recognition. In Asian Conference on Computer Vision, pages 572–585, 2010.
    Author = {Renaud Detry and Justus Piater},
    Booktitle = {Asian Conference on Computer Vision},
    Doi = {10.1007/978-3-642-19318-7_45},
    Pages = {572--585},
    Title = {Continuous Surface-point Distributions for {3D} Object Pose Estimation and Recognition},
    Year = {2010}}

I will be happy to hear from projects that make use of Nuklei, and if desired participate and provide support to these projects. If your project uses Nuklei, please let me know!.


Nuklei is developped by Renaud Detry.

© Copyright 2007-2013 Renaud Detry.
Distributed under the terms of the GNU General Public License (GPL).
(See accompanying file LICENSE.txt or copy at
Revised Fri Aug 30 2013 10:56:45. Logo