Forum

Author Topic: Delete tie points outside of bounding box  (Read 4142 times)

stephan

• Full Member
• Posts: 129
Delete tie points outside of bounding box
« on: May 18, 2018, 06:08:15 PM »
Here is a puzzle I cannot figure out: I'd like to select all tie points that are a specific distance away from the closest edge of the bounding box, and to be able to set this distance as a function of the length along the X axis of the bounding box. Does anyone know how to make such a selection ?

Alexey Pasumansky

• Agisoft Technical Support
• Hero Member
• Posts: 14968
Re: Delete tie points outside of bounding box
« Reply #1 on: May 21, 2018, 07:36:55 PM »
Hello stephan,

You can use the following script as a reference for your task. The example just removes the points of the sparse cloud that are outside the bounding box for each chunk in the project:

Code: [Select]
`import PhotoScandef main(): doc = PhotoScan.app.document for i in range(len(doc.chunks)): chunk = doc.chunks[i] R = chunk.region.rot #Bounding box rotation matrix C = chunk.region.center #Bounding box center vertor size = chunk.region.size if not (chunk.point_cloud and chunk.enabled): continue elif not len(chunk.point_cloud.points): continue for point in chunk.point_cloud.points: if point.valid: v = point.coord v.size = 3 v_c = v - C v_r = R.t() * v_c if abs(v_r.x) > abs(size.x / 2.): point.valid = False elif abs(v_r.y) > abs(size.y / 2.): point.valid = False elif abs(v_r.z) > abs(size.z / 2.): point.valid = False else: continue print("Script finished. Points outside the region were removed.") PhotoScan.app.addMenuItem("Custom menu/Filter point cloud by bounding box", main) `
Best regards,
Alexey Pasumansky,
Agisoft LLC

stephan

• Full Member
• Posts: 129
Re: Delete tie points outside of bounding box
« Reply #2 on: May 23, 2018, 09:08:46 PM »
Thanks Alexey, that's a big help.