Virtual septoplasty in 3D slicer

i am going to make 3D model of nasal airway with 3D slicer ,but from a data of nasal septum deviation i want to make a corrected nasal airway by virtual septoplasty , how i can do that in 3D slicer ?

That might be hard because the septal deviation is only part of the asymmetry.

You may be able to erase the septum through segmenting it and masking the volume with air intensity. Then you create a new septum (again through segmentation + mask volume). But you will probably face difficulties in creating the new (straight) nasal septum because the turbinates and other structures might be in your way.

1 Like

You can use landmark-based warping to simulate soft-tissue deformations using Fiducial Registration Wizard. You can specify non-deforming regions and points that are displaced and the module computes a smooth displacement field. See step-by-step instructions in this video:


That is amazing. Thanks!
Will try on my dataset.

1 Like

Thank you very much, I will try this method

is it possible to reduce septal thickness?

Yes, you can do that by placing two series of points along the septum (on both sides). If you move those points closer to each other then the septal thickness will be reduced.

Thanks a lot for your answer .

is there any method where i can compare with the dimension of healthy septum and will reduce thickness whenever there is a deviation from healthy one? can i do it simultaneosly in 3d slicer?

You can use markups module’s line tool or specialized extensions (such as BoneThicknessMapping) or custom scripts to measure bone thickness. If you know what is the healthy thickness value then you can use that to compute how much closer you need to move the control points to each other.

In line tool how can i ensure that whatever line i am drawing is a perfect horizontal line?

There is no such constraint during point placement, but after you have placed the line endpoints you can go to Markups module / Control points and copy-paste the coordinate values to force points to be on the same slice or line. If you need this frequently then you can automate this using a few lines of Python code.

Hello , Is there any method where I can export STL file from 3D slicer and process it in other software and again import to 3D slicer?

Yes, you can save and load STL files in Slicer. Slicer has also a number of segment and surface editing tools. What editing operations would you like to do in the external software?

Filling some holes , separating the regions for giving inlet ,outlet boundary conditions as As STL becomes a single file it is difficult to separate it

Filling some holes and maybe also adding inlet/outlet extensions are in Slicer’s scope. You may also generate the volumetric mesh from the segments in Slicer (using SegmentMesher extension).

Then, you use your the FEM modeler’s preprocessing software to specify boundary conditions, loads, material properties, and run the simulation.

You can then load the simulation results (meshes with computed displacements, stresses, etc.) in Slicer for visualization.

How can I give in let outlet in slicer ?If any such tutorials are there please tell.


Do you mean how to add inlet and outlet extensions? You can use “Draw Tube” effect in Segment Editor for this (provided by SegmentEditorExtraEffects extension).

When I am using draw tube effect, my original segment is being erased , how to handle it?

You can add flow extensions as separate segments and when everything looks good then you can combine segments using “Logical operators” effect.

Thank you for your reply , But again I have to make that tube hollow? For air flow simulation?