STL models - Alignment and Volume measurement


Our Input - 2 STL surface scan models (PreOp and Post Op) - from the 3Shape surface scanner.

We have two problems.

  1. Need to accurately align the pre and post op surface scans ? (they have fixed landmarks)

  2. Need to measure the change of volume in the region of interest ? ( the volume of bone resorption)

So far, we have install CMF registration and,

as you can see from the pictures the alignment with CMF surface registration is not accurate enough.


We need to improve the accuracy of the alignment and we are unable to do it so far.

Can someone help us with accurate alignment/superimposition of the two scans ?

Next we need to measure the change in the bone volumes in the circled region. That is the difference of bone volume in preoperative and postoperative scans.

Is this can be done in 3d Slicer ?

Looking forward to hearing from you all.


You can use the “fiducial registration” and modeltomodel…

Have you seen this? Registration Video

Perhaps you could try ROI registration around those small tube looking bits which seem to be common to both models. To be honest with some models I just cant get automatic registration to work well enough. With a bit of time I can get a better result using manual registration of the two models.

You can manually move one model around using the “Transforms” module. It helps to make the models visible in the slice view which you can do under the “Models” module. Remember that the rotation seems to always be about the origin or 0,0,0 coordinate in the 3d space. So it helps a lot if your model is centered over the origin (0,0,0) point before you start moving it. Click local coordinate button in the transforms module to keep the rotation point around the centre of the model as you move it around.

Im not sure about the volume measurement part

Dear Timeandddoctor,

Thank you so much for your suggestion.

Are you suggesting the fiducial registration in the CMF surface registration model ?

Also can you point me to how to get the colour map for model to model distance module ?

Kind regards


If you can accurately identify landmark points then you may use Fiducial registration wizard module (in SlicerIGT extension) to register based manually placed landmarks. See U-12 SlicerIGT tutorial for step-by-step instructions.

Dear Prof Lasso,
I used the as you suggested but this is my results and went through the tutorial as well. I can’t figure out , how to get it to transformed.

What i am doing wrong ?

Registration result is a transform (not a transformed model node). You can apply this transform to models, markups, images, etc. to align them.

An easy way to preview transformation result and apply it to the model is to choose the moving model node in “Preview transform” section and click “Apply”.

I think i have better results now even though i have to perfect it. It comes with a error code.

Is it because of the geometry of the fixed landmarks we have ? (Do i need to select point matching method to manual ?) What is s RMS error ?

Also suppose i make this to a good alignment and then how can i save this aligned model to compare this in model to model distance module ?


It seems that your point pattern is not unique enough for the automatic point matching to work reliably. Disable automatic point matching and instead make sure you mark corresponding points in the same order.

It is the root mean square of the residual error after fitting the landmark points. It characterizes how well the points can be aligned by the chosen transformation. Lower values are better.

Thank you very much for your great assistance. I am at the moment trying to perfect the alignment on my samples trying different configurations.

I will soon comeback with my results and problems.

1 Like

Finally i think i have good alignment following the method Prof Lasso suggested. Many thanks for the wonderful help.

For my benefit can you all please comment which image is better aligned ? A1 or B1. One is using the 3D Slicer and other one a commercial product.

A1 A1


According to the opinion of the guys here which you think is better aligned ?

And my second problem is to measure the difference in Volume ? (this is the old photo but the idea remains the same to ilustrate where exactly i want the volume difference in )


Also i want to create a colour map like this one using 3D Slicer. (this was not created with the 3D Slicer)


I tried the but i cannot find the 3Derror metric plugin in my slicer as shown in the video here. So i dont’ know how to proceed.

Looking for the help again by anyone who is interested.


Alignment is hard to assess in 3D view. It is more visible in slice views.

You can meause volumes by importing the model nodes to a segmentation node and then use segment statistics module.

Thank you again.

I figured out how to asses it in slice views.

But may i please know how to import model nodes to a segmentation node ?

Also how to get the color map ? (The colour map i posted is not created using 3D Slicer. )

Using Segmentations module Import section. [quote=“manjula, post:13, topic:8364”]
how to get the color map ?

You can comoute distances between modules using Model to model distance extension.

1 Like