pchandler.filters.scalar_field_filters

Scalar-field-based filters.

Classes

ScalarFieldFilter

Filter points by an absolute value range over a named scalar field.

ScalarFieldPercentileFilter

Filter points by a percentile range over a named scalar field.

class pchandler.filters.scalar_field_filters.ScalarFieldFilter

Bases: PointCloudFilter

Filter points by an absolute value range over a named scalar field.

__init__(field_label, lower_bound=-np.inf, upper_bound=np.inf)

Filter points based on a value range for a particular scalar field.

Parameters:
  • field_label (str) – Name of the scalar field to evaluate.

  • lower_bound (float, default=-np.inf) – Lower (inclusive) bound on the scalar value.

  • upper_bound (float, default=np.inf) – Upper (inclusive) bound on the scalar value.

mask(pcd)

Create a boolean mask for the values within the specified scalar field range.

Parameters:

pcd (PointCloudData)

Return type:

Vector_Bool_T

class pchandler.filters.scalar_field_filters.ScalarFieldPercentileFilter

Bases: PointCloudFilter

Filter points by a percentile range over a named scalar field.

__init__(field_label, lower_percentile=0, upper_percentile=100)

Filter points based on percentile ranges for a given scalar field.

Parameters:
  • field_label (str) – Name of the scalar field to evaluate.

  • lower_percentile (PercentileT, default=0) – Lower percentile (0 ≤ lower_percentile < 100).

  • upper_percentile (PercentileT, default=100) – Upper percentile (lower_percentileupper_percentile < 100).

mask(pcd)

Create a boolean mask from the target percentile range.

Parameters:

pcd (PointCloudData) – Source point cloud.

Returns:

Boolean mask, True for points whose value falls inside the percentile range.

Return type:

Vector_Bool_T