Namespaces | Classes | Enumerations | Functions | Variables

TRTK Namespace Reference

Namespace of the Transformation and Registration Toolkit. More...

Namespaces

namespace  Diffusion
 

This namespace contains various functions regarding diffusion processes.


namespace  Optimization
 

This namespace contains various classes and functions to find the roots (zeros) or the local minima and maxima of a function.


namespace  Signals
 

This namespace contains various classes and functions related to the signals and slots implementation.


namespace  Tools
 

This namespace contains various helper functions.


Classes

class  NetworkError
 This exception is thrown in case of a network error. More...
class  ConnectionClosed
 This exception is thrown in case of an unexpectedly closed client connection. More...
class  Client
 Simple TCP/IP client. More...
class  Server
 Simple TCP/IP server (one client at a time). More...
class  Clock
 A simple clock class. More...
class  Coordinate
 A generic coordinate class. More...
class  CorrelationSphere
class  ErrorObj
 Error class that incorporates additional information. More...
class  EstimateAffineTransformation2D
 Estimates a 2D affine transformation from two point sets. More...
class  EstimateAffineTransformation3D
 Estimates a 3D affine transformation from two point sets. More...
class  EstimateAffineTransformationFromPlaneTo3D
 Estimates a 3D affine transformation from two point sets. More...
class  EstimateProjectiveTransformation2D
 Estimates a 2D projective transformation from two point sets. More...
class  EstimateProjectiveTransformation3D
 Estimates a 3D projective transformation from two point sets. More...
class  EstimateRigidTransformation2D
 Estimates a 2D rigid transformation from two point sets. More...
class  EstimateRigidTransformation3D
 Estimates a 3D rigid transformation from two point sets. More...
class  EstimateSimilarityTransformation2D
 Estimates a 2D similarity transformation from two point sets. More...
class  EstimateSimilarityTransformation3D
 Estimates a 3D similarity transformation from two point sets. More...
class  EstimateTransformation
 Base class for all transformation estimations from two point sets. More...
class  EstimateTransformation2D
 Base class for 2D transformation estimations from two point sets. More...
class  EstimateTransformation3D
 Base class for 3D transformation estimations from two point sets. More...
class  Fit
 Base class for all fitting classes. More...
class  Fit2D
 Base class for 2D fitting algorithms where fitting is done to a 2D point set. More...
class  Fit3D
 Base class for 3D fitting algorithms where fitting is done to a 3D point set. More...
class  FitCircle
 Estimates the parameters of a circle from a set of 2D points lying on the circle. More...
class  FitCircle3D
 Estimates the parameters of a circle in 3D space from a set of points lying on the circle. More...
class  FitCircleInOrigin
 Estimates the radius of a circle centered at the origin from a set of 2D points. More...
class  FitLine
 Estimates the parameters of a line from a set of 2D points. More...
class  FitLine3D
 Estimates the parameters of a line in 3D space from a set of points lying on the line. More...
class  FitPlane
 Estimates the parameters of a 2D plane in 3D space from a set of points lying on the surface. More...
class  FitSphere
 Estimates the parameters of a 3D sphere from a set of points lying on the surface. More...
class  GenericPolynomial
 Multivariate multidimensional polynomial. More...
class  IcpInterface
 Iterative Closest Point. More...
class  IcpBase
 Base class for all ICP implementations. More...
class  Icp3D
 ICP algorithm for 3D point clouds as described by Besl and McKay [1]. More...
class  IcpTrimmed3D
 Trimmed ICP algorithm for 3D point clouds. More...
class  RandomSampleIcp3D
 Random Sample ICP algorithm for 3D point clouds. More...
class  Interpolation2D
 Two-dimensional interpolation for irregularly-spaced data. More...
class  Interpolation3D
 Three-dimensional interpolation for irregularly-spaced data. More...
class  Iterator
 Common base class for input iterator adapter classes. More...
class  IteratorAdapter
 Adapter class for arbitrary input iterator classes. More...
class  PinholeCameraModel
 A simple pinhole camera model. More...
class  PivotCalibration
 This is the common interface for all pivot-point-calibration classes. More...
class  PivotCalibrationCombinatorialApproach
 Pivot point calibration. More...
class  PivotCalibrationLeastSquares
 Pivot point calibration. More...
class  PivotCalibrationPATM
 Pivot point calibration. More...
class  PivotCalibrationTwoStep
 Pivot point calibration. More...
class  Polynomial
 Interface class for all polynomials. More...
class  Range
 Aggregate of two input iterator adapters. More...
class  Ransac
 Robust model fitting. More...
class  RansacGenericFittingModel
 This class implements the Ransac::Model interface for all fitting classes. More...
class  RansacPivotCalibrationModel
 This class implements the Ransac::Model interface for all PivotCalibration classes. More...
class  RegionGrowing2D
 Segmentation of simply connected spaces in 2D data. More...
class  RegionGrowing3D
 Segmentation of simply connected spaces in 3D data. More...
class  SurfaceExtraction3D
 Surface extraction of simply connected spaces in 3D data. More...
class  Timestamp
 A class for managing timestamps of various objects by using names. Dependencies between objects can be specified and checked for being up-to-date. More...
class  Transform2D
 Affine or projective transformation in 2D. More...
class  Transform3D
 Affine or projective transformation in 3D. More...
