PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
List of all members | Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
vtkPlusPivotCalibrationAlgo Class Reference

Pivot calibration algorithm to calibrate a stylus. It determines the pose of the stylus tip relative to the marker attached to the stylus. More...

#include <src/PlusCalibration/vtkPivotCalibrationAlgo/vtkPlusPivotCalibrationAlgo.h>

Inheritance diagram for vtkPlusPivotCalibrationAlgo:
Inheritance graph
[legend]
Collaboration diagram for vtkPlusPivotCalibrationAlgo:
Collaboration graph
[legend]

Public Types

typedef vtkIGSIOPivotCalibrationAlgo Superclass
 

Public Member Functions

virtual const char * GetClassName ()
 
virtual int IsA (const char *type)
 
PlusStatus ReadConfiguration (vtkXMLDataElement *aConfig) override
 

Static Public Member Functions

static int IsTypeOf (const char *type)
 
static vtkPlusPivotCalibrationAlgoNew ()
 
static vtkPlusPivotCalibrationAlgoSafeDownCast (vtkObject *o)
 

Protected Member Functions

 vtkPlusPivotCalibrationAlgo ()
 
virtual ~vtkPlusPivotCalibrationAlgo ()
 

Detailed Description

Pivot calibration algorithm to calibrate a stylus. It determines the pose of the stylus tip relative to the marker attached to the stylus.

The stylus tip position is computed by robust LSQR method, which detects and ignores outliers (that have much larger reprojection error than other points).

The stylus pose is computed assuming that the marker is attached on the center of one of the stylus axes, which is often a good approximation. The axis that points towards the marker is the PivotPoint coordinate system's -Z axis (so that points in front of the stylus have positive Z coordinates in the PivotPoint coordinate system). The X axis of the PivotPoint coordinate system is aligned with the marker coordinate system's X axis (unless the Z axis of the PivotPoint coordinate system is parallel with the marker coordinate system's X axis; in this case the X axis of the PivotPoint coordinate system is aligned with the marker coordinate system's Y axis). The Y axis of the PivotPoint coordinate system is chosen to be the cross product of the Z and X axes.

The method detects outlier points (points that have larger than 3x error than the standard deviation) and ignores them when computing the pivot point coordinates and the calibration error.

Definition at line 37 of file vtkPlusPivotCalibrationAlgo.h.

Member Typedef Documentation

◆ Superclass

typedef vtkIGSIOPivotCalibrationAlgo vtkPlusPivotCalibrationAlgo::Superclass

Definition at line 40 of file vtkPlusPivotCalibrationAlgo.h.

Constructor & Destructor Documentation

◆ vtkPlusPivotCalibrationAlgo()

vtkPlusPivotCalibrationAlgo::vtkPlusPivotCalibrationAlgo ( )
protected

Definition at line 12 of file vtkPlusPivotCalibrationAlgo.cxx.

◆ ~vtkPlusPivotCalibrationAlgo()

vtkPlusPivotCalibrationAlgo::~vtkPlusPivotCalibrationAlgo ( )
protectedvirtual

Definition at line 17 of file vtkPlusPivotCalibrationAlgo.cxx.

Member Function Documentation

◆ GetClassName()

virtual const char* vtkPlusPivotCalibrationAlgo::GetClassName ( )
virtual

◆ IsA()

virtual int vtkPlusPivotCalibrationAlgo::IsA ( const char *  type)
virtual

◆ IsTypeOf()

static int vtkPlusPivotCalibrationAlgo::IsTypeOf ( const char *  type)
static

◆ New()

static vtkPlusPivotCalibrationAlgo* vtkPlusPivotCalibrationAlgo::New ( )
static

◆ ReadConfiguration()

PlusStatus vtkPlusPivotCalibrationAlgo::ReadConfiguration ( vtkXMLDataElement *  aConfig)
override

Read configuration

Parameters
aConfigRoot element of the device set configuration

Definition at line 22 of file vtkPlusPivotCalibrationAlgo.cxx.

◆ SafeDownCast()

static vtkPlusPivotCalibrationAlgo* vtkPlusPivotCalibrationAlgo::SafeDownCast ( vtkObject *  o)
static

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