NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Member Functions | Protected Member Functions | List of all members
niftk::SurfaceRegServiceI Class Referenceabstract

Interface for a Surface Based Registration Service. More...

Inheritance diagram for niftk::SurfaceRegServiceI:
Inheritance graph
[legend]

Public Member Functions

virtual double Register (const mitk::DataNode::Pointer fixedDataSet, const mitk::DataNode::Pointer movingDataSet, vtkMatrix4x4 &matrix) const =0
 Does Surface Based Registration. More...
 

Protected Member Functions

 SurfaceRegServiceI ()
 
virtual ~SurfaceRegServiceI ()
 

Detailed Description

Interface for a Surface Based Registration Service.

Note: All errors should thrown as mitk::Exception or sub-classes thereof.

Constructor & Destructor Documentation

niftk::SurfaceRegServiceI::SurfaceRegServiceI ( )
protected
niftk::SurfaceRegServiceI::~SurfaceRegServiceI ( )
protectedvirtual

Member Function Documentation

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
matrixoutput matrix to transform moving points to fixed points.
Returns
RMS residual error (RMS error for each movingDataSet point)
Exceptions
mitk::Exceptionfor 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.


The documentation for this class was generated from the following files: