Interface for a Surface Based Registration Service.
Note: All errors should thrown as mitk::Exception or sub-classes thereof.
virtual double niftk::SurfaceRegServiceI::Register |
( |
const mitk::DataNode::Pointer |
fixedDataSet, |
|
|
const mitk::DataNode::Pointer |
movingDataSet, |
|
|
vtkMatrix4x4 & |
matrix |
|
) |
| const |
|
pure virtual |
Does Surface Based Registration.
- Parameters
-
matrix | output matrix to transform moving points to fixed points. |
- Returns
- RMS residual error (RMS error for each movingDataSet point)
- Exceptions
-
mitk::Exception | for all errors |
Note: DataNode could contain mitk::PointSet, mitk::Surface or other. Its up to the service to validate and throw mitk::Exception if incorrect.
Also, implementors should consider what the implications of copying/re-formatting data are. Data-sets can be large, and hence copy operations can be slow. Either way, its up to the implementor of each service to consider efficiency and statefulness.
Implemented in niftk::ICPRegServiceRAII, and niftk::ICPRegService.