Skip to content

This is a 3D Slicer extension for segmentation and spatial reconstruction of infiltrated, collapsed, and emphysematous areas in chest CT examinations.

License

Notifications You must be signed in to change notification settings

saibie/SlicerLungCTAnalyzer

 
 

Repository files navigation

Lung CT Analyzer

Lung CT Analyzer is a 3D Slicer extension for segmentation and spatial reconstruction of infiltrated, emphysematic and collapsed lung areas in CT scans.

Introduction
The extent of pulmonary infiltrations as well as the presence of areas like emphysema or bullae are usually analyzed visually in CT scans. Abnormalities can not be quantified in numbers or milliliters and thus it is difficult to objectively compare results.
This especially crucial in the light of the current COVID-19 pandemia with high case loads of patients with severe lung infiltrations, who need meticulous follow up over time.
The aim of this project (Lung CT Analyzer, LCTA) was to develop a software program that enables three-dimensional segmentation of lung CT data and calculate individual volumes of pulmonary infiltrates and emphysema. 3D Slicer (1) is an established and freely available 3D imaging platform for scientific use. Therefore, 3D Slicer was chosen as development platform and the inbuild Python as script language.

Video (Lung CT Segmenter): https://youtu.be/U9PUX-jLF0A

Video (Lung CT Analyzer): https://youtu.be/JcgMnDhlknM


Installation Tutorial
https://github.com/rbumm/SlicerLungCTAnalyzer/wiki

Operation Tutorial
https://github.com/rbumm/SlicerLungCTAnalyzer/wiki

Questions ?
The best way to ask questions is using the Slicer forum (https://discourse.slicer.org/), go "Support", create a topic, mention "@rbumm" or add the "lungctanalyzer" keyword. I recommend to do both.

Details
The software uses freely definable threshold ranges to identify five regions of interest: "Bulla/emphysema","Inflated","Infiltrated", "Collapsed" and "Lung Vessel". Segments are generated using 3DSlicer's segment editor "Threshold" and "Grow from Seeds" function. The volume of each segment is calculated by using 3DSlicer's "Segment statistics" function. The results are then superimposed to the CT 2D views in standard colors: "Bulla" = black, "Inflated" = blue, "Infiltrated" = yellow, "Collapsed" = pink and "Vessel" = red. In addition, spatial reconstruction (3D) of the diseased lung segments is available. The total results of the segmentation include:

Total lung volume (100%)
Right lung volume (% of total lung volume)
Left lung volume (% of total lung volume)
Functional right lung volume (inflated, % of right lung volume)
Functional left lung volume (inflated, % of left lung volume)
Functional total lung volume (inflated, % of total lung volume)
Affected right lung volume (infiltrated + collapsed right volume, % of right lung volume)
Affected left lung volume (infiltrated + collapsed left volume, % of left lung volume)
Affected total lung volume (infiltrated + collapsed total volume, % of total lung volume)
CovidQ (COVID-19 quotient: total affected lung volume [ml] / functional lung volume [ml])

Vessel volume is subtracted from right lung volume, left lung volume and total lung volume to compensate for this anatomic compartment. Intrapulmonary airways are not yet measured by LCTA and are not compensated for in the results.

First Results
If used with sensible thresholds, LCTA is feasible, easy to use and reproducible. Spacial reconstruction of the segments yield impressive visual results. Production of lung masks in the "Lung Segmenter" is done in about 2 minutes after defining a few fiducials on the right and left lung and one additional on the tracea. Running LCTA itself only takes 5-6 seconds, running LCTA with 3D reconstruction takes about 1-2 minutes. LCTA has been developed and tested with 3D Slicer V 4.11.200930.

Limitations
Lung volumes represent areas within the lung masks only. This induces a marginal volume error. Lung vessels have a thin infiltration-like parenchyma cover around them. This induces a small volume error.
CovidQ has not been clinically evaluated yet. Do not base treatment decisions on that value.
3D Slicer is not FDA approved. It is the users responsibility to ensure compliance with applicable rules and regulations. See also: https://www.slicer.org/wiki/CommercialUse

Version history
V 1.0

  • Initial version
V 1.1
  • right and left lung mask drop down segment selectors added
  • processing routine checks existence and name of 'Right lung mask' and 'Left lung mask'
V 2.0
  • code made efficient and modular - thanks Andras Lasso (PERK)
  • real-time volume rendering
  • immediate updated of the color categorization, both in 2D and 3D (using colormaps and volume rendering)
  • better GUI
V 2.1
(1) https://www.slicer.org/

Ideas and realization: Rudolf Bumm (KSGR) and Andras Lasso (PERK)

The code presented here is distributed under the Apache license (https://www.apache.org/licenses/LICENSE-2.0).

Screenshots:

alt text

Graphical user interface

alt text

CT Lung Analyzer with COVID-19 result table
Image reference: from COVID-19 patient under surveillance, published with patient's permission.


Citations

For publications please include this text (modifying the initial part to describe your use case):
"We performed a volumetric analysis and/or visualization in 3D Slicer (http://www.slicer.org) via the Lung CT Analyzer project (https://github.com/rbumm/SlicerLungCTAnalyzer/)"


Impressum: Prof. Rudolf Bumm, Department of Surgery, Kantonsspital Graubünden (KSGR), Loestrasse 170, Chur, Switzerland

About

This is a 3D Slicer extension for segmentation and spatial reconstruction of infiltrated, collapsed, and emphysematous areas in chest CT examinations.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 98.4%
  • CMake 1.6%