| User Documentation |
| Centre for Vision, Speech & Signal Processing |
| DEVELOP | IN NAMESPACE | AMMA TREE ROOT | AMMA SEARCH | AMMA HOME |
PUBLIC
SchmittC::SchmittC(CorrSetC,SArray1dC
SchmittC::~SchmittC(void)
SchmittC::SetExpectedRTs(SArray1dC
SchmittC::Solve(void)
| SchmittC | |
| The SchmittC class registers N point sets using Schmitt's method. | |
| include | "amma/Schmitt.hh" |
| User Level: | Default |
| Library: | Regis |
| Example: | testcom.cc |
| Section: | 3D Surface.Registration |
| In Scope: | std |
Comments:
The SchmittC class registers N point sets using Schmitt's method.
There are M overlapping sets of points (Schmitt's notation), which means that each view has a point set, so M is the number of views. The overlap between two different views, are subsets of the point sets belonging to each view, and this is a correspondence set.
Algorithm
- Calculate all constant matrices (Abar, Pbar, all Q's =Qr+Qt).
- Main Loop: While not converged do
-> Calculate all N^j's & hence the quaternions (rotations).
-> Calculate Bbar (diff between rotated centroids).
-> Calculate Xbar (translations).
-> Update Rigid Transforms.
-> Calculate MSE.
-> Determine if convergence has occurred.
The constructor allows guesses to be passed which will then be used to initialise the elements of rtsM. Each element being associated with a view.
The expected rigid transforms can be passed via the function SetExpectedRTs, which is only used for the calculation of delta theta.
Variables:|
Programmer: Simon Cunnington |