Probe calibration algorithm class.
More...
#include <src/PlusCalibration/vtkProbeCalibrationAlgo/vtkPlusProbeCalibrationAlgo.h>
|
PlusStatus | Calibrate (vtkIGSIOTrackedFrameList *validationTrackedFrameList, int validationStartFrame, int validationEndFrame, vtkIGSIOTrackedFrameList *calibrationTrackedFrameList, int calibrationStartFrame, int calibrationEndFrame, vtkIGSIOTransformRepository *transformRepository, const std::vector< PlusNWire > &nWires) |
|
PlusStatus | Calibrate (vtkIGSIOTrackedFrameList *validationTrackedFrameList, vtkIGSIOTrackedFrameList *calibrationTrackedFrameList, vtkIGSIOTransformRepository *transformRepository, const std::vector< PlusNWire > &nWires) |
|
void | ComputeError2d (const vnl_matrix_fixed< double, 4, 4 > &imageToProbeMatrix, double &errorMean, double &errorStDev, double &errorRms) |
|
void | ComputeError3d (const vnl_matrix_fixed< double, 4, 4 > &imageToProbeMatrix, double &errorMean, double &errorStDev, double &errorRms) |
|
virtual char * | GetCalibrationDate () |
|
PlusStatus | GetCalibrationReport (std::vector< double > *calibError, std::vector< double > *validError, vnl_matrix_fixed< double, 4, 4 > *imageToProbeTransformMatrix) |
|
double | GetCalibrationReprojectionError3DMean () |
|
double | GetCalibrationReprojectionError3DStdDev () |
|
virtual const char * | GetClassName () |
|
virtual char * | GetImageCoordinateFrame () |
|
void | GetImageToProbeTransformMatrix (vtkMatrix4x4 *imageToProbeMatrix) |
|
vtkPlusProbeCalibrationOptimizerAlgo * | GetOptimizer () |
|
virtual char * | GetPhantomCoordinateFrame () |
|
virtual char * | GetProbeCoordinateFrame () |
|
virtual char * | GetReferenceCoordinateFrame () |
|
std::string | GetResultString (int precision=3) |
|
double | GetValidationReprojectionError3DMean () |
|
double | GetValidationReprojectionError3DStdDev () |
|
PlusStatus | GetXMLCalibrationResultAndErrorReport (vtkIGSIOTrackedFrameList *validationTrackedFrameList, int validationStartFrame, int validationEndFrame, vtkIGSIOTrackedFrameList *calibrationTrackedFrameList, int calibrationStartFrame, int calibrationEndFrame, vtkXMLDataElement *probeCalibrationResult) |
|
virtual int | IsA (const char *type) |
|
virtual void | PrintSelf (ostream &os, vtkIndent indent) |
|
PlusStatus | ReadConfiguration (vtkXMLDataElement *aConfig) |
|
virtual void | SetCalibrationDate (const char *) |
|
|
PlusStatus | AddPositionsPerImage (igsioTrackedFrame *trackedFrame, vtkIGSIOTransformRepository *transformRepository, PreProcessedWirePositionIdType datasetType) |
|
void | ComputeError2d (PreProcessedWirePositionIdType datasetType, const vnl_matrix_fixed< double, 4, 4 > &imageToProbeMatrix, double &errorMean, double &errorStDev, double &errorRms, std::vector< std::vector< vnl_vector_fixed< double, 2 > > > *ReprojectionError2Ds=NULL) |
|
void | ComputeError3d (std::vector< double > &reprojectionErrors, PreProcessedWirePositionIdType datasetType, const vnl_matrix_fixed< double, 4, 4 > &imageToProbeMatrix) |
|
PlusStatus | ComputeImageToProbeTransformByLinearLeastSquaresMethod (vnl_matrix_fixed< double, 4, 4 > &imageToProbeTransformMatrix, std::set< int > &outliers) |
|
PlusStatus | ComputeReprojectionErrors2D (PreProcessedWirePositionIdType datasetType, const vnl_matrix_fixed< double, 4, 4 > &imageToProbeTransformMatrix) |
|
PlusStatus | ComputeReprojectionErrors3D (PreProcessedWirePositionIdType datasetType, const vnl_matrix_fixed< double, 4, 4 > &imageToProbeTransformMatrix) |
|
PlusStatus | SaveCalibrationResultAndErrorReportToXML (vtkIGSIOTrackedFrameList *validationTrackedFrameList, int validationStartFrame, int validationEndFrame, vtkIGSIOTrackedFrameList *calibrationTrackedFrameList, int calibrationStartFrame, int calibrationEndFrame) |
|
void | SetAndValidateImageToProbeTransform (const vnl_matrix_fixed< double, 4, 4 > &imageToProbeTransformMatrix, vtkIGSIOTransformRepository *transformRepository) |
|
virtual void | SetImageCoordinateFrame (const char *) |
|
virtual void | SetPhantomCoordinateFrame (const char *) |
|
virtual void | SetProbeCoordinateFrame (const char *) |
|
virtual void | SetReferenceCoordinateFrame (const char *) |
|
void | UpdateNonOutlierData (const std::set< int > &outliers) |
|
| vtkPlusProbeCalibrationAlgo () |
|
virtual | ~vtkPlusProbeCalibrationAlgo () |
|
|
static double | PointToWireDistance (const vnl_double_3 &aPoint, const vnl_double_3 &aLineEndPoint1, const vnl_double_3 &aLineEndPoint2) |
|
Probe calibration algorithm class.
Definition at line 32 of file vtkPlusProbeCalibrationAlgo.h.
◆ Superclass
◆ PreProcessedWirePositionIdType
◆ vtkPlusProbeCalibrationAlgo()
vtkPlusProbeCalibrationAlgo::vtkPlusProbeCalibrationAlgo |
( |
| ) |
|
|
protected |
◆ ~vtkPlusProbeCalibrationAlgo()
vtkPlusProbeCalibrationAlgo::~vtkPlusProbeCalibrationAlgo |
( |
| ) |
|
|
protectedvirtual |
◆ AddPositionsPerImage()
Calculate and add positions of an individual image for calibration or validation
- Parameters
-
trackedFrame | The actual tracked frame (already segmented) to add for calibration or validation |
transformRepository | Transform repository object to be able to get the default transform |
isValidation | Flag whether the added data is for calibration or validation |
Definition at line 369 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ Calibrate() [1/2]
PlusStatus vtkPlusProbeCalibrationAlgo::Calibrate |
( |
vtkIGSIOTrackedFrameList * |
validationTrackedFrameList, |
|
|
int |
validationStartFrame, |
|
|
int |
validationEndFrame, |
|
|
vtkIGSIOTrackedFrameList * |
calibrationTrackedFrameList, |
|
|
int |
calibrationStartFrame, |
|
|
int |
calibrationEndFrame, |
|
|
vtkIGSIOTransformRepository * |
transformRepository, |
|
|
const std::vector< PlusNWire > & |
nWires |
|
) |
| |
Run calibration algorithm on the two input frame lists. It uses only a certain range of the input sequences (so it is possible to use the same sequence but different sections of it).
- Parameters
-
validationTrackedFrameList | TrackedFrameList with segmentation results for the validation |
validationStartFrame | First frame that is used from the validation tracked frame list for the validation (in case of -1 it starts with the first) |
validationEndFrame | Last frame that is used from the validation tracked frame list for the validation (in case of -1 it starts with the last) |
calibrationTrackedFrameList | TrackedFrameList with segmentation results for the calibration |
calibrationStartFrame | First frame that is used from the calibration tracked frame list for the calibration (in case of -1 it starts with the first) |
calibrationEndFrame | Last frame that is used from the calibration tracked frame list for the calibration (in case of -1 it starts with the last) |
transformRepository | Transform repository object to be able to get the default transform |
nWires | NWire structure that contains the computed imaginary intersections. It used to determine the computed position |
Definition at line 208 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ Calibrate() [2/2]
PlusStatus vtkPlusProbeCalibrationAlgo::Calibrate |
( |
vtkIGSIOTrackedFrameList * |
validationTrackedFrameList, |
|
|
vtkIGSIOTrackedFrameList * |
calibrationTrackedFrameList, |
|
|
vtkIGSIOTransformRepository * |
transformRepository, |
|
|
const std::vector< PlusNWire > & |
nWires |
|
) |
| |
Run calibration algorithm on the two input frame lists (uses every frame in the two sequences)
- Parameters
-
validationTrackedFrameList | TrackedFrameList with segmentation results for the validation |
calibrationTrackedFrameList | TrackedFrameList with segmentation results for the calibration |
transformRepository | Transform repository object to be able to get the default transform |
nWires | NWire structure that contains the computed imaginary intersections. It used to determine the computed position |
Definition at line 89 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ ComputeError2d() [1/2]
void vtkPlusProbeCalibrationAlgo::ComputeError2d |
( |
const vnl_matrix_fixed< double, 4, 4 > & |
imageToProbeMatrix, |
|
|
double & |
errorMean, |
|
|
double & |
errorStDev, |
|
|
double & |
errorRms |
|
) |
| |
◆ ComputeError2d() [2/2]
void vtkPlusProbeCalibrationAlgo::ComputeError2d |
( |
PreProcessedWirePositionIdType |
datasetType, |
|
|
const vnl_matrix_fixed< double, 4, 4 > & |
imageToProbeMatrix, |
|
|
double & |
errorMean, |
|
|
double & |
errorStDev, |
|
|
double & |
errorRms, |
|
|
std::vector< std::vector< vnl_vector_fixed< double, 2 > > > * |
ReprojectionError2Ds = NULL |
|
) |
| |
|
protected |
◆ ComputeError3d() [1/2]
void vtkPlusProbeCalibrationAlgo::ComputeError3d |
( |
const vnl_matrix_fixed< double, 4, 4 > & |
imageToProbeMatrix, |
|
|
double & |
errorMean, |
|
|
double & |
errorStDev, |
|
|
double & |
errorRms |
|
) |
| |
◆ ComputeError3d() [2/2]
void vtkPlusProbeCalibrationAlgo::ComputeError3d |
( |
std::vector< double > & |
reprojectionErrors, |
|
|
PreProcessedWirePositionIdType |
datasetType, |
|
|
const vnl_matrix_fixed< double, 4, 4 > & |
imageToProbeMatrix |
|
) |
| |
|
protected |
◆ ComputeImageToProbeTransformByLinearLeastSquaresMethod()
PlusStatus vtkPlusProbeCalibrationAlgo::ComputeImageToProbeTransformByLinearLeastSquaresMethod |
( |
vnl_matrix_fixed< double, 4, 4 > & |
imageToProbeTransformMatrix, |
|
|
std::set< int > & |
outliers |
|
) |
| |
|
protected |
- Parameters
-
outliers | indices of the measurement points that was found to be an outlier when computing any matrix row |
Definition at line 97 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ ComputeReprojectionErrors2D()
Calculate 2D reprojection errors
- Parameters
-
trackedFrameList | Tracked frame list for validation |
startFrame | First frame that is used from the tracked frame list for the error computation (in case of -1 it starts with the first) |
endFrame | Last frame that is used from the tracked frame list for the error computation (in case of -1 it starts with the last) |
transformRepository | Transform repository object to be able to get the default transform |
isValidation | Flag whether the input tracked frame list is of calibration or validation |
Definition at line 577 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ ComputeReprojectionErrors3D()
Calculate 3D reprojection errors
- Parameters
-
trackedFrameList | Tracked frame list for error computation |
startFrame | First frame that is used from the tracked frame list for the error computation (in case of -1 it starts with the first) |
endFrame | Last frame that is used from the tracked frame list for the error computation (in case of -1 it starts with the last) |
transformRepository | Transform repository object to be able to get the default transform |
isValidation | Flag whether the input tracked frame list is of calibration or validation |
Definition at line 550 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ GetCalibrationDate()
virtual char* vtkPlusProbeCalibrationAlgo::GetCalibrationDate |
( |
| ) |
|
|
virtual |
Get the calibration date and time in string format
◆ GetCalibrationReport()
PlusStatus vtkPlusProbeCalibrationAlgo::GetCalibrationReport |
( |
std::vector< double > * |
calibError, |
|
|
std::vector< double > * |
validError, |
|
|
vnl_matrix_fixed< double, 4, 4 > * |
imageToProbeTransformMatrix |
|
) |
| |
◆ GetCalibrationReprojectionError3DMean()
double vtkPlusProbeCalibrationAlgo::GetCalibrationReprojectionError3DMean |
( |
| ) |
|
Get the mean 3D out-of-plane error (OPE), computed from all calibration frames, taking into account the confidence interval.
Definition at line 1149 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ GetCalibrationReprojectionError3DStdDev()
double vtkPlusProbeCalibrationAlgo::GetCalibrationReprojectionError3DStdDev |
( |
| ) |
|
Get the 3D out-of-plane error (OPE) standard deviation, computed from all calibration frames, taking into account the confidence interval.
Definition at line 1155 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ GetClassName()
virtual const char* vtkPlusProbeCalibrationAlgo::GetClassName |
( |
| ) |
|
|
virtual |
◆ GetImageCoordinateFrame()
virtual char* vtkPlusProbeCalibrationAlgo::GetImageCoordinateFrame |
( |
| ) |
|
|
virtual |
Get the image coordinate frame name
◆ GetImageToProbeTransformMatrix()
void vtkPlusProbeCalibrationAlgo::GetImageToProbeTransformMatrix |
( |
vtkMatrix4x4 * |
imageToProbeMatrix | ) |
|
◆ GetOptimizer()
◆ GetPhantomCoordinateFrame()
virtual char* vtkPlusProbeCalibrationAlgo::GetPhantomCoordinateFrame |
( |
| ) |
|
|
virtual |
Get the phantom coordinate frame name
◆ GetProbeCoordinateFrame()
virtual char* vtkPlusProbeCalibrationAlgo::GetProbeCoordinateFrame |
( |
| ) |
|
|
virtual |
Get the probe coordinate frame name
◆ GetReferenceCoordinateFrame()
virtual char* vtkPlusProbeCalibrationAlgo::GetReferenceCoordinateFrame |
( |
| ) |
|
|
virtual |
Get the reference coordinate frame name
◆ GetResultString()
std::string vtkPlusProbeCalibrationAlgo::GetResultString |
( |
int |
precision = 3 | ) |
|
Assembles the result string to display
- Parameters
-
precision | Number of decimals printed in the string |
- Returns
- String containing results
Definition at line 617 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ GetValidationReprojectionError3DMean()
double vtkPlusProbeCalibrationAlgo::GetValidationReprojectionError3DMean |
( |
| ) |
|
Get the mean 3D out-of-plane error (OPE), computed from all validation frames, taking into account the confidence interval.
Definition at line 1161 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ GetValidationReprojectionError3DStdDev()
double vtkPlusProbeCalibrationAlgo::GetValidationReprojectionError3DStdDev |
( |
| ) |
|
Get the 3D out-of-plane error (OPE) standard deviation, computed from all validation frames, taking into account the confidence interval.
Definition at line 1167 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ GetXMLCalibrationResultAndErrorReport()
PlusStatus vtkPlusProbeCalibrationAlgo::GetXMLCalibrationResultAndErrorReport |
( |
vtkIGSIOTrackedFrameList * |
validationTrackedFrameList, |
|
|
int |
validationStartFrame, |
|
|
int |
validationEndFrame, |
|
|
vtkIGSIOTrackedFrameList * |
calibrationTrackedFrameList, |
|
|
int |
calibrationStartFrame, |
|
|
int |
calibrationEndFrame, |
|
|
vtkXMLDataElement * |
probeCalibrationResult |
|
) |
| |
Get calibration result and error report in XML format
- Parameters
-
validationTrackedFrameList | TrackedFrameList with segmentation results for the validation |
validationStartFrame | First frame that is used from the validation tracked frame list for the validation (in case of -1 it starts with the first) |
validationEndFrame | Last frame that is used from the validation tracked frame list for the validation (in case of -1 it starts with the last) |
calibrationTrackedFrameList | TrackedFrameList with segmentation results for the calibration |
calibrationStartFrame | First frame that is used from the calibration tracked frame list for the calibration (in case of -1 it starts with the first) |
calibrationEndFrame | Last frame that is used from the calibration tracked frame list for the calibration (in case of -1 it starts with the last) |
probeCalibrationResult | Output XML data element |
Definition at line 690 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ IsA()
virtual int vtkPlusProbeCalibrationAlgo::IsA |
( |
const char * |
type | ) |
|
|
virtual |
◆ IsTypeOf()
static int vtkPlusProbeCalibrationAlgo::IsTypeOf |
( |
const char * |
type | ) |
|
|
static |
◆ New()
◆ PointToWireDistance()
double vtkPlusProbeCalibrationAlgo::PointToWireDistance |
( |
const vnl_double_3 & |
aPoint, |
|
|
const vnl_double_3 & |
aLineEndPoint1, |
|
|
const vnl_double_3 & |
aLineEndPoint2 |
|
) |
| |
|
staticprotected |
◆ PrintSelf()
void vtkPlusProbeCalibrationAlgo::PrintSelf |
( |
ostream & |
os, |
|
|
vtkIndent |
indent |
|
) |
| |
|
virtual |
◆ ReadConfiguration()
PlusStatus vtkPlusProbeCalibrationAlgo::ReadConfiguration |
( |
vtkXMLDataElement * |
aConfig | ) |
|
Read XML based configuration of the calibration controller
- Parameters
-
aConfig | Root element of device set configuration data |
Definition at line 68 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ SafeDownCast()
◆ SaveCalibrationResultAndErrorReportToXML()
PlusStatus vtkPlusProbeCalibrationAlgo::SaveCalibrationResultAndErrorReportToXML |
( |
vtkIGSIOTrackedFrameList * |
validationTrackedFrameList, |
|
|
int |
validationStartFrame, |
|
|
int |
validationEndFrame, |
|
|
vtkIGSIOTrackedFrameList * |
calibrationTrackedFrameList, |
|
|
int |
calibrationStartFrame, |
|
|
int |
calibrationEndFrame |
|
) |
| |
|
protected |
◆ SetAndValidateImageToProbeTransform()
void vtkPlusProbeCalibrationAlgo::SetAndValidateImageToProbeTransform |
( |
const vnl_matrix_fixed< double, 4, 4 > & |
imageToProbeTransformMatrix, |
|
|
vtkIGSIOTransformRepository * |
transformRepository |
|
) |
| |
|
protected |
Set ImageToProbe calibration result matrix and validate it. It doesn't modify the original transform to make the rotation orthogonal
- Parameters
-
imageToProbeTransformMatrix | the calculated image to probe matrix |
transformRepository | the transform repository to populate |
Definition at line 518 of file vtkPlusProbeCalibrationAlgo.cxx.
◆ SetCalibrationDate()
virtual void vtkPlusProbeCalibrationAlgo::SetCalibrationDate |
( |
const char * |
| ) |
|
|
virtual |
Set the calibration date and time in string format
◆ SetImageCoordinateFrame()
virtual void vtkPlusProbeCalibrationAlgo::SetImageCoordinateFrame |
( |
const char * |
| ) |
|
|
protectedvirtual |
Set the image coordinate frame name
◆ SetPhantomCoordinateFrame()
virtual void vtkPlusProbeCalibrationAlgo::SetPhantomCoordinateFrame |
( |
const char * |
| ) |
|
|
protectedvirtual |
Set the phantom coordinate frame name
◆ SetProbeCoordinateFrame()
virtual void vtkPlusProbeCalibrationAlgo::SetProbeCoordinateFrame |
( |
const char * |
| ) |
|
|
protectedvirtual |
Set the probe coordinate frame name
◆ SetReferenceCoordinateFrame()
virtual void vtkPlusProbeCalibrationAlgo::SetReferenceCoordinateFrame |
( |
const char * |
| ) |
|
|
protectedvirtual |
Set the reference coordinate frame name
◆ UpdateNonOutlierData()
void vtkPlusProbeCalibrationAlgo::UpdateNonOutlierData |
( |
const std::set< int > & |
outliers | ) |
|
|
protected |
◆ CalibrationDate
char* vtkPlusProbeCalibrationAlgo::CalibrationDate |
|
protected |
◆ ErrorConfidenceLevel
double vtkPlusProbeCalibrationAlgo::ErrorConfidenceLevel |
|
protected |
Confidence level (trusted zone) as a percentage of the independent validation data used to produce the final error computation results. It serves as an effective way to get rid of corrupted data (or outliers) in the validation dataset. Default value: 0.95 (or 95%), meaning the top ranked 95% of the ascendingly-ordered PRE values from the validation data would be accepted as the valid PRE values.
Definition at line 315 of file vtkPlusProbeCalibrationAlgo.h.
◆ ImageCoordinateFrame
char* vtkPlusProbeCalibrationAlgo::ImageCoordinateFrame |
|
protected |
◆ ImageToProbeTransformMatrix
vnl_matrix_fixed<double, 4, 4> vtkPlusProbeCalibrationAlgo::ImageToProbeTransformMatrix |
|
protected |
◆ NWires
std::vector<PlusNWire> vtkPlusProbeCalibrationAlgo::NWires |
|
protected |
◆ Optimizer
◆ PhantomCoordinateFrame
char* vtkPlusProbeCalibrationAlgo::PhantomCoordinateFrame |
|
protected |
◆ PreProcessedWirePositions
◆ ProbeCoordinateFrame
char* vtkPlusProbeCalibrationAlgo::ProbeCoordinateFrame |
|
protected |
◆ ReferenceCoordinateFrame
char* vtkPlusProbeCalibrationAlgo::ReferenceCoordinateFrame |
|
protected |
The documentation for this class was generated from the following files: