ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
cloudViewer::pipelines::odometry Namespace Reference

Classes

class  OdometryOption
 
class  RGBDOdometryJacobian
 Base class that computes Jacobian from two RGB-D images. More...
 
class  RGBDOdometryJacobianFromColorTerm
 Class to compute Jacobian using color term. More...
 
class  RGBDOdometryJacobianFromHybridTerm
 Class to compute Jacobian using hybrid term. More...
 
class  PyRGBDOdometryJacobian
 

Typedefs

typedef std::vector< Eigen::Vector4i, utility::Vector4i_allocatorCorrespondenceSetPixelWise
 

Functions

static std::tuple< geometry::Image, geometry::ImageInitializeCorrespondenceMap (int width, int height)
 
static void 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 MergeCorrespondenceMaps (geometry::Image &correspondence_map, geometry::Image &depth_buffer, geometry::Image &correspondence_map_part, geometry::Image &depth_buffer_part)
 
static int CountCorrespondence (const geometry::Image &correspondence_map)
 
static CorrespondenceSetPixelWise 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::ImageConvertDepthImageToXYZImage (const geometry::Image &depth, const Eigen::Matrix3d &intrinsic_matrix)
 
static std::vector< Eigen::Matrix3d > CreateCameraMatrixPyramid (const camera::PinholeCameraIntrinsic &pinhole_camera_intrinsic, int levels)
 
static Eigen::Matrix6d 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 NormalizeIntensity (geometry::Image &image_s, geometry::Image &image_t, const CorrespondenceSetPixelWise &correspondence)
 
static std::shared_ptr< geometry::RGBDImagePackRGBDImage (const geometry::Image &color, const geometry::Image &depth)
 
static std::shared_ptr< geometry::ImagePreprocessDepth (const geometry::Image &depth_orig, const OdometryOption &option)
 
static bool CheckImagePair (const geometry::Image &image_s, const geometry::Image &image_t)
 
static bool IsColorImageRGB (const geometry::Image &image)
 
static bool CheckRGBDImagePair (const geometry::RGBDImage &source, const geometry::RGBDImage &target)
 
static std::tuple< std::shared_ptr< geometry::RGBDImage >, std::shared_ptr< geometry::RGBDImage > > 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 > 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 > 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::Matrix6dComputeRGBDOdometry (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...
 
void pybind_odometry_classes (py::module &m)
 
void pybind_odometry_methods (py::module &m)
 
void pybind_odometry (py::module &m)
 

Typedef Documentation

◆ CorrespondenceSetPixelWise

Function Documentation

◆ AddElementToCorrespondenceMap()

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 
)
inlinestatic

◆ CheckImagePair()

static bool cloudViewer::pipelines::odometry::CheckImagePair ( const geometry::Image image_s,
const geometry::Image image_t 
)
inlinestatic

◆ CheckRGBDImagePair()

static bool cloudViewer::pipelines::odometry::CheckRGBDImagePair ( const geometry::RGBDImage source,
const geometry::RGBDImage target 
)
inlinestatic

◆ ComputeCorrespondence()

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

◆ ComputeMultiscale()

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 
)
static

◆ ComputeRGBDOdometry()

std::tuple< bool, Eigen::Matrix4d, Eigen::Matrix6d > cloudViewer::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.

Parameters
sourceSource RGBD image.
targetTarget RGBD image.
pinhole_camera_intrinsicCamera intrinsic parameters.
odo_initInitial 4x4 motion matrix estimation.
jacobin_methodThe odometry Jacobian method to use.
optionOdometry hyper parameteres.
Returns
is_success, 4x4 motion matrix, 6x6 information matrix.

Definition at line 501 of file Odometry.cpp.

References CheckRGBDImagePair(), ComputeMultiscale(), CreateInformationMatrix(), InitializeRGBDOdometry(), and LogWarning.

◆ ConvertDepthImageToXYZImage()

static std::shared_ptr<geometry::Image> cloudViewer::pipelines::odometry::ConvertDepthImageToXYZImage ( const geometry::Image depth,
const Eigen::Matrix3d &  intrinsic_matrix 
)
static

◆ CountCorrespondence()

static int cloudViewer::pipelines::odometry::CountCorrespondence ( const geometry::Image correspondence_map)
static

◆ CreateCameraMatrixPyramid()

static std::vector<Eigen::Matrix3d> cloudViewer::pipelines::odometry::CreateCameraMatrixPyramid ( const camera::PinholeCameraIntrinsic pinhole_camera_intrinsic,
int  levels 
)
static

◆ CreateInformationMatrix()

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

◆ DoSingleIteration()

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

◆ InitializeCorrespondenceMap()

static std::tuple<geometry::Image, geometry::Image> cloudViewer::pipelines::odometry::InitializeCorrespondenceMap ( int  width,
int  height 
)
static

◆ InitializeRGBDOdometry()

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

◆ IsColorImageRGB()

static bool cloudViewer::pipelines::odometry::IsColorImageRGB ( const geometry::Image image)
inlinestatic

Definition at line 321 of file Odometry.cpp.

References image.

Referenced by CheckRGBDImagePair(), and InitializeRGBDOdometry().

◆ MergeCorrespondenceMaps()

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

◆ NormalizeIntensity()

static void cloudViewer::pipelines::odometry::NormalizeIntensity ( geometry::Image image_s,
geometry::Image image_t,
const CorrespondenceSetPixelWise correspondence 
)
static

◆ PackRGBDImage()

static std::shared_ptr<geometry::RGBDImage> cloudViewer::pipelines::odometry::PackRGBDImage ( const geometry::Image color,
const geometry::Image depth 
)
inlinestatic

Definition at line 294 of file Odometry.cpp.

References color.

Referenced by ComputeMultiscale(), and InitializeRGBDOdometry().

◆ PreprocessDepth()

static std::shared_ptr<geometry::Image> cloudViewer::pipelines::odometry::PreprocessDepth ( const geometry::Image depth_orig,
const OdometryOption option 
)
static

◆ pybind_odometry()

void cloudViewer::pipelines::odometry::pybind_odometry ( py::module &  m)

Definition at line 172 of file odometry.cpp.

Referenced by cloudViewer::pipelines::pybind_pipelines().

◆ pybind_odometry_classes()

◆ pybind_odometry_methods()

void cloudViewer::pipelines::odometry::pybind_odometry_methods ( py::module &  m)

Definition at line 145 of file odometry.cpp.