Measuring displacement of the zygoma bone after surgery

Dear friends, wish you all are doing well and fine. Thank you for reading this request. My work is to measure if there is any displacement of the zygoma bone after being surgically repositioned into a new position.
I am comparing the position of the zygoma bone using T1: one-week postoperative CT, and T2: at least 6 months postoperatively.
1st I collect the CT in DICOM format, imported them into Dolphin software to:

  1. Superimposition of both CT (using the cranial base as a reference)
  2. Created surface volume for T1 and registered T2
  3. Exported them as .stl file
  4. Imported them to 3D Slicer, then:
    a. Most of the time the two models have opened far away from each other* (although superimposed in the 1 step)


i. So, I start with semi-automatic registration: Surface registration under CMS module
ii. Or I used manual registration….Fiducial registration wizard under Slicer IGI extension)
iii. Then start doing:

  1. Pick’n paint: select ROI
  2. Model to model distance (most of the time: either terminate with error message appeared or too long time with no success then I tried again till succeed (after too many trials!).

Very high values?!?

  1. Mesh statistics to get the values.
    Now I want to ask these questions:
    Do I select the proper way to achieve my goals (measuring the amount of displacement that happened in T2 compared to T1 CT)?
    How could I solve such problems of not matching models or too long time of mode to model distance module?
    What are your recommendations to make this mission easier?

Thank you so much for your highly appreciated help…


If your original data are in DICOM, I would suggest doing all the steps in Slicer (including the 3D model generation).

  1. You can import the DICOMs
  2. If the 3D images of two dicoms sets do not occupy the same space (i.e., they do not overlap), do a a rigid registration via Elastix extensions.
  3. Confirm the results of your registration.
  4. Then proceed with segmentation and model building and derive your statistics.

Thank you so much for your suggestion, but please cold you explain more in regard:

I have downloaded Elastix extension (in version 4.13.0 3D Slicer), but I do not know how to use it, if you could explain in more details would be so great?

as you can see in this screen shot:
I have imported both DICOMs into 3D Slicer, and start using Elastix extension: but here what should I choose? And is it normal that it takes too long time to execute the order?
Thank you again and wish you all the best.

In this menu fixed image means the image that defines the coordinate system and the orientation, moving image is the one that will be rotated to match that orientation. I don’t think it makes any difference whether you choose your t1 or t2 timepoints as either.

Given that this intrasubject registration, you should choose the “generic rigid” to register them.

Thank you so much for your comments.
Please could you explain in further details the following:

  1. when I imported the two DICOMs (T1 and T2) and did a rigid registration with Elastix extension: A. What should I save to be used for the segmentation step?:

You mentioned in the 3rd step to proceed with segmentation: do you mean that I need to segment the ROI (zygoma bone here)? how could this be done?
finally: you advised me to do modelling: you mean after doing the segmentation of ROI, I need to convert this segmented part to model? and how drive the statistics (do you mean to do the same steps mentioned in my first post: Pick’n paint, model to model distance and mesh statistics?)
If you could send me your e.mail for quicker communication would be so help full.
Thank you so much for your help and waiting to hearing from you soon.

If the rigid registration is successful, the output Volume (Volume) should be now in the same space as the T1 Oriented CT. So you should use those two to segment.

In your original post you mentioned you created surfaces, that’s what I meant by segmentation. That’s how you generate a surface model from a voxel data, via the Segmentation.

That depends on what you wanted to do. If you want to visualize the displacement in the skulls prior and after the surgery, yes model to model distance is an efficient way to achieve that.

We try to keep the communications public on the forum, so that others benefit from these discussions as well.

1 Like

Thank you so much for you informative replies.

So, when I finished doing RIGID REGISTRATION I need to save Volume as seen in the attached screenshot ( in which format should be saved?)

After saving the required output, the next step to do segmentation for both Oriented T1 and saved output volume: should be done for each one separately or can be done for both of them?

in which format should I save the segmentation to be modelled in the next step? I can not see here .stl format.

After saving the proper format afte segmentation, what is the next step tp create a model for Oriented T1 and output volume?

Thank you so much for your help.

Use NRRD, which is the default format in Slicer.

You need to clean the thin shell around the skull. If you are not familiar with segmentation in Slicer, you probably need to read this documentation first:
and this

You need to do this both for your new volume and T1

seg.nrrd is the default format for segmentation

You can go to the Segmentations module and export your segmentation as a 3D model with a single click (Import/Export tab).

1 Like