32 #ifndef CENTERLINEREGISTRATION_H_ 33 #define CENTERLINEREGISTRATION_H_ 38 #include "org_custusx_registration_method_centerline_Export.h" 42 #include <vtkSmartPointer.h> 43 #include <vtkPoints.h> 44 #include <vtkPolyData.h> 45 #include <vtkLandmarkTransform.h> 47 #include <itkEuler3DTransform.h> 48 #include <itkEuclideanDistancePointMetric.h> 49 #include <itkLevenbergMarquardtOptimizer.h> 50 #include <itkPointSetToPointSetRegistrationMethod.h> 51 #include <itkPointSet.h> 54 typedef std::vector< Eigen::Matrix4d >
M4Vector;
75 typedef itk::EuclideanDistancePointMetric<
82 typedef itk::PointSetToPointSetRegistrationMethod<
87 vtkPointsPtr smoothPositions(vtkPointsPtr centerline);
88 void UpdateScales(
bool xRot,
bool yRot,
bool zRot,
bool xTrans,
bool yTrans,
bool zTrans);
89 void SetFixedPoints(vtkPointsPtr points);
90 void SetMovingPoints(vtkPointsPtr points);
92 vtkPointsPtr processCenterline(vtkPolyDataPtr centerline,
Transform3D rMd);
93 vtkPointsPtr ConvertTrackingDataToVTK(TimedTransformMap trackingData_prMt,
Transform3D rMpr);
98 PointSetType::Pointer mFixedPointSet;
99 PointSetType::Pointer mMovingPointSet;
101 RegistrationType::Pointer mRegistration;
102 TransformType::Pointer mTransform;
104 bool mRegistrationUpdated;
105 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.