Raster Filtering

## Filter Vectors by What's Underneath

Calculate raster statistics inside your polygons, then filter by the results. No other QGIS plugin does this.

KEY DIFFERENTIATOR
Zonal Statistics as Filter
Compute min, max, mean, standard deviation and median of raster values inside each polygon. Then filter: "show only parcels where average elevation > 500m" or "exclude zones with high NDVI variance". Background threading keeps the UI responsive, even on 1 GB rasters.
MUST Sprint 2
Raster Value Sampling
Sample raster values at the centroid of every vector feature. Multi-band support, automatic CRS reprojection, and NoData handling built in. Under 500ms for 10,000 points.
MUST Sprint 1
Dynamic Raster Highlight
When a zonal filter is active, pixels outside filtered polygons turn transparent in real time. Toggle the visual mask without losing your filter. Interactive performance on 500 MB rasters.
SHOULD Sprint 3
Interactive Histogram
Visualize the distribution of raster values across your zones. Click and drag on the histogram to set filter thresholds. Updates live as you change bands or layers.
SHOULD Sprint 2
Raster Clip & Export
Export the raster clipped to your filtered polygons as GeoTIFF or Cloud-Optimized GeoTIFF (COG). Metadata, CRS and resolution preserved.
COULD Sprint 4
Dual Panel UI
Toggle between vector and raster panels with a single click. Auto-detects layer type. Your existing vector workflows remain untouched.
MUST Sprint 0

LiDAR & Point Cloud

## Filter 3D Point Clouds Natively

The first QGIS plugin to bring interactive filtering to point clouds. Classification, elevation, intensity — all filterable.

BLUE OCEAN
ASPRS Classification Filter
Check and uncheck point classes visually: Ground, Vegetation, Buildings, Water, Noise and more. Standard ASPRS labels (0-18) with human-readable names. Only classes present in your data are shown. Applies instantly via `setSubsetString`.
SHOULD Sprint 3
Elevation & Attribute Sliders
Filter by Z range, intensity, return number or any attribute. Sliders auto-calibrate to your data's min/max. Combine freely with classification filters.
SHOULD Sprint 4
Multi-Criteria Combiner
Stack classification + elevation + intensity into a single combined query. Toggle each criterion independently. Save and reload filter presets.
SHOULD Sprint 4
Polygon Clip & LAZ Export
Clip your point cloud to a vector polygon. Export filtered points to LAZ or COPC via PDAL. Requires QGIS 3.32+; gracefully hidden on older versions.
COULD Sprint 5+

Roadmap

## Sprint Timeline

5 sprints from foundations to FilterMate 5.0. Raster ships first, then point cloud.

0
Sprint 0 — Foundations (1.5 weeks)
Raster Foundations & Cherry-Pick
Merge raster domain layer from development branch. Wire dual-panel UI into refactored dockwidget. All 600+ existing tests pass with zero regressions.
1
Sprint 1 — Raster Sampling (1.5 weeks)
Raster Info + Value Sampling
Display raster metadata. Sample values at polygon centroids with auto-reprojection. Multi-band selection. < 500ms for 10k features.
Alpha Raster
2
Sprint 2 — Zonal Stats (2.5 weeks)
Zonal Statistics + Interactive Histogram
Background-threaded numpy-based zonal statistics. Filter polygons by stat thresholds. Interactive histogram for threshold picking. 100 polygons / 1 GB raster < 10s.
Beta Raster
3
Sprint 3 — Highlight + PC Foundations (2.5 weeks)
Raster Highlight + Point Cloud Architecture
Dynamic pixel masking for filtered zones. In parallel: hexagonal port/adapter for point clouds, conditional detection (QGIS 3.26+), ASPRS classification filter.
Raster V1 + Alpha Point Cloud
4
Sprint 4 — Point Cloud Complete (2 weeks)
Elevation Sliders + Multi-Criteria + Raster Export
Attribute/Z range filters for point clouds. Multi-criteria combiner. Raster clip-to-polygon export. Full test suite.
FilterMate 5.0

## Want to Shape the Future?

FilterMate is open source. Star the repo, report issues, or join the conversation on Discord.

Star on GitHub
Join Discord