Slicer / SlicerLungCTAnalyzer

This is a 3D Slicer extension for segmentation and spatial reconstruction of infiltrated, collapsed, and emphysematous areas in lung CT.
Apache License 2.0
71 stars 22 forks source link
3d-slicer-extension covid covid-19 covid-volumetry ct-volumetry lung-ct lung-disease lung-lobes lung-segmentation medical-imaging

Lung CT Analyzer

Lung CT Analyzer is a 3D Slicer extension for lung, lobe and airway segmentation as well as spatial reconstruction of infiltrated, emphysematic and collapsed lung.

Introduction
In lung CT, the extent of pulmonary infiltration, ground glass opacity, consolitation and emphysema are usually analyzed visually. Abnormalities can not be quantified in numbers or milliliters making it difficult to objectively compare results. In the current COVID-19 pandemia high case loads of patients with severe lung infiltrations accumulate and 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 and was chosen as development platform. Slicers inbuild Python was used as script language.

Video Lung CT Segmenter

Video Lung CT Analyzer

Installation manual

Instruction manual


Details
Lung segmentation can be archieved by either placing a few markups on the lung or by using a deep learning lung and lobe segmentation algorithm (see below). A sensitive and manually assisted growcut airway segmentation is supported. The Lung Analyzer uses thresholding and grow from seeds to identify five regions of interest: "Bulla/emphysema","Inflated","Infiltrated", "Collapsed" and "Lung Vessel". The volume of each segment is calculated by "Segment statistics". The results are then superimposed to 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)

Vessel volume is subtracted from lung volumes, intrapulmonary airways are not subtracted.

LCTA has been developed and tested with 3D Slicer 5. The latest stable release is recommended.

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

Limitations
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

(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).


Deep learning lung and lobe segmentation is realized by implementation of 'Lungmask' AI models and algorithms (https://github.com/JoHof/lungmask) with permission.
Thank you Johannes Hofmanninger.

Screenshots:

alt text

Graphical user interface

alt text

CT Lung Analyzer with COVID-19 result table
Image data: COVID-19 patient under surveillance, 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/Slicer/SlicerLungCTAnalyzer/)"

If you use the lungmask U-net function from this software in your research, please cite:
Hofmanninger, J., Prayer, F., Pan, J. et al. Automatic lung segmentation in routine imaging is primarily a data diversity problem, not a methodology problem. Eur Radiol Exp 4, 50 (2020). https://doi.org/10.1186/s41747-020-00173-2

If you use the TotalSegmentator nn-Unet function from this software in your research, please cite:
Wasserthal J., Meyer M., , Hanns-Christian Breit H.C., Cyriac J., Shan Y., Segeroth, M.: TotalSegmentator: robust segmentation of 104 anatomical structures in CT images. https://arxiv.org/abs/2208.05868

This project is in active development and not FDA approved.

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