Function ouster::sdk::core::make_xyz_lut(size_t, size_t, double, const mat4d&, const mat4d&, const std::vector<double>&, const std::vector<double>&)
Defined in File xyzlut.h
Function Documentation
-
XYZLut ouster::sdk::core::make_xyz_lut(size_t w, size_t h, double range_unit, const mat4d &beam_to_lidar_transform, const mat4d &transform, const std::vector<double> &azimuth_angles_deg, const std::vector<double> &altitude_angles_deg)
Generate a set of lookup tables useful for computing Cartesian coordinates from ranges.
The lookup tables are:
direction: a matrix of unit vectors pointing radially outwards.
offset: a matrix of offsets dependent on beam origin distance from lidar origin.
Each table is an n x 3 array of doubles stored in column-major order where each row corresponds to the nth point in a lidar scan, with 0 <= n < h*w.
Projections to XYZ made with this XYZLut will be in the coordinate frame defined by transform*beam_to_lidar_transform.
- Parameters:
w[in] – number of columns in the lidar scan. e.g. 512, 1024, or 2048.
h[in] – number of rows in the lidar scan.
range_unit[in] – the unit, in meters, of the range, e.g. ouster::sdk::core::range_unit.
beam_to_lidar_transform[in] – transform between beams and lidar origin. Translation portion is in millimeters.
transform[in] – additional transformation to apply to resulting points.
azimuth_angles_deg[in] – azimuth offsets in degrees for each of h beams.
altitude_angles_deg[in] – altitude in degrees for each of h beams.
- Returns:
xyz direction and offset vectors for each point in the lidar scan.