Apply Filter Parameters: PercentageΒΆ
This example shows how to pass a Percentage as a parameter to a filter through the pmeshlab.MeshSet.apply_filter()
function.
This type of values can actually be passed in two different ways: as an absolute value or as a Percentage of something else.
See Percentage for more details.
This script can be executed by running the following command:
pytest --pyargs pymeshlab -k 'apply_filter_parameters_percentage'
tests/example_apply_filter_parameters_percentage.py
import pymeshlab
def example_apply_filter_parameters_percentage():
# lines needed to run this specific example
print('\n')
from . import samples_common
base_path = samples_common.samples_absolute_path()
output_path = samples_common.test_output_path()
# create a new MeshSet
ms = pymeshlab.MeshSet()
ms.load_new_mesh(base_path + "rangemaps/face000.ply")
assert ms.number_meshes() == 1
assert ms.current_mesh().face_number() == 166259
# create a new object of type Percentage, with value 50%
p = pymeshlab.Percentage(50)
# apply the filter that will remove connected components having diameter less than 50%
# of the diameter of the entire mesh
ms.apply_filter('remove_isolated_pieces_wrt_diameter', mincomponentdiag=p)
assert ms.current_mesh().face_number() == 161606
ms.save_current_mesh(output_path + 'face000_clean_by_diameter.ply')