This tool can be used to remove points within a LAS LiDAR file that possess certain specified class values. The user must input the names of the input (input) and output (output) LAS files and the class values to be excluded (exclude_cls). Class values are specified by their numerical values, such that:
| Classification Value | Meaning |
| 0 | Created never classified |
| 1 | Unclassified |
| 2 | Ground |
| 3 | Low Vegetation |
| 4 | Medium Vegetation |
| 5 | High Vegetation |
| 6 | Building |
| 7 | Low Point (noise) |
| 8 | Reserved |
| 9 | Water |
| 10 | Rail |
| 11 | Road Surface |
| 12 | Reserved |
| 13 | Wire – Guard (Shield) |
| 14 | Wire – Conductor (Phase) |
| 15 | Transmission Tower |
| 16 | Wire-structure Connector (e.g. Insulator) |
| 17 | Bridge Deck |
| 18 | High noise |
Thus, to filter out low and high noise points from a point cloud, specify exclude_cls='7,18'. Class ranges may also be specified, e.g. exclude_cls='3-5,7,18'. Notice that usage of this tool assumes that the LAS file has underwent a comprehensive point classification, which not all point clouds have had. Use the lidar_info tool determine the distribution of various class values in your file.
def filter_lidar_classes(self, input: Lidar, exclusion_classes: List[int]) -> Lidar: ...