class  TrivariateQuadraticPolynomial
 Trivariate quadratic polynomial. More...

Enumerations

enum  { DATA_RECEIVED = 1 }

Functions

void receive_all (int socket_fd, char *&data, size_t &size)
 Receives a block of data from the given socket.
void send_all (int socket_fd, const char *data, size_t size)
 Sends a block of data over the given socket.
std::ostream & operator<< (std::ostream &output, Clock &clock)
Coordinate< double > operator+ (int, const Coordinate< double > &)
Coordinate< double > operator- (int, const Coordinate< double > &)
Coordinate< double > operator* (int, const Coordinate< double > &)
Coordinate< double > operator/ (int, const Coordinate< double > &)
Coordinate< int > operator+ (double, const Coordinate< int > &)
Coordinate< int > operator- (double, const Coordinate< int > &)
Coordinate< int > operator* (double, const Coordinate< int > &)
Coordinate< int > operator/ (double, const Coordinate< int > &)
template<class T >
Coordinate< T > operator+ (T, const Coordinate< T > &coordinate)
template<class T >
Coordinate< T > operator- (T, const Coordinate< T > &coordinate)
template<class T >
Coordinate< T > operator* (T, const Coordinate< T > &coordinate)
template<class T >
Coordinate< T > operator/ (T, const Coordinate< T > &coordinate)
template<class T >
std::istream & operator>> (std::istream &, Coordinate< T > &)
 Reads Coordinate from input stream.
template<class T >
std::ostream & operator<< (std::ostream &, const Coordinate< T > &)
 Writes Coordinate to output stream.
template<class T >
TRTK::Coordinate< T > sqrt (const TRTK::Coordinate< T > &coordinate)
 Computes the square root of each element.
long long binomial (int n, int k)
 Returns the binomial coefficient "n choose k".
template<class T >
unsigned long distance (Iterator< T > first, Iterator< T > last)
template<class T , class InputIterator >
unsigned long distance (IteratorAdapter< T, InputIterator > first, IteratorAdapter< T, InputIterator > last)
template<class T >
double test (const int t)
template<class T >
std::tuple< Eigen::Matrix< T,
Eigen::Dynamic, Eigen::Dynamic >
, Eigen::Matrix< T,
Eigen::Dynamic, Eigen::Dynamic > > 
computeRQDecomposition (const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &A)
 RQ decomposition of a square matrix.

Variables

const double pi = 3.141592653589793238

Detailed Description

Namespace of the Transformation and Registration Toolkit.

A generic coordinate class.

This is the global namespace of the Transformation and Registration Toolkit. All functions and classes are surrounded by this namespace.

Template Parameters:
Tscalar type

Line3D represents an ordinary line that consists of one point on the line and normal vector. This line is represented in 3 dimensions. Its elements are of Coordinate<T> T and can be freely chosen, thus also allowing the use of classes with arbitrary precision (like CLN or GMP), for instance.

Here are some examples:

 using namespace TRTK;

 Line3D<T> line1(Coordinate<double> point(1, 0), Coordinate<double> direction(1, 0));
 Line3D<T> line2(Line3D<T> line1);

 Line3D<T> line3 = line1 * 3 ;

 !!cout << c3        << endl
  !!    << c3.norm() << endl
  !!    << (c3, 1)   << endl;

 !!

!! Output:

!!

 !!(3, 4)
 !!5
 !!(3, 4, 1)

 !!

TODO typedef Line3D<double> CoordinateD; typedef Coordinate<int> CoordinateI;


Function Documentation

template<class T >
std::tuple<Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic>, Eigen::Matrix<T, Eigen::Dynamic, Eigen::Dynamic> > TRTK::computeRQDecomposition ( const Eigen::Matrix< T, Eigen::Dynamic, Eigen::Dynamic > &  A )

RQ decomposition of a square matrix.

Template Parameters:
Tscalar (floating point) type
Parameters:
[in]Asquare matrix

This decomposition is unique if A is of full rank (i.e., if A is invertable). Then, R is computed in such a way that all diagonal elements are positive.

Note, this function computes the RQ decomposition of a square matrix and not the QR decomposition. The order of the orthogonal matrix and the upper triangular matrix is reversed.

Returns:
This function returns the tuple (R, Q).
References:
https://math.stackexchange.com/questions/1640695/rq-decomposition/1640762
Author:
Christoph Hänisch
Version:
1.0.0
Date:
last changed on 2019-05-22

Definition at line 75 of file PinholeCameraModel.hpp.

void TRTK::receive_all ( int  socket_fd,
char *&  data,
size_t &  size 
)

Receives a block of data from the given socket.

In case of an aborted connection the receiving process is resumed. The returned block of data must be deleted by the user!

Definition at line 73 of file ClientServer.cpp.

void TRTK::send_all ( int  socket_fd,
const char *  data,
size_t  size 
)

Sends a block of data over the given socket.

In case of an aborted connection the sending process is resumed. At most 65536 bytes can be sent, otherwise sending must be serialized.

Definition at line 152 of file ClientServer.cpp.

template<class T >
TRTK::Coordinate< T > TRTK::sqrt ( const TRTK::Coordinate< T > &  coordinate )

Computes the square root of each element.

Author:
Christoph Haenisch
Version:
0.1.0
Date:
last changed on 2013-08-19

Definition at line 1849 of file Coordinate.hpp.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines