ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
Odometry.cpp File Reference
#include "pipelines/odometry/Odometry.h"
#include <Image.h>
#include <RGBDImage.h>
#include <Timer.h>
#include <Eigen/Dense>
#include <memory>
#include "pipelines/odometry/RGBDOdometryJacobian.h"
Include dependency graph for Odometry.cpp:

Go to the source code of this file.

Namespaces

 cloudViewer
 Generic file read and write utility for python interface.
 
 cloudViewer::pipelines
 
 cloudViewer::pipelines::odometry
 

Functions

static std::tuple< geometry::Image, geometry::Image > cloudViewer::pipelines::odometry::InitializeCorrespondenceMap (int width, int height)
 
static void cloudViewer::pipelines::odometry::AddElementToCorrespondenceMap (geometry::Image &correspondence_map, geometry::Image &depth_buffer, int u_s, int v_s, int u_t, int v_t, float transformed_d_t)
 
static void cloudViewer::pipelines::odometry::MergeCorrespondenceMaps (geometry::Image &correspondence_map, geometry::Image &depth_buffer, geometry::Image &correspondence_map_part, geometry::Image &depth_buffer_part)
 
static int cloudViewer::pipelines::odometry::CountCorrespondence (const geometry::Image &correspondence_map)
 
static CorrespondenceSetPixelWise cloudViewer::pipelines::odometry::ComputeCorrespondence (const Eigen::Matrix3d intrinsic_matrix, const Eigen::Matrix4d &extrinsic, const geometry::Image &depth_s, const geometry::Image &depth_t, const OdometryOption &option)
 
static std::shared_ptr< geometry::Image > cloudViewer::pipelines::odometry::ConvertDepthImageToXYZImage (const geometry::Image &depth, const Eigen::Matrix3d &intrinsic_matrix)
 
static std::vector< Eigen::Matrix3d > cloudViewer::pipelines::odometry::CreateCameraMatrixPyramid (const camera::PinholeCameraIntrinsic &pinhole_camera_intrinsic, int levels)
 
static Eigen::Matrix6d cloudViewer::pipelines::odometry::CreateInformationMatrix (const Eigen::Matrix4d &extrinsic, const camera::PinholeCameraIntrinsic &pinhole_camera_intrinsic, const geometry::Image &depth_s, const geometry::Image &depth_t, const OdometryOption &option)
 
static void cloudViewer::pipelines::odometry::NormalizeIntensity (geometry::Image &image_s, geometry::Image &image_t, const CorrespondenceSetPixelWise &correspondence)
 
static std::shared_ptr< geometry::RGBDImage > cloudViewer::pipelines::odometry::PackRGBDImage (const geometry::Image &color, const geometry::Image &depth)
 
static std::shared_ptr< geometry::Image > cloudViewer::pipelines::odometry::PreprocessDepth (const geometry::Image &depth_orig, const OdometryOption &option)
 
static bool cloudViewer::pipelines::odometry::CheckImagePair (const geometry::Image &image_s, const geometry::Image &image_t)
 
static bool cloudViewer::pipelines::odometry::IsColorImageRGB (const geometry::Image &image)
 
static bool cloudViewer::pipelines::odometry::CheckRGBDImagePair (const geometry::RGBDImage &source, const geometry::RGBDImage &target)
 
static std::tuple< std::shared_ptr< geometry::RGBDImage >, std::shared_ptr< geometry::RGBDImage > > cloudViewer::pipelines::odometry::InitializeRGBDOdometry (const geometry::RGBDImage &source, const geometry::RGBDImage &target, const camera::PinholeCameraIntrinsic &pinhole_camera_intrinsic, const Eigen::Matrix4d &odo_init, const OdometryOption &option)
 
static std::tuple< bool, Eigen::Matrix4d > cloudViewer::pipelines::odometry::DoSingleIteration (int iter, int level, const geometry::RGBDImage &source, const geometry::RGBDImage &target, const geometry::Image &source_xyz, const geometry::RGBDImage &target_dx, const geometry::RGBDImage &target_dy, const Eigen::Matrix3d intrinsic, const Eigen::Matrix4d &extrinsic_initial, const RGBDOdometryJacobian &jacobian_method, const OdometryOption &option)
 
static std::tuple< bool, Eigen::Matrix4d > cloudViewer::pipelines::odometry::ComputeMultiscale (const geometry::RGBDImage &source, const geometry::RGBDImage &target, const camera::PinholeCameraIntrinsic &pinhole_camera_intrinsic, const Eigen::Matrix4d &extrinsic_initial, const RGBDOdometryJacobian &jacobian_method, const OdometryOption &option)
 
std::tuple< bool, Eigen::Matrix4d, Eigen::Matrix6dcloudViewer::pipelines::odometry::ComputeRGBDOdometry (const geometry::RGBDImage &source, const geometry::RGBDImage &target, const camera::PinholeCameraIntrinsic &pinhole_camera_intrinsic=camera::PinholeCameraIntrinsic(), const Eigen::Matrix4d &odo_init=Eigen::Matrix4d::Identity(), const RGBDOdometryJacobian &jacobian_method=RGBDOdometryJacobianFromHybridTerm(), const OdometryOption &option=OdometryOption())
 Function to estimate 6D rigid motion from two RGBD image pairs. More...