Morphometrics of lung bronchi with holes


I am interested in using geometric morphometrics through the SlicerMorph to analyze shape differences in varanid lizard lungs. The lungs are complex but the main intrapulmonary airways are at the heart of the diversity of the structures and share some similarities. Attached here is a screenshot of an STL of these structures. I’ve done some geometric morphometrics on bones before, but how should I approach this strucuture? The size, shape, and position of the holes in the long tube is important and I’d like to capture the variation in these as they lead to secondary bronchi that carry unique airflow patterns. Would it be best to try and fill the holes and then measure the resulting filled flat surfaces that are where the holes used to be, or try and arrange the landmarks around the holes but not in them?

Thanks for your suggestions!


This kind of data representation of the bronchial tree is highly unusual and very limited. I would recommend to segment the bronchial tree using “Segment Editor” module then extract centerline model using SlicerVMTK extension’s “Centerline computation” module. It creates a centerline tree, which you can interrogate by a bit of Python scripting (get statistics on number and positions of branching points, radius values, etc).

This type of structure is going to be quite difficult to analyze with landmark based geometric methods. As @lassoan indicated, one option is to see if there are metrics you can get out of VMTK that might be useful for your particular question. I have not done that type of analysis, but I assume will need to extract a more complete bronchial tree with the secondary branches attached to it (as oppose to pruned).

I was going to suggest you can turn it into a solid model (or a segmentation), and use something like SlicerSALT or Shapeworks to look at shape variability, but you seem to be interested in the position and distribution of the secondary structures, so I don’t think that will work…

Thanks for these suggestions - I am going to try and give VMTK a go. Will it be able to handle a non-bifurcating tree? Here is a screenshot of a more complete segmentation of the lung structure - obviously this is negative space that has been segmented. Would this sort of structure work better for morphometrics? Is it possible to put landmarks on the inside of a surface file? that would probably allow for reasonable capture of the bronchial tree structure.

VMTK (and all tree segmentation methods) require a tree.

How did you create this trimmed model? Normally you would segment the bronchial tree on the volumetric image and compute metrics from that.

If you have hundreds of trimmed models like this already then you can write a script that processes them as they are: there are VTK filters for getting boundary edges and the rest of the processing should be fairly straightforward. Otherwise, I would start all processing with manual/semi-automatic 3D segmentation and automatically compute everything else from this segmentation.

Both the trimmed models I’ve shown are generated from a segmentation of an image stack volume (CT scan). I’d like to try and make comparisons betwen 7 species (not hundreds of trees!). I’ll work to compute from the segmentations. Segmentation was done in Avizo but I can export to Slicer or re-segment.

That segmentation looks like a lot of work. I am not sure what formats Avizo export but if it does NRRD or Nifti (nii), you should be able to import your volume and your segmentation to continue working in Slicer.

I guess I am not sure why these bronchii doesn’t look like a tree. I am not sure about this species, but doesn’t supposed to look like something more or less like this?

The bronchi of reptiles and birds don’t look at all like mammals which is why they are interesting - the air doesn’t take a tidal path through the lung. In mammals, the air goes down the bronchi to alveoli and takes the same path out. In these animals, the air takes a different path in and out of the lung and some sections of the lung contain unidirectional flow. See our work here.

We are studying how the airflow patterns work and are generated and that’s one of the reasons I’d like to compare the bronchi. I’ll try importing the segmentation as a Nifti - I think Avizo has that option.


This is not related to your problem but for a segmentation problem I wanted to look at Avizo but i don’t have access to it. It seems that you are familiar with Avizo.

Can I please know your experience with Avizo in segmentation?

Does it do a better job in segmenting complex structures than 3D Slicer and ITK-SNAP ?
in terms of accuracy and ease of use ?

@bobcieri got it. If all your seven species have corresponding structures (i.e., the label structures exists in all your samples), you might be able to analyze shape of those secondary structures independently with geometric methods (probably with SlicerSALT), but I am not sure what that might tell you about the general variability of the whole airway across species.

@manjula most of the tools found in biomedical visualization software are general purpose image tools. I haven’t used Avizo for a while now, but I don’t recall seeing anything very different than the tools available in Slicer. If you need a very specific tool in Slicer that gives you exactly what you want, you may want to talk to some independent developers that might be following the forum. You might be surprised that a custom implementation of a tool (or a workflow) you miss in Slicer may only cost a license or two of Avizo (or other commercial tools), and if you choose to share it then everybody benefits from it. Just a thought.

I had a chance to try Mimics InPrint, a commercial medical image segmentation software a month ago. It was quite shocking that it was at least as complicated as Slicer, yet it had so much less features and many limitations compared to Slicer.

I hear people have similar experience with Avizo (not much easier to use and very limited compared to Slicer) but it would be interesting to get more information. Also, if there is any segmentation feature in any other software that you miss in Slicer then let us know. It may be easy to add it (or it may already exist just not easy to find).

1 Like

@muratmaga @lassoan

Thank you for sharing your experiences and very much appreciate it. The commercial software I have used for medical imaging are Geomagic and materialize. I think 3D slicer is much more versatile and powerful than the both. However i have no experience with segmentation with commercial software. i have used only 3DSlicer and ITK-SNAP.

If you did see the link i shared on the other post from the ITK-SNAP, is there a way to interactively visualize the seeds growing and stop it when we want to in 3D Slicer like the one i have recorded ? because it would be very good to have that control when to stop the growth.

Great ideas - I only used Avizo beacuse I had institutional access to the software and the folks that trained me in CFD used it to generate their surfaces. I am activly trying (and mostly succeeding!) in moving totally to open source tools. If I had the money to buy an Avizo license I would certainly rather push it towards developing open source tools.

As far as Avizo, I don’t think it does segmentation better than Slicer, but it may allow the user to handle larger datasets on smaller machines because it doesn’t require the entire dataset to be loaded into RAM. In addition, a few years ago I found its surface smoothing algorithms superior to Slicer but I doubt this is true any longer.

1 Like

Also, thanks for your advice regarding the corresponding structures. All of the species will have a central intrapulmonary bronchus with secondary bronchi radiating off in similar directions but they will vary in terms of relative thickness/volume and branching angle. I was hoping to compare these shapes rigorously but it may be best to simply statistically compare traditional morphometric measurements in each species. I will give the SlicerSALT a try.

Yes, when you are in exploration and discovery phase starting basic morphometrics is probably the best way to go. Some of the automated shape analyses require massaging the data quite a bit (in terms of preprocessing), sometimes it doesn’t pay off (in terms of time investment) unless you have very large datasets…

Let us know if you cannot get your data into Slicer from Avizo. We distribute @lassoan tool RawImageGuess with SlicerMorph, which may help with some of the issues.