39 #ifndef PCL_KINFU_TSDF_RAYCASTER_H_ 40 #define PCL_KINFU_TSDF_RAYCASTER_H_ 43 #include <pcl/pcl_macros.h> 45 #include <pcl/gpu/containers/device_array.h> 46 #include <pcl/gpu/kinfu/pixel_rgb.h> 47 #include <boost/shared_ptr.hpp> 48 #include <Eigen/Geometry> 62 typedef boost::shared_ptr<RayCaster>
Ptr;
78 RayCaster(
int rows = 480,
int cols = 640,
float fx = 525.f,
float fy = 525.f,
float cx = -1,
float cy = -1);
83 setIntrinsics(
float fx = 525.f,
float fy = 525.f,
float cx = -1,
float cy = -1);
90 run(
const TsdfVolume& volume,
const Eigen::Affine3f& camera_pose);
96 generateSceneView(
View& view)
const;
103 generateSceneView(
View& view,
const Eigen::Vector3f& light_source_pose)
const;
109 generateDepthImage(
Depth& depth)
const;
113 getVertexMap()
const;
117 getNormalMap()
const;
121 float fx_, fy_, cx_, cy_;
139 Eigen::Affine3f camera_pose_;
142 Eigen::Vector3f volume_size_;
145 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
149 template<
typename Po
intType>
DeviceArray2D< PixelRGB > View
Class that performs raycasting for TSDF volume.
This file defines compatibility wrappers for low level I/O functions.
boost::shared_ptr< RayCaster > Ptr
DeviceArray2D< float > MapArr
void convertMapToOranizedCloud(const RayCaster::MapArr &map, DeviceArray2D< PointType > &cloud)
Converts from map representation to organized not-dence point cloud.
Defines all the PCL implemented PointT point type structures.
DeviceArray2D< unsigned short > Depth