Lite3DReg / cpp /core /rigid_fricp_registration.h
duanbotu123
Initial commit: add index.html
f6dd1c2
#ifndef FRICP_H
#define FRICP_H
#include <AndersonAcceleration.h>
#define TUPLE_SCALE 0.95
#define TUPLE_MAX_CNT 1000
#include "registration.h"
class RigidFricpRegistration:public Registration
{
public:
RigidFricpRegistration(){};
~RigidFricpRegistration(){};
std::string file_init_ ;
VectorN source_mean_, target_mean_;
double time;
ICP::Parameters pars;
void use_init_transform(bool a);
AffineMatrix3 LogMatrix(const AffineMatrix3& T);
Affine3d point_to_point(Matrix3X& X,
Matrix3X& Y,
const VectorX& w) ;
Eigen::Affine3d point_to_plane(Eigen::Matrix3Xd& X,
Eigen::Matrix3Xd& Y,
const Eigen::Matrix3Xd& Norm,
const Eigen::VectorXd& w,
const Eigen::VectorXd& u) ;
void point_to_point(Matrix3X& X, Matrix3X& Y,Matrix3X& Z, Vector3& source_mean_,
Vector3& target_mean_, ICP::Parameters& par);
void point_to_plane(Eigen::Matrix3Xd& X,
Eigen::Matrix3Xd& Y, Eigen::Matrix3Xd& norm_x, Eigen::Matrix3Xd& norm_y,
Eigen::Vector3d& source_mean_, Eigen::Vector3d& target_mean_,
ICP::Parameters &par) ;
void Paras_init(bool useinit =false,std::string fileinit=" ",int maxiter=100,double stop=1e-5);
void Register()override;
void Reg(const std::string& file_target,
const std::string& file_source,
const std::string& out_path)override;
};
#endif