Incorrect number of points in exported displacement field

Action: Performed registration between two models to generate transform
Expected: Number of vertices to match the number of rows in the transform txt file
Result: The numbers did not match

I used segment registration to find a transform between two models. The protocol is described by this link: Automatic non-rigid (elastic) registration between 2 stl files

I have 11643 vertices in my model. However, my displacement field only has 220 rows of xyz data.

Why is this not matching up and how do I change it?

The computed transform is independent from the models that generated them.

You can export the transform to a vector volume (using Transforms module) and then use “Probe volume with model” module to get displacement values assigned to each model point.

1 Like

Thank you for the fast reply.

I am able to complete the steps but it outputs a model. How do I convert this to a txt file with all of the displacement locations?

All the displacement locations are stored in the model as point scalar. You can save it to standard VTK file formats and read the displacement values from that.

If you want to process the displacement in an external non-VTK-based software then you can access the point scalars as a numpy array and write to file in any format using a few lines of Python script. Probably you can also use a VTK filter to convert the point scalars to a vtkTable and use VTK delimited file writer to export to a csv file.