Human airway model

Hello everyone,

I am a new member of our community and have a question that I would like to discuss with you.
Does anyone try to build the entire human airway (upper and lower airway) from bronchi to nasal/oral cavity and export as one STL file? I tried using lung CT segmented extension. The lower airway looks very good, but the upper airway. I have a problem with my upper airway that there is leaking area in CT images that made up an issue (please find in picture below). Anyone has done this type of things, please give me suggestion how can I build up the entire human airway?

I am more than happy to listen to you all!
Thank you very much in advance!

For the upper airway, I would recommend that you familiarize yourself with the tools in the Segment Editor module. You should be able to get to what you want with a simple sequence of steps. For example, Threshold to find all air (something like <-250 HU should work), then Islands → Keep selected island and click in trachea. If the upper airway remains connected to the external air (which is likely), break the connections using the Scissors tool or via Paint or Erase, then keep selected island again.

1 Like

Thank you very much! I am curious if you ever try to export file from Slicer and then import to and CAD software. So far, I see Slicer is just able to convert file into meshing file (STL etc.) but CAD. I would like to edit the file a little bit in Solidworks.

1 Like

I don’t use any CAD software, and I believe it is quite challenging to go from arbitrary meshes back to mathematical primitives used in CAD. If you search this forum for “CAD”, there are many hits and you may be able to find more information there.

1 Like

Hi Mike,

So have you ever edited the 3d model generated from Slicer 3D? how can you do that? For instance, I want to remove certain areas, but the scissors will remove the entire part vertically, so if I remove something on top of other things, it will remove both top and bottom things.

Yes, I frequently edit segmentations using a variety of Segment Editor tools. Then if I need a surface model I export it from the edited segment.
Specifically with the scissors tool, you have a lot of flexibility in how it works:
image

For example, you could limit the range around the edited slice by selecting the “Symmetric” option and entering the range in which you want edits to occur. If that doesn’t offer fine enough control, you can use the “Erase” tool to work down to the level of single voxels (or circular or spherical regions of customized size). Familiarizing yourself with all the segment editor tools will generally help you find the most efficient ways to get to your final desired segmentation.

Hi Mike,

I am back. After trying, I still find hard to segment the upper airways. Have you ever done upper airway? Could you please share your workflow?

Thank you very much!

Yes, I’ve mostly done upper airway segmentations. As for any segmentation task, the best way to approach it depends on exactly what you want to get out of the final segmentation. However, my usual approach would be as I outlined above:

  • Threshold to create a segment of all the air in the scan (say < -250 HU)
  • Use Islands tool to keep selected island, clicking somewhere in the upper airway airspace (this will typically eliminate enclosed air spaces in the skull from the segmentation, but not the external air, which is usually connected via at least the nostrils and often the mouth as well)
  • If the space near the nostrils and mouth opening are not important regions to include in the segmentation, then I use the Erase tool with a spherical brush of large size to erase the region including the mouth opening and nostril openings. Then, I use keep selected island again to keep only the island with the airway. If the external air remains at this step, then it must have residual connection somewhere; locate that area and erase it.
  • If the space near the nostrils and mouth opening are important to include in the segmentation, then you need to be more careful in the erasing step. I might pick a coronal plane at the mouth opening and erase there, using a non-spherical (planar) brush, and similarly for an axial plane at the nasal opening.
  • If that’s not good enough, then you would just need to be carefully drawing the boundaries there anyway, so you might as well be painting that area from scratch. If you were to take that approach, you could paint in the boundary region you want as a separate segment, and then subtract it from the air segment (using Logical operators), keep the island you want, and add back in the boundary region (again using Logical operators).

You can also edit regions using the Scissors tool, as mentioned above. I mostly use Scissors looking at the 3D view, and angle the view so that I can lasso the region I want to remove without stuff I don’t want to remove in front or behind it.

Hi Mike,
Thank you very much. I am working on it. Ultimately, I would like to reconstruct a 3D model of human airway (upper and lower one) and simulate in CFD model for airflow simulation. For lower airway, I do not have much trouble but upper one.

Following your suggestion:
Step 1: I used Segment editor module, I select threshold, range: -1024 to -250. Then click apply, but there is nothing happen. Did I do something wrong?


That should work… When you click Apply, the areas which are flashing green should become the segment. Perhaps you have something odd in your masking settings? Scroll down below the apply button and make sure it looks something like this:

image

If you had an editable intensity range which didn’t overlap the threshold range or if the editable area was “Inside all segments”, for example, then the newly created segment would be empty (because there would be no overlap between the threshold region and the editable mask).

Hi Mike,

I think it is just a glitch. Now it works fine. One more thing, I see scissors can trim unnecessary parts. How about when we want to add more part, for instance: attached pics.As you see there is a black space in lower airway, it should be selected. Now, I used level tracer, and thought it would help. But then, it is just for one slice but cannot convert it into 3D.

There are again lots of possible ways. Easiest in this case might be to paint with a spherical brush and intensity masking settings. To extend the existing segment, I would select it, choose the Paint tool, select Sphere brush, and adjust the diameter until it is slightly larger than the diameter of the airway region you are trying to fill in. Then, in the “Masking” settings, I would check the “Editable intensity range” checkbox and make -1024 to -250 editable. (This will prevent the non-air tissue from being included even if you paint over it). Then I would center the slice views on the region you want to fill in, and paint it in on whatever view the best aligns with the center of the tube. If your paintbrush is too big and includes some adjacent lung or external air, you can remove that with scissors or with keep selected island as before. If your paintbrush is too small and misses some of the desired airway, either increase the size of the paintbrush or do another pass filling in the missed areas with a smaller brush size

Hi Mike,

Thank you for your advice. I got this. Your method works very well with upper airway. But I tried it with lower airway, and always leaks somewhere (I guess from Bronchiole). Do you have any comments on this?

image

What do you want it to look like? For me, the easiest approach from your final picture would usually be to carefully use the scissors tool in the 3D view and just cut away until all that remained was what I wanted. Depending on how much of the bronchial structure you want, that may be very challenging or fairly easy to accomplish.