select point cluster by scalar field

Feel free to ask any question here
Post Reply
matknaak
Posts: 38
Joined: Wed May 04, 2016 12:43 pm

select point cluster by scalar field

Post by matknaak »

Hi,

I have got a point cloud comprising points on fractures of a rocky outcrop. The point cloud has been analysed allready so that there is only points left representing a single fracture set, and it has been classified so that there is a scalar field showing an individual number for each cluster of points belonging to a single fracture plane. So I can manually select a cluster and create a plane or surface. But is there a way to select all clusters and create planes for each cluster in one go for the entire dataset (without automating or programming involved)? If I use segmentation-label connected comp. and then the tool fit plane, I get a resonable result, but not for each cluster - some clusters will be combined. Basically, the segmentation has allready been done and is written to a scalarfield, but I seem to be unable to "select children by" a defined scalar field.

Any comments are much appreciated - thanks a lot!

cheers

Mat
daniel
Site Admin
Posts: 7385
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: select point cluster by scalar field

Post by daniel »

There's no automated way to do that with all the different (integer) values in a scalar field.

You can only do it value by value with the 'Edit > Scalar fields > Filter by value' tool. And as you seemed to have guessed already, the only way to do it in an automated way would be to use a command line script...
Daniel, CloudCompare admin
matknaak
Posts: 38
Joined: Wed May 04, 2016 12:43 pm

Re: select point cluster by scalar field

Post by matknaak »

Hi Daniel,

thanks for your quick response. I forgott to mention that in my case the scalar values are only few discrete values (1 to 10). Nontheless, I appreciate there is currently no way. However, I could imagine that quite a few classification tools might result in scalar values clustering a point cloud. So maybe worth taking this down onto the long wish list...
As for my current problem I played a bit more with the segmentation-label connected comp. tool and with the settings for the octree level, and it gave very happy results. My problem as a dump geologist is though that I don't fully understand the concept of the octree levels. Is there anywhere where I can look it up so I can understand what I am doing?

Many thanks

mat
cloudnine
Posts: 1
Joined: Tue Aug 18, 2020 4:30 am

Re: select point cluster by scalar field

Post by cloudnine »

Hi Mat,

Keen to know how you went. Are you using DSE to determine discontinuity clusters? I too am trying to work with the mapped discontinuity clusters determined from DSE and then to calculate their dip and dip-direction. DSE only seems to output dip & dip-direction of the normal vector for each point of the point cloud, not for the clusters of points that share the same orientation.

Interested to know how you went about it using the segmentation-label connected comp tool. Did you find a way beyond this method to more efficiently do it?

Cheers,
Tristan
adririquelme
Posts: 13
Joined: Wed Mar 02, 2016 2:55 pm

Re: select point cluster by scalar field

Post by adririquelme »

Hello Tristan. The DSE program calculates the clusters of each discontinuity set using the DBSCAN algorithm, and assigns an integer number to each cluster within each discontinuity set. The orientations of the clusters can be calculated by fixing the normal vector obtained by the principal pole, or by calculating the plane that best fits each cluster. To do this, you need to deactivate the "fix normal vector" option in the cluster analysis.

The reason for fixing the normal vector is to force all cluster planes to be parallel, thus enabling the calculation of normal spacings and persistences.

Best regards;

Adri
daniel
Site Admin
Posts: 7385
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: select point cluster by scalar field

Post by daniel »

So the Connected Components tool uses a simple 'connected components labeling algorithm' applied to a regular grid. And we simply use the cells of the cloud octree considered as a given level of subdivision to convert the cloud to a grid.

The octree is a recursive subdivision of the cloud in 8 cubes, so at a level N, you can roughly imagine that the cloud will be subdivided by 2^N along all dimensions. And you have to consider the largest dimension of the bounding box, divided by 128 at level 7 for instance.
Daniel, CloudCompare admin
Post Reply