cartesian.h

Typedefs

template<typename T>
using ouster::PointsT = Eigen::Array<T, -1, 3>
using ouster::PointsD = PointsT<double>
using ouster::PointsF = PointsT<float>

Functions

template<typename T>
void ouster::cartesianT(PointsT<T> &points, const Eigen::Ref<const img_t<uint32_t>> &range, const PointsT<T> &direction, const PointsT<T> &offset)

Converts a staggered range image to Cartesian points.

Parameters:
  • points[inout] The resulting point cloud, should be pre-allocated and have the same dimensions as the direction array.

  • range[in] a range image in the same format as the RANGE field of a LidarScan.

  • direction[in] the direction of an xyz lut.

  • offset[in] the offset of an xyz lut.

template<typename T>
PointsT<T> ouster::cartesianT(const Eigen::Ref<const img_t<uint32_t>> &range, const PointsT<T> &direction, const PointsT<T> &offset)

Converts a staggered range image to Cartesian points.

Parameters:
  • range[in] a range image in the same format as the RANGE field of a LidarScan.

  • direction[in] the direction of an xyz lut.

  • offset[in] the offset of an xyz lut.

Throws:

std::invalid_argument – if the range image dimensions do not match

Returns:

Cartesian points where ith row is a 3D point which corresponds to ith pixel in LidarScan where i = row * w + col.

template<typename T>
PointsT<T> ouster::cartesianT(const LidarScan &scan, const PointsT<T> &direction, const PointsT<T> &offset)

Converts a staggered range image to Cartesian points.

Parameters:
  • scan[in] a LidarScan constaining a range image

  • direction[in] the direction of an xyz lut.

  • offset[in] the offset of an xyz lut.

Returns:

Cartesian points where ith row is a 3D point which corresponds to ith pixel in LidarScan where i = row * w + col.