11 #ifndef CENTERLINEREGISTRATION_H_ 12 #define CENTERLINEREGISTRATION_H_ 17 #include "org_custusx_registration_method_centerline_Export.h" 21 #include <vtkSmartPointer.h> 22 #include <vtkPoints.h> 23 #include <vtkPolyData.h> 24 #include <vtkLandmarkTransform.h> 26 #include <itkEuler3DTransform.h> 27 #include <itkEuclideanDistancePointMetric.h> 28 #include <itkLevenbergMarquardtOptimizer.h> 29 #include <itkPointSetToPointSetRegistrationMethod.h> 30 #include <itkPointSet.h> 33 typedef std::vector< Eigen::Matrix4d >
M4Vector;
54 typedef itk::EuclideanDistancePointMetric<
61 typedef itk::PointSetToPointSetRegistrationMethod<
66 vtkPointsPtr smoothPositions(vtkPointsPtr centerline);
67 void UpdateScales(
bool xRot,
bool yRot,
bool zRot,
bool xTrans,
bool yTrans,
bool zTrans);
68 void SetFixedPoints(vtkPointsPtr points);
69 void SetMovingPoints(vtkPointsPtr points);
71 vtkPointsPtr processCenterline(vtkPolyDataPtr centerline,
Transform3D rMd);
72 vtkPointsPtr ConvertTrackingDataToVTK(TimedTransformMap trackingData_prMt,
Transform3D rMpr);
77 PointSetType::Pointer mFixedPointSet;
78 PointSetType::Pointer mMovingPointSet;
80 RegistrationType::Pointer mRegistration;
81 TransformType::Pointer mTransform;
83 bool mRegistrationUpdated;
84 OptimizerType::Pointer mOptimizer;
itk::PointSetToPointSetRegistrationMethod< PointSetType, PointSetType > RegistrationType
PointSetType::PointType PointType
PointsContainer::Iterator PointsIterator
Transform3D Transform3D
Transform3D is a representation of an affine 3D transform.
vtkSmartPointer< vtkPoints > vtkPointsPtr
vtkPointsPtr convertTovtkPoints(Eigen::MatrixXd positions)
itk::LevenbergMarquardtOptimizer OptimizerType
itk::EuclideanDistancePointMetric< PointSetType, PointSetType > MetricType
std::vector< Eigen::Matrix4d > M4Vector
vtkSmartPointer< vtkPolyData > vtkPolyDataPtr
itk::Euler3DTransform< double > TransformType
itk::PointSet< float, 3 > PointSetType
vtkSmartPointer< vtkDoubleArray > vtkDoubleArrayPtr
PointSetType::PointsContainerPointer PointsContainerPtr
std::vector< Eigen::Matrix4d > M4Vector
PointSetType::PointsContainer PointsContainer
Eigen::Matrix4d registrationAlgorithm(BranchListPtr branches, M4Vector Tnavigation, Transform3D old_rMpr)
std::map< double, Transform3D > TimedTransformMap
Namespace for all CustusX production code.