Open3D (C++ API)  0.18.0
Public Member Functions
open3d::t::geometry::kernel::TransformIndexer Class Reference

Helper class for converting coordinates/indices between 3D/3D, 3D/2D, 2D/3D. More...

#include <GeometryIndexer.h>

Public Member Functions

 TransformIndexer (const core::Tensor &intrinsics, const core::Tensor &extrinsics, float scale=1.0f)
 
OPEN3D_HOST_DEVICE void RigidTransform (float x_in, float y_in, float z_in, float *x_out, float *y_out, float *z_out) const
 Transform a 3D coordinate in camera coordinate to world coordinate. More...
 
OPEN3D_HOST_DEVICE void Rotate (float x_in, float y_in, float z_in, float *x_out, float *y_out, float *z_out) const
 Transform a 3D coordinate in camera coordinate to world coordinate. More...
 
OPEN3D_HOST_DEVICE void Project (float x_in, float y_in, float z_in, float *u_out, float *v_out) const
 Project a 3D coordinate in camera coordinate to a 2D uv coordinate. More...
 
OPEN3D_HOST_DEVICE void Unproject (float u_in, float v_in, float d_in, float *x_out, float *y_out, float *z_out) const
 Unproject a 2D uv coordinate with depth to 3D in camera coordinate. More...
 
OPEN3D_HOST_DEVICE void GetFocalLength (float *fx, float *fy) const
 
OPEN3D_HOST_DEVICE void GetCameraPosition (float *x, float *y, float *z) const
 

Detailed Description

Helper class for converting coordinates/indices between 3D/3D, 3D/2D, 2D/3D.

Constructor & Destructor Documentation

◆ TransformIndexer()

open3d::t::geometry::kernel::TransformIndexer::TransformIndexer ( const core::Tensor intrinsics,
const core::Tensor extrinsics,
float  scale = 1.0f 
)
inline

intrinsic: simple pinhole camera matrix, stored in fx, fy, cx, cy extrinsic: world to camera transform, stored in a 3x4 matrix

Member Function Documentation

◆ GetCameraPosition()

OPEN3D_HOST_DEVICE void open3d::t::geometry::kernel::TransformIndexer::GetCameraPosition ( float *  x,
float *  y,
float *  z 
) const
inline

◆ GetFocalLength()

OPEN3D_HOST_DEVICE void open3d::t::geometry::kernel::TransformIndexer::GetFocalLength ( float *  fx,
float *  fy 
) const
inline

◆ Project()

OPEN3D_HOST_DEVICE void open3d::t::geometry::kernel::TransformIndexer::Project ( float  x_in,
float  y_in,
float  z_in,
float *  u_out,
float *  v_out 
) const
inline

Project a 3D coordinate in camera coordinate to a 2D uv coordinate.

◆ RigidTransform()

OPEN3D_HOST_DEVICE void open3d::t::geometry::kernel::TransformIndexer::RigidTransform ( float  x_in,
float  y_in,
float  z_in,
float *  x_out,
float *  y_out,
float *  z_out 
) const
inline

Transform a 3D coordinate in camera coordinate to world coordinate.

◆ Rotate()

OPEN3D_HOST_DEVICE void open3d::t::geometry::kernel::TransformIndexer::Rotate ( float  x_in,
float  y_in,
float  z_in,
float *  x_out,
float *  y_out,
float *  z_out 
) const
inline

Transform a 3D coordinate in camera coordinate to world coordinate.

◆ Unproject()

OPEN3D_HOST_DEVICE void open3d::t::geometry::kernel::TransformIndexer::Unproject ( float  u_in,
float  v_in,
float  d_in,
float *  x_out,
float *  y_out,
float *  z_out 
) const
inline

Unproject a 2D uv coordinate with depth to 3D in camera coordinate.


The documentation for this class was generated from the following file: