Flattening Curved Patch using the Baffle Planner Module


I have been using the Baffle Planner module for cranial flaps and it works wonders!
I want to expand its usage to create curved bone flaps that can be harvested from a thick part of the skull and used to form a missing structure. For instance, a nose bridge.

I have been trying to use the “Flatten Baffle” section of the module to match the curvature of a region of the skull that I believe would be good for harvesting, but I do not understand how to use the “Fixed points” fiducial markets to achieve this. The video showing the module does not cover this section.

Is this flattening tool even the right approach? Is it better to do a model registration and allow for deformation?

Thank you!

Flattening feature creates a flat shape corresponding to the curved shape with minimal distortion, originally developed for creating cutting template for fabric (see this journal paper for details). This should be applicable to other flat sheet of material, such as your case - tissue harvesting from relatively flat regions of the skull.

Fixed points are the landmark points that you will use to match points of the flattened model and the baffle model (so that you know how to align flattened model on the baffle model). They should be points that you can identify on the anatomy and distributed somewhat evenly. I added arrows to indicate potentially good candidate points (you need to choose minimum 2, and it is probably better not to choose more than 4).


Let us know how it works out for you.


Thank you! The end result is a PNG that I can use for cutting a patch.

Nice! Note the tiny red dots, they are the landmark points that you can use for alignment. It seems that the labels are hidden, we should probably fix that, but as a a workaround you can change the default markups display options to show point labels.


This may not be a huge deal but I just realized that the flattened model is on the workspace, just very very very far away from the model. This is why I did not know if the module was working! I essentially just saved the PNG before, did not realize that the surface model was visible.

Thanks for the feedback. The model is in a completely different coordinate system. It is just used during the PNG saving and not for anything else. Maybe we should just delete the model after the PNG export to not confuse anyone with it.


I actually think the model is beneficial!
I can see myself overlaying the model over a thick area of the skull, given some thickness mapping, as part of a planning session.

OK. I’ve just updated the module documentation to make things a bit more clear.

Note that you can use “Fiducial registration wizard” module in SlicerIGT extension to fit the flattened surface to the skull:

  • Choose “From fiducials” → “Model flattened fixed points”
  • Create a new set of fiducials for “To fiducials” and place the fixed points on the skull where you want to harvest tissue from.
  • Choose “Create new linear transform” for registration result.
  • Apply the computed transform to the flattened “Model” node. This will move the flat surface patch to the target location.


I followed through with these steps and this is the result.

  1. I had to translate the flattened mesh from Z=0 to a similar height as the thickness map
  2. Then used the fiducial registration wizard to contour the flattened model to a target area on the surface of the thickness map
  3. I allowed the model to warp to match the contour as much as possible
  4. I added more points to lift the infinitesimal surface our of the surface of the thickness map (too many points throws the entire thing off!)

Any suggestions on how to improve this registration? My guess is that the flattened model should be made thicker!

Creating a thick 3D model (e.g., for 3D printing) and creating a 2D cutting template (e.g., for cutting a shape from surgical fabric) are two completely different workflows. If you flatten the thick 3D model then it will flatten its entire surface area (edge and both sides), so it will not be useful.

Displaying the disk over the skull without registration, just to approximately see how much bone you need make sense. However, trying to warp the flattened disk to the bone does not sound like a valid approach to me. What would this deformable warping simulate?

Instead, if you want to create a realistic bone reconstruction plan then I would recommend to simulate the surgical procedure. For example, if you cut the bone with a straight saw then you can simulate that by placing a cutting plane, then use that plane to cut a piece from the skull, then cut it into two then move these pieces to the target location to verify that they look good. You can complete this workflow manually to test the concept (using Segment Editor and/or Dynamic modeler module) or automate it, similarly to the fibula flap bone reconstruction planner module:

You may also consider getting a virtual reality headset, because it allows you to take bone fragments and position them as you would to it in real world (but more easily, because there is no gravity, so when you release a piece then it just stays there; you can zoom in the space as much as you want, so you can manipulate things very accurately; and you save time and money, because you don’t need to 3D print anything).

1 Like

You are right, this is not the right approach. I will look into the mandibular reconstruction video and module to recreate the procedure, then warp the harvested piece and evaluate.

This would be really useful for procedures like craniosynostosis. I thick I can find a VR headset somewhere, thanks for the advice!

If you are interested in craniosynostosis then you might find these prior work useful:

1 Like