pyvista.UnstructuredGridFilters.clean#
- UnstructuredGridFilters.clean(
- tolerance=0,
- remove_unused_points=True,
- produce_merge_map=True,
- average_point_data=True,
- merging_array_name=None,
- progress_bar=False,
Merge duplicate points and remove unused points in an UnstructuredGrid.
This filter, merging coincident points as defined by a merging tolerance and optionally removes unused points. The filter does not modify the topology of the input dataset, nor change the types of cells. It may however, renumber the cell connectivity ids.
This filter implements vtkStaticCleanUnstructuredGrid
- Parameters:
- tolerance
float
, default: 0.0 The absolute point merging tolerance.
- remove_unused_pointsbool, default:
True
Indicate whether points unused by any cell are removed from the output. Note that when this is off, the filter can successfully process datasets with no cells (and just points). If on in this case, and there are no cells, the output will be empty.
- produce_merge_mapbool, default:
False
Indicate whether a merge map should be produced on output. The merge map, if requested, maps each input point to its output point id, or provides a value of -1 if the input point is not used in the output. The merge map is associated with the filter’s output field data and is named
"PointMergeMap"
.- average_point_databool, default:
True
Indicate whether point coordinates and point data of merged points are averaged. When
True
, the data coordinates and attribute values of all merged points are averaged. WhenFalse
, the point coordinate and data of the single remaining merged point is retained.- merging_array_name
str
,optional
If a
merging_array_name
is specified and exists in thepoint_data
, then point merging will switch into a mode where merged points must be both geometrically coincident and have matching point data. When set,tolerance
has no effect.- progress_barbool, default:
False
Display a progress bar to indicate progress.
- tolerance
- Returns:
UnstructuredGrid
Cleaned unstructured grid.
Examples
Demonstrate cleaning an UnstructuredGrid and show how it can be used to average the point data across merged points.
>>> import pyvista as pv >>> from pyvista import examples >>> hexbeam = examples.load_hexbeam() >>> hexbeam_shifted = hexbeam.translate([1, 0, 0]) >>> hexbeam.point_data['data'] = [0] * hexbeam.n_points >>> hexbeam_shifted.point_data['data'] = [1] * hexbeam.n_points >>> merged = hexbeam.merge(hexbeam_shifted, merge_points=False) >>> cleaned = merged.clean(average_point_data=True) >>> cleaned.n_points < merged.n_points True
Show how point averaging using the
clean
method withaverage_point_data=True
results in averaged point data for merged points.>>> pl = pv.Plotter(shape=(1, 2)) >>> _ = pl.add_mesh(merged, scalars='data', show_scalar_bar=False) >>> pl.subplot(0, 1) >>> _ = pl.add_mesh(cleaned, scalars='data') >>> pl.show()