Public Types | |
| typedef NUKLEI_UNIQUE_PTR< kernel::se3 > | ptr |
| typedef nuklei::unnormalized_shape_dist_kernel< groupS::r3, shapeS::triangle > | PositionKernel |
| typedef von_mises_fisher_kernel< groupS::so3 > | OrientationKernel |
Public Types inherited from nuklei::kernel::base | |
| enum | Type { R3 = 0, R3XS2, R3XS2P, SE3, UNKNOWN } |
| Explicit query of a kernel's type. See Type Queries for more info. | |
| typedef NUKLEI_UNIQUE_PTR< kernel::base > | ptr |
| NUKLEI_UNIQUE_PTR for kernel::base. | |
Public Member Functions | |
| se3 (const kernel::base &k) | |
| void | assertConsistency () const |
| std::ostream & | print (std::ostream &out) const |
| coord_t | getLocH () const |
| Get the location bandwidth. | |
| void | setLocH (const coord_t h) |
| Set the location bandwidth. | |
| coord_t | getOriH () const |
| Get the orientation bandwidth. More... | |
| void | setOriH (const coord_t h) |
| Set the orientation bandwidth. More... | |
| Type | type () const |
| coord_t | eval (const kernel::se3 &k) const |
Evaluates this kernel at pose k. More... | |
| coord_t | cutPoint () const |
| kernel::se3 | sample () const |
| Returns a sample taken from this kernel. More... | |
| kernel::se3 | se3Sample () const |
| kernel::se3 | se3Proj () const |
| kernel::se3 | projectedOn (const kernel::se3 &k) const |
| kernel::se3 | transformedWith (const kernel::se3 &k) const |
| void | makeTransformWith (const kernel::se3 &k) |
| kernel::se3 | transformationFrom (const kernel::se3 &k) const |
| kernel::se3 | inverseTransformation () const |
| kernel::se3 | linearInterpolation (const kernel::se3 &k, const coord_t x) const |
| void | updateWidth (const kernel::se3 &k, const coord_t x=.5) |
| coord_pair | distanceTo (const kernel::se3 &k) const |
Public Member Functions inherited from nuklei::kernel::implementation_prototype< se3 > | |
| base::ptr | clone () const |
| Clone the kernel. | |
| base::ptr | create () const |
| Create a new kernel of the same type. | |
| Vector3 | getLoc () const |
| Get the location component of the kernel. | |
| void | setLoc (const Vector3 &v) |
| Set the location component of the kernel. | |
| std::ostream & | polyPrint (std::ostream &out) const |
| Prints the kernel parameters to the provided stream. More... | |
| Type | polyType () const |
| Get the "kernel type", i.e., its domain of definition. | |
| coord_t | polyEval (const base &k) const |
Evaluate the kernel at the location/orientation of k. | |
| coord_t | polyCutPoint () const |
| Distance (from the origin) at which the value of the kernel becomes zero. | |
| base::ptr | polySample () const |
| Get a sample from the kernel. | |
| NUKLEI_UNIQUE_PTR< kernel::se3 > | polySe3Sample () const |
| Get an \( SE(3) \) sample from the kernel. More... | |
| NUKLEI_UNIQUE_PTR< kernel::se3 > | polySe3Proj () const |
| Get an \( SE(3) \) version of the kernel. More... | |
| base::ptr | polyProjectedOn (const kernel::se3 &k) const |
Projects *this onto k and returns the result. (See Operations on Poses.) | |
| base::ptr | polyTransformedWith (const kernel::se3 &k) const |
Transforms *this with k and returns the result. (See Operations on Poses.) | |
| void | polyMakeTransformWith (const kernel::se3 &k) |
Transforms *this with k and sets *this to the result. (See Operations on Poses.) | |
| base::ptr | polyLinearInterpolation (const kernel::base &k, const coord_t x) const |
Interpolates between *this and k. More... | |
| void | polyUpdateWidth (const kernel::base &k, const coord_t x=.5) |
| Used internally. | |
| coord_pair | polyDistanceTo (const kernel::base &k) const |
Returns a std::pair containing the distance in position and orientation between *this and k. | |
Public Member Functions inherited from nuklei::kernel::base | |
| bool | operator< (const kernel::base &k) const |
| Weight-based kernel comparator. | |
| bool | operator> (const kernel::base &k) const |
| Weight-based kernel comparator. | |
| virtual base::ptr | clone () const =0 |
| Clone the kernel. | |
| virtual base::ptr | create () const =0 |
| Create a new kernel of the same type. | |
| virtual Vector3 | getLoc () const =0 |
| Get the location component of the kernel. | |
| virtual Type | polyType () const =0 |
| Get the "kernel type", i.e., its domain of definition. | |
| virtual coord_t | polyCutPoint () const =0 |
| Distance (from the origin) at which the value of the kernel becomes zero. | |
| virtual base::ptr | polySample () const =0 |
| Get a sample from the kernel. | |
| virtual NUKLEI_UNIQUE_PTR< kernel::se3 > | polySe3Sample () const =0 |
| Get an \( SE(3) \) sample from the kernel. More... | |
| virtual NUKLEI_UNIQUE_PTR< kernel::se3 > | polySe3Proj () const =0 |
| Get an \( SE(3) \) version of the kernel. More... | |
| weight_t | getWeight () const |
| Returns this kernel's weight. | |
| void | setWeight (const weight_t w) |
| Sets this kernel's weight. | |
| bool | hasDescriptor () const |
| Descriptor & | getDescriptor () |
| const Descriptor & | getDescriptor () const |
| void | setDescriptor (const Descriptor &desc) |
| void | clearDescriptor () |
| void | setFlag (bitfield_t flag) |
| void | resetFlag (bitfield_t flag) |
| bool | getFlag (bitfield_t flag) const |
Public Attributes | |
| Vector3 | loc_ |
| Kernel location. | |
| Quaternion | ori_ |
| Kernel orientation. | |
| coord_t | loc_h_ |
| Location bandwidth. | |
| coord_t | ori_h_ |
| Orientation bandwidth, in radians. | |
Friends | |
| class | NUKLEI_SERIALIZATION_FRIEND_CLASSNAME |
Additional Inherited Members | |
Static Public Attributes inherited from nuklei::kernel::base | |
| static const Type | defaultType = SE3 |
| Explicit query of a kernel's type. See Type Queries for more info. | |
| static const std::string | TypeNames [] = { "r3", "r3xs2", "r3xs2p", "se3" } |
| Explicit query of a kernel's type. See Type Queries for more info. | |
Protected Member Functions inherited from nuklei::kernel::base | |
| base (const base &k) | |
| base & | operator= (const base &k) |
| template<class Archive > | |
| void | serialize (Archive &ar, const unsigned int version) |
Protected Attributes inherited from nuklei::kernel::base | |
| weight_t | w_ |
| int | flag1_ |
| bitfield_t | bitfield_ |
| NUKLEI_UNIQUE_PTR< Descriptor > | desc_ |
|
inline |
Evaluates this kernel at pose k.
This function returns
\[ \mathcal K_{SE(3)}\left(\lambda, \theta ; \mu_t, \mu_r, \sigma_t, \sigma_r\right), \]
where the arguments of \( \mathcal K_{SE(3)} \) are respectively equal to k.loc_, k.ori_, this->loc_, this->ori_, this->loc_h_, this->ori_h_. See Kernels, kernel density estimation, kernel regression for the definition of \( \mathcal K_{SE(3)} \).
Note: this->ori_h_ should be expressed in radians.
|
inlinevirtual |
Get the orientation bandwidth.
This method is implemented in child classes. In classes that do not have an orientation (or a direction), this method returns 0.
Implements nuklei::kernel::base.
Definition at line 428 of file Kernel.h.
References ori_h_.
| kernel::se3 nuklei::kernel::se3::sample | ( | ) | const |
Returns a sample taken from this kernel.
This function returns a sample \( (\lambda, \theta) \) drawn from
\[ \mathcal K'_{SE(3)}\left(\lambda, \theta ; \mu_t, \mu_r, \sigma_t, \sigma_r\right), \]
where the four last arguments of \( \mathcal K'_{SE(3)} \) are respectively equal to this->loc_, this->ori_, this->loc_h_, this->ori_h_. See Kernels, kernel density estimation, kernel regression for the definition of \( \mathcal K'_{SE(3)} \).
Note: this->ori_h_ should be expressed in radians.
Definition at line 61 of file Kernel.cpp.
|
inlinevirtual |
Set the orientation bandwidth.
This method is implemented in child classes. In classes that do not have an orientation (or a direction), this method does nothing.
Implements nuklei::kernel::base.
Definition at line 429 of file Kernel.h.
References ori_h_.