39 #ifndef PCL_KINFU_TSDF_RAYCASTER_H_
40 #define PCL_KINFU_TSDF_RAYCASTER_H_
43 #include <pcl/pcl_macros.h>
44 #include <pcl/point_types.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.
DeviceArray2D< unsigned short > Depth