struct mrpt::obs::CObservationVelodyneScan::TGeneratePointCloudParameters

Overview

#include <mrpt/obs/CObservationVelodyneScan.h>

struct TGeneratePointCloudParameters
{
    // fields

    double minAzimuth_deg {.0};
    double maxAzimuth_deg {360.};
    float minDistance {1.0f};
    float maxDistance {std::numeric_limits<float>::max()};
    float ROI_x_min {-std::numeric_limits<float>::max()};
    float ROI_x_max {std::numeric_limits<float>::max()};
    float ROI_y_min {-std::numeric_limits<float>::max()};
    float ROI_y_max {std::numeric_limits<float>::max()};
    float ROI_z_min {-std::numeric_limits<float>::max()};
    float ROI_z_max {std::numeric_limits<float>::max()};
    float nROI_x_min {0};
    float nROI_x_max {0};
    float nROI_y_min {0};
    float nROI_y_max {0};
    float nROI_z_min {0};
    float nROI_z_max {0};
    float isolatedPointsFilterDistance {2.0f};
    bool filterByROI {false};
    bool filterBynROI {false};
    bool filterOutIsolatedPoints {false};
    bool dualKeepStrongest {true};
    bool dualKeepLast {true};
    bool generatePerPointTimestamp {false};
    bool generatePerPointAzimuth {false};
    bool generatePointsForLaserID {false};

    // construction

    TGeneratePointCloudParameters();
};

Fields

double minAzimuth_deg {.0}

Minimum azimuth, in degrees (Default=0).

Points will be generated only the the area of interest [minAzimuth, maxAzimuth]

double maxAzimuth_deg {360.}

Minimum azimuth, in degrees (Default=360).

Points will be generated only the the area of interest [minAzimuth, maxAzimuth]

float minDistance {1.0f}

Minimum (default=1.0f) and maximum (default: Infinity) distances/ranges for a point to be considered.

Points must pass this (application specific) condition and also the minRange/maxRange values in CObservationVelodyneScan (sensor-specific).

float ROI_x_min {-std::numeric_limits<float>::max()}

The limits of the 3D box (default=infinity) in sensor (not vehicle) local coordinates for the ROI filter.

See also:

filterByROI

float nROI_x_min {0}

The limits of the 3D box (default=0) in sensor (not vehicle) local coordinates for the nROI filter.

See also:

filterBynROI

float isolatedPointsFilterDistance {2.0f}

(Default:2.0 meters) Minimum distance between a point and its two neighbors to be considered an invalid point.

bool filterByROI {false}

Enable ROI filter (Default:false): add points inside a given 3D box.

bool filterBynROI {false}

Enable nROI filter (Default:false): do NOT add points inside a given 3D box.

bool filterOutIsolatedPoints {false}

(Default:false) Simple filter to remove spurious returns (e.g.

Sun reflected on large water extensions)

bool dualKeepStrongest {true}

(Default:true) In VLP16 dual mode, keep both or just one of the returns.

bool generatePerPointTimestamp {false}

(Default:false) If true, populate the vector timestamp

bool generatePerPointAzimuth {false}

(Default:false) If true, populate the vector azimuth

bool generatePointsForLaserID {false}

(Default:false) If true, populate pointsForLaserID