![]() |
ImFusion SDK 4.3
|
#include <ImFusion/US/UltrasoundCalibrationInit.h>
Helper class for the geometric computations needed in the UltrasoundCalibrationWizardAlgorithm. More...
Helper class for the geometric computations needed in the UltrasoundCalibrationWizardAlgorithm.
The calibration wizard lets the user perform various primitive motions that are recorded into TrackingSequence objects. This class estimates the translation and rotation components of the final calibration matrix—the matrix between the tip of the ultrasound probe to the tracking target.
Example usage to estimate a calibration matrix:
After the forward and side axes are estimated, the up axis will automatically be estimated as well. The three axes are guaranteered to form an orthonormal basis.
Public Member Functions | |
| bool | computeForwardSweep (const TrackingSequence &forwardSweep) |
| Estimates forwardAxisWorld using a straight motion through the longitudinal axis (proximal to distal). | |
| bool | computeSideSweep (const TrackingSequence &sideSweep) |
| Estimates sideAxisWorld using a straight motion through the lateral axis (left to right). | |
| bool | computeSphereSweep (const TrackingSequence &lateral, const TrackingSequence &side, const TrackingSequence &up) |
| Takes all input tracking sequences, assumes all poses lie on a hemisphere and estimates, like in a pivot calibration, the translation. | |
| bool | flipImage () |
| Flips the image along the lateral axis. The rotation needs to have been estimated already. Call in case the main direction is opposite to the image normal. | |
| std::optional< vec3 > | forwardAxisWorld () |
| Returns the forward axis in world space, if it was possible to estimate it in computeForwardSweep. | |
| std::optional< vec3 > | sideAxisWorld () |
| Returns the side axis in world space, if it was possible to estimate it in computeSideSweep. | |
| std::optional< vec3 > | upAxisWorld () |
| Returns the up axis in world space, if it was possible to estimate the other two axes first. | |
| std::optional< vec3 > | translation () |
| Returns the translation offset, if it was possible to estimate it in computeSphereSweep. | |
| mat4 | matrix () const |
| Probe to tracker calibration matrix. | |
| void | clearSideSweep () |
| Clears the result of computeSideSweep. | |
| void | clearSphereSweep () |
| Clears the result of computeSphereSweep. | |