SLAM
Veřejné metody | Privátní metody | Privátní atributy | Seznam všech členů
Dokumentace třídy PointSetRegistration

Třída provádějící zarovnávání mračen bodů. ...

#include <pointsetregistration.h>

Diagram dědičnosti pro třídu PointSetRegistration

Veřejné metody

void setAreas (area_t *first, area_t *second)
 Vložení oblastí, na kterých bude prováděna registrace. ...
 
void setMatrices (mat &first, mat &second)
 Vložení referancí na oblasti, reprezentovány maticemi. Na těchto oblastech bude prováděna registrace. ...
 
void start (area_t &result)
 Start registračního algoritmu. ...
 
void start (mat &result)
 Start registračního algoritmu pro oblasti zadané maticemi. ...
 

Privátní metody

normalization_t normalize (mat &first, mat &second)
 Normalizace na bezrozměrné veličiny, mračen bodů. ...
 
void inicialization (area_t *areaFirst, area_t *areaSecond)
 Inicializace registračního algoritmu. ...
 
void inicialization (mat &first, mat &second)
 Inicializace pro oblasti (mračna bodů) zadané maticemi. ...
 
void denormalize (mat &result, const normalization_t &normal) const
 Denormalizace mračen bodů. ...
 
void startAlgorithm (mat &T)
 Samotná registrace mračen bodů. ...
 
double scale (const mat &mat)
 Výpočet měřítka při normalizaci. ...
 
double vectorSize (const vec &vec1, const vec &vec2)
 Velikost vektoru, daného dvěmi body. ...
 
double find_P (const mat &X, const mat &Y, double sigma2, float outliers, vec &P1, vec &Pt1, mat &PX)
 Algoritmus k hledání produktů matice P. Pro více info viz. dokumentace k FGT. ...
 

Privátní atributy

mat rotationMatrixR
 
mat corespondenceMatrixP
 
mat firstSetOfPoints
 
mat secondSetOfPoints
 
vec translationT
 
double sigma
 
area_tfirst
 
area_tsecond
 

Detailní popis

Třída provádějící zarovnávání mračen bodů.

Implementovaná metoda Souvislého posunu bodů.

Dokumentace k metodám

void PointSetRegistration::denormalize ( mat &  result,
const normalization_t normal 
) const
private

Denormalizace mračen bodů.

Parametry
result- Mračno bodů k denormalizaci.
normal- Normalizační parametry.
double PointSetRegistration::find_P ( const mat &  X,
const mat &  Y,
double  sigma2,
float  outliers,
vec &  P1,
vec &  Pt1,
mat &  PX 
)
private

Algoritmus k hledání produktů matice P. Pro více info viz. dokumentace k FGT.

Parametry
X- První mračno bodů.
Y- Druhé mračno bodů.
sigma2- Aktuální rozptyl.
outliers- Kolik procent bodů jsou tzv. outliers.
P1- Výsledný produkt FGT.
Pt1- Výsledný produkt FGT.
PX- Výsledný produkt FGT.
Návratová hodnota
Míra o kolik se mračno pohlo.
void PointSetRegistration::inicialization ( area_t areaFirst,
area_t areaSecond 
)
private

Inicializace registračního algoritmu.

Odřízne se přebytečne body, aby oba mračna měla stejný počet bodů. Překopírování hodnot do matic.

Parametry
areaFirst- První oblast.
areaSecond- Druhá oblast.
void PointSetRegistration::inicialization ( mat &  first,
mat &  second 
)
private

Inicializace pro oblasti (mračna bodů) zadané maticemi.

Parametry
first- První oblast.
second- Druhá oblast.
normalization_t PointSetRegistration::normalize ( mat &  first,
mat &  second 
)
private

Normalizace na bezrozměrné veličiny, mračen bodů.

Parametry
first- První mračno bodů.
second- Druhé mračno bodů.
Návratová hodnota
Parametry výsledné normalizace.
double PointSetRegistration::scale ( const mat &  mat)
private

Výpočet měřítka při normalizaci.

Parametry
mat- Mračno bodů.
Návratová hodnota
Výsledné měřítko.
void PointSetRegistration::setAreas ( area_t first,
area_t second 
)

Vložení oblastí, na kterých bude prováděna registrace.

Parametry
first- První směrník na oblast.
second- Druhý směrník na oblast.
void PointSetRegistration::setMatrices ( mat &  first,
mat &  second 
)

Vložení referancí na oblasti, reprezentovány maticemi. Na těchto oblastech bude prováděna registrace.

Parametry
first- První reference na oblast.
second- Druhá reference na oblast.
void PointSetRegistration::start ( area_t result)

Start registračního algoritmu.

V první fázi probíhá normalizace matic na bezrozměrné hodnoty. Následně se vypočítá rozptyl sigma a spustí se registrace. Výsledek registrace, matice T se nakonec denormalizuje a vrátí se jako oblast area_t.

Parametry
result- Transformovaná (zarovnaná) oblast.
void PointSetRegistration::start ( mat &  result)

Start registračního algoritmu pro oblasti zadané maticemi.

Pro více informací viz. PointSetRegistration::start(area_t &result).

Parametry
result- Zarovnaná oblast reprezentována maticí.
void PointSetRegistration::startAlgorithm ( mat &  T)
private

Samotná registrace mračen bodů.

Na začátku probíha inicializace, potom se spouští registrace ve smyčce while s ukončovacími podmínkami. V každém kroce se vypočítá P, A, R, s, t, T.

Parametry
T- Výsledné zarovnané mračno bodů.
double PointSetRegistration::vectorSize ( const vec &  vec1,
const vec &  vec2 
)
private

Velikost vektoru, daného dvěmi body.

Parametry
vec1- První bod (řádek matice).
vec2- Druhý bod (řádek matice).
Návratová hodnota
Výsledná velikost vektoru.

Dokumentace pro tuto třídu byla generována z následujících souborů: