Aligning clouds by picking points

Feel free to ask any question here
isharp
Posts: 8
Joined: Wed Dec 27, 2017 11:37 pm

Re: Aligning clouds by picking points

Post by isharp »

Hi Daniel,

A. when I try to align (ICP) the segmented 'before' piece to the after model it often aligns it way wrong. I was able to play with it to overlay the segment as close to the 'after' position as possible and it sometimes does register it but it is kind of hit or miss. Do you have any tips on how to do it more predictably? (I would love to show you a few screenshots but can not figure out how to insert them).

B. When I finally manage to properly ICP register the 'before' segment to the 'after' model, I copy and apply a transformation matrix to the remaining segment of the 'after' model. It allowed me to move the remaining segment to align it to its registered cutout segment. But it happened once and since then I was not able to reproduce it. Do you have any idea what I might be doing wrong?

Thank you!
daniel
Site Admin
Posts: 7382
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Aligning clouds by picking points

Post by daniel »

Screenshots can be inserted via the "attachments" tab below the message field. You upload the images, and then you insert them in the message. You can also send me them via emails (admin [at] cloudcompare.org).

A) For ICP, you need to pay attention that it's meant to register 3D entities that have exactly the same shape in theory. And/or If the extents of the aligned entity is wider than the reference entity, then you have to specify the 'overlap' parameter to reflect this (roughly).

B) If you perform several alignment operations (manual + ICP + etc.) then you should copy the 'Transformation history' matrix of the aligned entity instead of only the ICP one. The 'Transformation history' matrix is the composition of all alignment steps performed since the entity was loaded. If you apply only the ICP matrix it might not be sufficient. Well, at least that's an idea... your issue might be something else.
Daniel, CloudCompare admin
Adam
Posts: 35
Joined: Tue Apr 03, 2018 9:17 pm

Re: Aligning clouds by picking points

Post by Adam »

Sorry to jump over here. If you do manual alignment such as Translate/rotate or align by point pairs picking and then ICP. A transformation matrix will appear in the console. There is 2 matrix (one for manual and one for ICP) which one do I have to copy and apply? Do you copy this and highlight both entities (meshes/clouds) then Edit>apply the transformation matrix?

For example
Maual alignment matrix
[00:27:03] [PointPairRegistration] Applied transformation matrix:
[00:27:03] 0.999578416348 0.028809053823 0.003615313210 0.886472702026
-0.028813743964 0.999583959579 0.001250940957 0.944660186768
-0.003577770665 -0.001354584354 0.999992668629 -0.035654067993
0.000000000000 0.000000000000 0.000000000000 1.000000000000

ICP alinment matrix
[00:28:44] [Register] Applied transformation matrix:
[00:28:44] 0.999993324280 -0.000010604539 -0.003662247909 -0.078528381884
0.000006037033 0.999999225140 -0.001247195294 -0.026949923486
0.003662258387 0.001247164793 0.999992609024 0.029494462535
0.000000000000 0.000000000000 0.000000000000 1.000000000000


I also use Fit>palne as well and apply the transformation matrix. So, I apply the matrix from the alignment first then when I do Fit>plane, I should apply again the transformation matrix? :/

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

Re: Aligning clouds by picking points

Post by daniel »

As I said in the previous post: use the "Transformation history" matrix to get the composition of all matrices...

And you only need to apply it on entities that were in the same (original) coordinate system as the aligned entity. And of course only if you want to make them go the reference coordinate system...
Daniel, CloudCompare admin
emanuel
Posts: 1
Joined: Wed Oct 26, 2022 9:06 am

Re: Aligning clouds by picking points

Post by emanuel »

Hi to everyone, I know it's been many years, but i try anyway.

I have 2 cloudpoint of a oral-scan in different time, before surgery and after few months. The surgery consist of placing a dental prosthesis. I need to study the gingival movement over the time.
I think i understand how to align 2 cloud e how to cut only the part of the cloud in which i'm interested. But, how can i tell quantitativaly how much the gum has shifted? Is there a way to selected only one profile and study if and how much is moved from a scan to the next?

thank you!
daniel
Site Admin
Posts: 7382
Joined: Wed Oct 13, 2010 7:34 am
Location: Grenoble, France
Contact:

Re: Aligning clouds by picking points

Post by daniel »

I guess you could use the 'Cross Section' tool to isolate the profiles you are interested in, and the compute the distances between these profiles?

Or almost equivalently, compute the distances between the 2 meshes, and then extract the profile of the mesh (or cloud) holding the distance scalar field.
Daniel, CloudCompare admin
Post Reply