В следующем примере показано, как использовать Python API для выбора точек разреженного облака, аналогично опции Плавного выделения в пользовательском интерфейсе.
В примере показано, как получить значения репроецирования, которые позволят оставить фиксированный процент точек, определенных как переменная TARGET_PERCENT.
import Metashape
TARGET_PERCENT = 90 #percentage of left points
doc = Metashape.app.document #active project in GUI
chunk = doc.chunk
points = chunk.point_cloud.points
f = Metashape.PointCloud.Filter()
f.init(chunk, criterion = Metashape.PointCloud.Filter.ReprojectionError) #Reprojection Error
list_values = f.values
list_values_valid = list()
for i in range(len(list_values)):
if points[i].valid:
list_values_valid.append(list_values[i])
list_values_valid.sort()
target = int(len(list_values_valid) * TARGET_PERCENT / 100)
threshold = list_values_valid[target]
f.selectPoints(threshold)
f.removePoints(threshold)